++++++++++++++++++++++++++++*****+*+*iii**;,.::,:::;#zz+i**+z++i;::::,,:;,`,,:;:::..
++++++++++++++++++++++++++********+iii#nnni.,:;;;:*zzz#**ii**#**i:::::,,:;,,:,::,:..
############++++++++++++++*******+i;i#nxxxxz*.i;;*##z#**iiiiii+**::::,,;;i;;:::::...
##++############+++++++++********;i***+znxnzzz+++##z+*iii;i;;ii+*;,,:::;;i:;;:::,.`;
zzzz##++#######+++++++++**iii**i;ii*****++##########+*iii;;;::ii*i::;::::;`;;;::,,+z
#zzzzzzz##+#####+++++++**iiii*i;iii********+++++######*ii;:::;;iii;;;,:.,..,;;::*nzz
*nzzzznnnxz#++##++++++**iiiiii;i**************+++######*;;;:::;iii;;:,,.`:::::iznnzz
+zznnnnzznzznz##++++++**i;iii;i****i****i;;ii**+*+##zzz#+;;,:,:ii*i;::,,,`::;#nznnzz
+#zznnnznnnnzzzzz##+++*iiiii;i***iii**ii;;iiiii*+*++zzzzz+;;*:,;iiii::.`,.;*znnnnz#+
i+zzznnn#xxznnzzzzzz#+*i;;i;;*****i***iiii*i****i*+++zzzzz+**i;;+ii*,,.:.;#nnnnnz#++
+###zznnznnznnnnnnzzzz*;ii;;i*********iiiiiii***++++++zzzzn+*+;i#*ii,.,,*nnnnnn#+++*
+##+#znnxxxnnnzznnzzz#ii;i;*+*********ii;;;;ii***+#++++z#znz#+:;#*ii.,:znnnnnz#++++*
xnz##znxxxnzzzz#znzzz*i;;;;+##+*i+*****i;;::;;ii*++##++#z#znzz*;+#*i:*nnnnnn##+++***
WMWWMxxxxxx+#z#zznzzzii;;;,i#zz#+*+****ii;:::::;;*++##+*##+znzzi*zi*znnxnnz##+++****
WWWWWWWWMxxnzzn#z#nz#ii;;:.;zz##*#+*****i;;:::::,;i*+##++#++nnnn*z+*nxnnz###+++*****
MMMWWWWWMMWWxnnzxnn#+ii;;:+;#####:++*+**ii;;:,,:::,;i*+#++#*+nnnn#**nxnz###+++*****i
MMWWWWWWMWWWWWMMxxzz+iiii*#:#####:#++***;i;;;,,,:,:;:;**++++*zxxnz**nzz###+++***iiii
MMMMMMMWWWWWWWWWMMMM**i;*;;i*z###;#+***iii;;::,,,.,,,.,i*+++**nxxn*+z####+++****iiii
MMMMxMMMMMMMWWWWMMWx**i;+ii;*#+##*++***i;ii;;;;;;;:....,:i*+**#xxx#+####++++****iiii
MMMMMMMMMMMMMMMWWWWx+*iiMMMxz#++##++*iiii***+*+++++*;,...,i**+*zxxxzz###+++****iii**
MMMMMMMMMMMMMMMMMMMn+*i+MMMMMMMxz#+**iii*++++++####+*i:..,:i***+nMxxz###++******ii**
MMMMMMMMMMMMMMMMMMxn++i#MMMMMxMxxz+*i;i++############+*:...:i***#xxxx##++*+*****ii**
MMMMMMMMMMMMMMMMMxMn#+izMMMMMxxz#++i;i*+######zz#####++*:.,,:i**+znnnn#+++**++******
MWWMMMMMMMMMxMMMMMMn#+;xxMMxxz###+*i;*++##zzzzzzzzz#####*,.,,:i**+znnx##i+++++*iiiii
MMMMMMMxxxxxMMMMMMMn#+;xxMxx####++i;;++##zzzzzzzzzzz#####*,,,,;**+#znnn++++#++;.,iii
MMMMMMMxxxxxxxxxxMMn#+;xxMxz####+*;;*###zzznnnnnnnnzzz#+++*:,,:i++#znnx###+++i;..,i;
xMMxxxxxxxxxxxxxxxxn#+;xxxz####+**:*++##zzznnnnxnnnnnz#i,.:;,,,:++znznxz###++*i,..;i
xxxxxxxxnnnnxxxxxxxn#+;xxn#####*+;i*++##zznnnnxxxxxnn#i::i;:,:,:;##nnxxz###++i,..`,i
xxMMMxxxnnnnnnnnnnxx##izxz#####+*:**####zzznnnxxxxxxnz+*****:,,::i+zxnnz###++i.,..;i
MMW@MMxxxxxxnnnnnnzzz#iin######+i;*++##z#+*i*+znxxxxnzz*,..:i:,,::*#nnxz####*;::i*+*
MW@@Wnxxxxxxnnnnnnnnn#i;z+##z##+;;*+###*;;;i*+#znxxxxz#.   .,:,,::;+znxzz###+*:,;+i+
WWWWWnnnnnnnnnnxxzznnz+;++##z##+:i*##+i*+##++##zznxxxn*.`.` `:,:::i*#zxnzz###i;:;++*
WWWWWxnzznznxxxMxnzMMz#;*##zz#z*,i+++;+#+i;;**###znxxni.,,#.`:::,;i+#znxzzz#+*i,:z++
@WWWWMnnnnnnxxxMMxnW@z#i+#+#zz#+,*++**+i:```.;*+##znxn*,i*n+.;i;:i*+#znxzzz##+*i*zxM
@@WWWMxnxnxxxxMW@WxMWn#+++#zzz#+:**+**i,``..,,*++##znn*+##++*i*;;ii+znnxnzz###+zxMMW
@@@WWMMxxxxxMMMW@@MWWxz##++#zz##;**+**:`.;,::.;+####znxnznznz#z;;ii*zxxxxzzznxMMWMWM
@W@WWMMxxxxMMMMWWWW@@xzzz#+zzz##***++;.`;*#*#i:+####zznnnnxxxxn+;i**zxxxxnxMMMMMWMWW
WWWWWWWxxxMMWWMMWWMWWMnzz#+#zzz+#;*+*;..i+z*+########znxxxxxxxxx;***zxxxMMWWWWWWMWWW
WWW@WWWMMMMMW@WMMMxMMMnzz###zzn#z*i++i,,:;*####z#####znxxxMMMMxxz*++zxxxMWWWWWWWWWWM
WW@WW@WMMMMMW@WMMxxxMMxnzz##zzzz#+*++*,:;*##z##z######znnxxMMMMxx###zxxxMWMWWWWWWWMW
W@@@@@WWMMMMWWWWMMxxxxxnz###znzz#z*+++**++#zzzzzz###+#+zznMMMMMMxz+#zxxxMWWWWWWWMWWW
WW@WW@WWMMMMMWWWMMMxxxxnz####znnz##+######zzzzzzz##++,;#izMMMMMMxz#znxxxMWWWWWWWWWMM
WWWWWWWWMMMWWWWWWWWMxxxnzz###znzn#z+###zzzzznnzzz##+::+z#zxxMMMMxn#zxxnxMWWWWWWWMMMM
WWWWWWWWMMWW@WMMMWMxMxxxzz+###nznzz####zzznnnnnzz#++*+##xzxxMMMMxznxxxnxMWWWWWWWWMMM
WWMWWWWWWWWWWWWMMMMMMxxxnz####znnzzz##zzzznnnnnnzz+*+#znMxxMMMMMxzxnnnnxMWWWWWW@WWWM
WWMWWWWWWMMMMMMMMMMMMxxxnzz###znzxzn+###zzznnnnnnz#++#zxxMMxMMMMnnxnnznxMWWWWW@@@@@W
WWMWWWWWWMMMMxMMMMWWMxxxxnz####nznnz####zzzznnnnnnz###zxnxMMMMMxnnnnnznxMWMWW@@@@@@W
WWMWWWWWWMMMMMMMMMWWMxxxxnz#####zzxzz*###zzzznnnnnzz####zzxMMMMxxznnznnxMMMW@@#@@@@@
WWMWWWW@@MMMMMMMWMMMMxxMMxzz####z#nzz+++###zzzzznzzz##++##zxxxxxn+xxnnnxMWWW@@@#@@@@
WWMWWWW@@WMMMMMMWMMMxxxMMMnz######zn##++####zzzzzzz#+#*ii;*zMMMxn**nnnnxMMWW@@@@@@@@
W@WWWWWW@WMMMMMW@WMMxxxMMMxzzz###+#z##+++####zzzzz###+*:,`,*xMMxn**#nnnxMMWW@@@@@@@@
W@WWWWWWWWWWMMMWWMMMxxxxMxMnzzz##++#z#++++#####zz####*```.`;zxMxnn#znnnxWWW@@@@@@@W@
W@WWWWWW@@WWMMMMMMMMxxnxMMxxxnzz#+++#z#+++#####z####+:,;*zn*+xxxxMMMxxnxWWW@@@@@@@@@
WWWWWWWW@@WWMMMMMMMMxxnxxMMMMnnzz##++###+++#########+:*+#znn+xxxxMMMxxnMMW@@@@@@@@@@
@WW@@WWW@@WWMMMMMMMMxxnxxMWMMxxnzz##+###+++#########*;*+#zznzMxxMMMMMxxMWW@@@@@@@@@@
@W@@@@WWW@WWMMMMMMMMxxnxxxMMMxxxxz###++#+++#########;;+#+#znnxxMMMMWWMMWW@@@@@@@@@@@
WW@@@WWWWWWMMMMMMMMMxxxxxxxMxxxxxzi+###++++#########*;*++#znxxxxMMWMWMWW@@@@@@@#@@@@
W@@@@@WWWWWMMWWWMMMMMxxxxxxxxxxxxn,:+++#++++########+ii+++znnxxxMMWMWWW@@@@@@@@@@@@@
@@@@@@@@@WWWMWWWMMMMMxMWMMMxxxxxxMx#xz#+++++########++i*++#znnxxMWWWWWW@@@@@@@@@@@@@
@@@@@@@@@WWWW@@WMMMMMMW@MMMxMxxxxxMx#Mn#+++++#######+#**++#zznxxMWWWWW@@@@W@@@@@@@@@
@W@@@@WW@@WWW@@WWMMMMMM@MMMMxMMxxxMMx#x#++++++######+#+*++##znxMMWWWMMW@@@WW@@@W@@@@
@W@@@@W@@@WWW@@@WMMMMMMWMxMMxMMxxxMMMx#z#++++++########+++##+zxxxMMMMMMWWWW@W@@@@@@@
@@@@@@@@@@WWW@@@WMMMMMMMMMMMxMMxxxxMMWx##++++++#+++++###+*+#+#xxxMxxMMMMMMMM@@@@@@@@
@@@@@W@@@@WWWWWWWMMMMMMWWMMMxMMxxxxMMWWx#++++++#++++++####+#+nxxxMMMMMMMMMMMMWW@@@@@
@@@@@@@@@WWWWWWWWMMMMxMW@MMMMMMMxxxMWWWWn+++++++++++++++##zznxxxMMMMMMMMMMMMMMMW@@@@
@@@@@@@@WWWWWWWWWMMMMMMMMMMMMMMMxxxMMWWx*+++++++++++++++##znnxxxMMMMMMMMMMMMMMMM@@@@
@@@@@@WWWWWWWWWWWMMMMMxxxMMMMMMMxxxMMWx++*++++++++++++++###znnxMMMMMMMMMMMMMMMMMW@@@
@@@@@WWWWWWWWWWMMMMMxxxxxMxMMMMMxxxMMn+****+++++++++++++##zznzMMMMMMMMMMMMMMMMMMM@@#
@@@@WWWWWWWWWWWMMMxxxxxxxxxxxxMMMxMxn+++***++++#++++++###znnxnxMMMMMMMxxMMMMMMMMMW@@
@@@@@WWWMMWWMMMMMMxxxxnnnnnnxxxMMMxz#+#+++**+#+++++#####zznnnnxMMMMMMMxxxxxMMMMMMW@@
@@@@@WWMMMMMMMMxxxxxxnnnzznnnnnnxx##+++++++*+#+++#####zzznnnnnxMMMMMMMxxxxxxxMMMMW@@
@@@@MxWMMMMMMMMxxxxxxnnzzzz#zzzzz####++++++**++#+##zzzzznnnnnnxMMMMMMMxxxxxxxxMMMW@@
@WWxMMMMMMMMMMxxxxxnnnnz####+#zz########++++i++####zzzzznnnnnznxxxxMxxxxxxxxxxMMMW@@
WMMWMMxMxMMWMxxxMxxnnzzz#++*+#zz###########++i#+###zzznnnnnnnzzxxxxxxxxxxxxxxxMMMW@@
WMMMMMMxMMMMMxxMxxxnnz##+**+zzzzzz###########*++##zznnnnnnnnnz#nxxxxxxxxxxxxxxMMMM@@
MMMxMMMMMMMMMMMMxxxnn#++*+##zzzzzzzzzzzzzzz###*###zznnnnnnnnn##nxxxxxxxxxxxxxxMMMMWW
MMMMMMMMxxMMMMMxnnnnz#+*+##zzzznzznnnnzzzzzzzz###z#znnnnnnnnn#+#xMxxxxxxxxxxxxMMMMW@
MMMMMMMMMMMMMMxxnxnn#++###zzznnnnnnnnnnnzzzznnzzzzznnnnnnnnnn+#+xxxxxxxxxxxxxxxMMMWW
MMMMMMMMMMMMxxxxxxz#+####zzzzznnnnnnnnnnnnnnnnnz#zznnnnnnnnnn++#nMxMxxxxxxnnxxxxxMWW
WMMMMMMMxxxxxMxxnn#+####zzzznnnnnnnnxxxxnnnnxnnzznznnnnnnnnn#+#+nxxMxxxxxxzzxxxxxMWW
WMMMMMMMxxxMxxxnzz#+####zzznnnnnxxxxxxxxxxxxxxxx+#nnnnnnnnnn+#*+nxxxMxxxxxznnxxxxMWW
WMMMMMMMxxxxxxnzz######zzzznnnnxxxxxxxxxxxxxxxxx##znnnnnnxnz++#+zxxxxxxxxx#znxxxxMWW
WMMMMMMMMxxxnnzz#######zzznnnnxxxxxxxxxxxxxxxxxx#+*#nnnnxnn++#*+zxxxxxxxxn#znxxxxMWM
WMMMMMMMxxnnnz#########zzznnnnxxxxxxxxxxxxxxxxxx#++#+znnnn#++#*nnnxxxxxxxn#znnxxxMWM
WMMMMMMxxxnzzzz########zzznnnnxxxxxxxxxxxxxxxxxxz#++**##zz+*#**znnxxxxxxxz#znnxxxMWM
MMMMMMxxxnnzzzz########zzznnnnxxxxxxxxxxxxxxxxxxx+#++i++***++++nnnxxxxxxx##znnxxxMMM
MMMMMMxxxnnnzzz#########zznnnnnxxxxxxxxxMMMMxxxxxn+#i++z+#+++#znnnxxxxxxn##znnxxxMMM
MMMMMxxxnnnnzzzz##+#####zznnnnnxxxxxxxxxMMMMxxxxxxz+#+*+*+#zzzznnnxxxxxxz##znnxxMWWW
MMMMxxxxnnnnnzz####+++###zznnnnnnxxxxxxxMMMMMxxxxxn#++***+#zzzznnnxxxxxxz#zznnxxMWWW
MMMxxxxxnnnnnzzz###+++++##zzznnnnnxxxxxxxxxMMxxxxxxn#++++#nzzzzznnnxxxxx###znnxxMMMM
MMxxxxxxnnnnnnzz###+++++###zzznnnnnxxxxxxxxxxxxxxxxxxnz#znnnzzzzznnnxxxxz#zznxxxMMMM
MMxxxxxxxnnnnnzzz##++++++###zzznnnnnxxxxxxxxxxxxxxxxnnnnnnnnzzzzzznnxxxMW##znxxxWMMM
MMxxxxxxnnnnnnzzzz##++++++##zzznnnnnxxxxxxxxxxxxxxxxxxxxnnnz###z#znnnxxxWnznnxxxMMWW
MMMxxxnnnnnnnnnnnzz+++++++###zzzznnnxxxxxxxxxxxxxxxxxxxxnnnz#####zznnxxxMnzznxxxMMxM
MMxxxxnnnnnnnnnnnnn#++++++++##zzznnnnnxxxnnnnnxxxxxxxxxxnnnz#++##zznnxxnWxzznxxMWWWx
MxxMxxxxnnnnnnnnnnx##+***+++###zzznnnnnnnnnnnnnxxxxxxxxxnnnz+++###znnxxzWM#znxxMWWWW
xxxMxxxxnnnnxxnxnnnz##*+**++++##zznnnnnnnzzzzznnnnnnxxxxxnnz**++##znnnzxWMznnxxMMWWM
MMWMxMxxxxxxxnxnxnnz##++**++++##zzzznnnnnzzz##zznnnnxxxxnnnz**+###zznx#WWMznnxxMMWWW
MMMMWMxxxxxxnxxxxnnnn+++*****++##zzznnnnz+#++##zzznnnnxxnnnn+**++#zzn#MMWMznnxxMMWWW
MMMWMMMxxxxxznxxxxxMM#+++****++###zzzznnz*;**+###zznnnnnnnnnzi**+#zzznWMMxzznxxMMWWW
MMMMMMMMMMxnnMxxxxxMxn++******++###zzzznzz,i*+++###znnnnxnnnn;i*++#+zWMMMn#znnxxWWWW
MMMMxMMMMxxMMMMMMMxxxxz*******+++##zzzznzz***+*++##zznnnnnnnn;ii*+inMMMMW+znnnxxWWWW
xxxxxMMMMMMMMMxMMxMMxxx++******++###zzznnzz*#+*+++##zznnnnnnn:;i:ixMMMMMn+#znnxMWWWW
xxxxxMMMMMMMMMxxMMMMxxxz+******+++###zznznz*#zznnz+##znnnnnnn,;+nMMMMMMM++#zznxMWWWM
xxMMMMMMMMMMMMMMMMxxxxnn#*+*****++###zzznzz*#znnxxxxxnnnznnxxMMMWWxMMMx+*+#znnxMWMWW
xMMMMMMMMMMMMMxxxxxxxxnn#+*******++###zznzz*+znnxMxnxMMWWWWMMxMMMMMMMx+i*+#znnxMWMWW
MMMMMMMMMMMMxxxxxxxnnnnzz#********++###zzzz++zzznxxxxxMMWMMMMxMWxxMxx*i*++#znnxMMMWW
MMMMMMMMMMMMxxxxxxxnnnnz##+*******+++##zzzz#*z#znnxxxxxnxxxxxMxxxxx#ii**+#zznnxMMMWW
MMMMMMMMMMMMxxxxxxxnzzzz##+****i***+++##zzz#izzzzxnxxxxMxxxxxxxxx#iiii**+#zznnxMMMMW
MMMMMMMMMMMxxxxxxnnzzzzz##+*iiiii***++###zz#i#zzznnnnxxxxxxxxxxni;;;ii**+#zzznxxxMMW
MMMMMMMMMMxxxxxxnzzzzzz####+iiiiii***++###z#*i##zznnxnnxxxxxxx+,;;;iii*++#zzznnxxxMM
MMMMMMMMMxxxxxxxnzzz#######+*;;;iii**++###zz+:#+##zznnnnxxxxn+,,:;;;ii*++##zzznnxxxx
xMMxMMMMMxxxxxxxnzzz##+#+#+#+i;;;;ii**++####+:++#z#zzznnxxnnx:,:;;;ii**++###zznnnxxx
xxxxxxxxxxxxxxxnnzzz##++*++++i;;;;;ii**++####i;++####zznnxxxi,,:;;iii**++###zznnnnxx
xxxxxxxxxxxnxxnnnzzz##++***i;:;;;;;;ii*+++####;;*##zz#znnxMn,,,;;;ii***++###zznnnnnx
xnnxxxxxxxxxnnnnnzz####+++*ii;;;:;;;ii**++####+**##zznnnxx#:,,:;;;ii**+++###zzznnnnn
xxxnxxxxxxxxxxnnnzz####+++*ii;;;;:;;;ii**++###+++#zznnxxxxz;:,:;;;ii**++++z#zzznnnnn
xxxnxxxxxxxxnnnnnzzz##++++*iii;;;:;;;;i**++#####+znnxxxn#n#*:,:;;;ii**+++####zznnnnn
xxxnnnxxxnnnnnnnz#####++****ii;;;:::;;ii*+++#####znxnxzz##n*,::;;;ii**+++#++#zzznnnn
xxxxnnnxxnnnnzz##+#+***+****iii;;::::;ii**++++++##nznznzz#zi,::;;;ii**++##++##zznnnn
xxxnnnnnxnnnzz##++++++*+****ii;;;:::;;ii**+++++###zzn#nzz+#:,::;;;i**++++#*+##zznnnn
xxnnnnnnxnzzz###++++*+*+***iii;;;:::;;;ii*+++++#####z#znz#*,::;;;;i**+++#***+##zznnn
xnnnnnnnnzz###++++++++*+**iiiii;;;:::;;ii**++++###++++#zzz;:::;;;;i**++++i**++##zznn
nnnnznnnzz####+++++++*i*iii*iii;;;:;:;;;i***++#####+**+##+:::,;;;;i**+++*;i**+##zznn
nnnzzzzz####++++**+++***iiiiii;;;;;::;;ii**+######++i**++;::,,:;;ii*++++;;;i**+###zn
znnzzzzz#####+*****++***iiii;;:::::,::;ii**++#####++*ii;;:;,,::;;ii**++*:::;i**+##zz
zzzzzz#####+++********iiiiii;;;:::,,,:;;i**++++#++++*,,,:;,.,::;;i***++;,,:;;ii*++#z
########+++++*********ii*iiii;;;;::,.:;;;i*+++++++++*::::,.,,::;;i****+.,,,::;ii++##
########+++*************iiiiii;;;::,,.,:;i**++++++++*i::,..,.::;ii**+*;...,,,:;;i*+#
++++####+++**i**********iiiiiiii;;:::,.:;;i****+++++**,,,,.`,::;ii**++,.....,,::;i**
i*++######+**i***++*******iiiiiiiii;::..,;;ii****+++**:,..``,:;;ii****...,,,,,,,:;i*
;i*##+++##+++**++++*********i****iiiii;,.,:;ii********i.````,:;;i****;....,,,,,,,:;;
i;*+++####+++**+++**********i***********i:,:;iii******i,``..,:;;i****,...,,,,,,..,,:
+++++++###++++++*+*i****************++++*+*;::;iiii*i*i;.`.,::;;i***i,...,,,:,:,.,*#
#++++++#####+++****iiii**************+++++++*i:;;;iiiiii.`.,::;iiiii**i;;:,,,:,;,i+z
+++++++#####+#+**ii*iiii*************++++++++*i::;;iiii;,`.,::;iiiii:;**ii;;:;;**++z
++**++++######++**iii**i**********++++++####+++*;:;;;;i;,`.,::;iiii;:*i;;i**ii****+#
****++++#####+++**iiii*ii*********++++++######++*:;;;;i;.`.,:;;;i;;;;*;;i*ii****++++
***i**++++###+++**ii;ii*i********++++++#######+++*:;;;;:``,::;;;;;:::i;i*i;i****++++
**iii*++++++++++***i;ii*ii*******+++++########+++*;,:::.`.,:;;ii;::::;;iiii******+++
iiiiii*+++++#+++***i;;iiii********+++++#########++*,...``.,;;iii;:,::;iiiii*******++
::;;:;i+++++++++***i;;iiiii*******++++++########++*;````.,:;;iii::,;:;iiiiii******++
**i;::,*++++++++***i;;iiiiii******++++++########+++i````.,:;;;;;;::;::;iiiiii******+
++***i:;*+++++++***i;;;iiiii*******+++++########+++i,  `.,,:;;;;;:,:::;i;iiiii*****+
#++**ii;**+*++++***i;:;iiiiii******+++++#########++*:  `,,,::;;;;:,::,;i;;;iiii****+
##++**i:**+*++****ii;:;iiiiiii*****+++++#########++*;  .,.,::;;;;;:,:,:i;;;;iii***++
###++*i:i*********ii;:;i;iiiiii****+++++#########++*i``...,::;ii;;:,.:,;;;:;;ii*++++
####+**i;*********ii;:;;;;iiiiii***++++++########++*i......::;iii;;:.,,;;;::;i*+++++
####+**i;i********ii;::;;;;iiii******+++++#######++*i,`....::;iiiix+zi*z+*#n###z#znn
z####+*i:i********ii;::;;;;iiii******+++++######+++**:`....,:;iiiixnzznznnnnxxxnzzxx