***ii;::::;;ii*****++#+;.                                               `:****++++**i;::;;;:,:;*i;;i***++++++*;;;
*****ii;;;;ii******+++#+:`                                              `:i**+++++**i;::;;;:,:;*i;;ii**++++++*;;;
++++**iiiii****++++++++#*,`         ``                                  `:ii***+++**i;::;;;:,:;ii;;ii***+++++*;;;
++++*iiii****++++++++*++#*,`      `..,.`                                `:;ii**++***i;:::;;:,,;ii;;ii***+++++*;;;
iiiii;;;;i*++++++#++***++#i.      `.....`                               `,:;i***+***i;:::;;:,,;ii;;ii****++++i;;;
;;;;;::::;i*++#++++*****+#+;.     `.....`                               `,::;ii*****i;:::;;:,,;ii;;iii****+++i;::
,::::::::;;*++++++*****+++#+:`   ``````..`                              `,:::;;iiii*i;:::;;:,,:ii;;;ii****+++i;::
::::::::::;i*++++++****++++#i,.```````````                              `,:::;;;iiiii;:::;;:,,:ii;;;ii*****+*i;::
;:;;::::::;i*++###+++++++++++i:,..````````                              `,;;;;;;;iiii;:::;;:,,:ii;;;ii*****+*i;::
iii;:::,:::;*++####+++++++++++i;:,.```````                              `;ii*iiiiiiii;:::;;:,,:ii;;;ii*******i;::
**i;::,,,::;i*+####++++++++**++*;,.```````     `,:iiii;ii;;,..`         `;+++*iiiiiii;:::;;:,,:ii;;;ii*******i;::
*ii;::,,,,:;i*+++++++++++++***++i:,.```````  .:i;,,i*ii**+##+#+;,`      `;###+*iiiiii;:,:;;:,,:ii;;;ii*******i:::
ii;;::,,,,:;i**+++++++++++++****i;:,......`.:i;;,;*i*+***+*;;iii**i;,.  `,#z#+*iiiiii;:,:;;:,,:ii;;;ii*******i:::
;;;;::,,,,:;ii******+++++++++**i;;:,...,..:;i*i;i**+++*++iii;i*i**ii**+i:;+z#+*ii;;ii;:::;;:,,:;i;;;ii*******i:::
::::::,,,,:;ii******+###+++++*i;;::,,,,;;iiii+*+*+++++++++***i******+##zznzz#+*i;;;;i;:::;;:,,:;i;;;ii*******i:::
,,::::,,,,:;ii**iii*++###++++*i:::,,,:;;ii**+++++*+************+++++####nxxx#+*i;:;;i;:,:;;:,,:;i;;;ii*******i:::
,,,::,,,,,::ii**iiii*++##++++*i:::,,:;;ii*+#+********+***********+#zz#znnxxxn+*i;::;i;:,:;;:,,:;i;;;ii*******i:::
,,:::,,,,,:;ii*****i**++##+++*i;::::iiii*+++iii*i*+*+++*********+##+#znxxxxxnn*i;::;i;:::;;:,,,;i;;;ii*******i:::
::::::,,,,,:ii*+++**ii*++##++*i;;;;;;ii*+*i*i*i**+*++++****iii***++#znxxMxMWMxz;;::;i;:::;;:,,,;i;;;ii*******i:::
;;;;;::,,,::;i*+##+*iii*+++++**iiii;ii****i**i******+++***iii****++#znnxxxxxxxn#;;;;i;:::;;:,,,;i;;;ii*******i:::
iii;;::,,,,:;i*#zz#+*iii*+++++***iiiiiiiiiii**i*****+*+***ii******+##znxxxxxxxxn*;;;i;::::;:,.,;i;;;ii*******i::,
iiii;:,,,,,::;i+zz#+*iii***++****i;;i;;iiii***iiii******iiiiiii***+#zznxxMMMWMMMn*;;i;::::;:,.,;i;;;ii*******i::,
***i;:,,,,,::;i*#z#+**********iiii;;:::;iiii*i;;;;iiii***iiiii*****+#znnxMMMMMMxnzi;i;::::;:,.,;i;;;ii*******i::,
***i;:,,,,,,::;i+#++******iiiiiiii:::,:;;iiiii;;;;;;;iiii*iii******++zznxxxMMMMMxnzii;::::;:,.,;i;;;;i*******i:::
***i;:,,,,,:::;i*+++**++**iiiiii;:,..,::;;;;;;;:::;;;iii**i*********+#zxxMMMMxMMxxz+i;::::;:,.,;i;;;ii*******i::,
*iii;:,,,,,::;;i*++**+++*iiiiii;:,...,:::;;;:::::::;;iii************+#znxMMMWWWMxxn#i;::,:;:,.,:i;;;;i********::,
iii;::,,,,,:;;i*******+**iiiii*;,..`.,::::::::::;::;;i*i************++znxMMWWWWMMxnz*;::,:::,.,:i;;;;i********::,
i;;;::,,,,,:;i********+**iii**i:...,:::::::::::::::;;iii***++++****+++#zxMMWWWWMMxxn+;:,,:::,.,:i;::;ii*******:,,
;;;;::,,,,::;i*+******++*iii+*:,.`.::;;;;;;;::::::;;;ii**+++++++++*+++#znMWWWWWWMxnn#;:,,:::,.,:i;::;ii*******:,,
;;;;::,,,,::;i*+*****+++**i*+i,...,:;;;;;;;;::;::;;;ii**++++++++++++++#znMWWWWWWMxxxzi:,,:::,.,:i;::;ii*******:,,
ii;;;:,,,,::i**++***++++***##;,..,:;;;;;;;;;;;;;;;;;ii**++++++++++++++#znxWW@@WWMxnnni:,,:::,.,:;;::;ii*******:,,
iiii;::,,,::i**++++++++++**#+:,.,:::;;;;;i;;;;;;;:;;i***++++++++++++++#znxMW@WWWMMxxn+:,,:::,.,:;;::;ii*******::,
****i;::,,:;i**+++++++++***#i,.,,:;;;;;;;;;;;;;;;;;;i**+++++++++++++++#znxMW@@WWWMxxx#:,,:::,.,:;;::;ii******i:,,
++++*i;:,,:;i**++++*******##;,,,:;;;iiiiiiiiiii;;;;;i**+++++++##+++++##znxMWWWWWWMxxxz;,,:::,..:;;::;ii*******:,,
####+i;:,,:;i**++++*******z+:,,:;iiiiiiiiiiiiiiiiiii**++++######++++###znxMWW@@WWMMxxni,,:::,..:;;::;;i*******;,,
zzz##*;:,,:;i**+++++*****+#i:::;;iiiiiiiiiiiiiiii;;;i*++++########++##znnxMMWWWWWWWMxn+:,:::,,.:;;::;;i*******;,,
#####*;:,,::;**++++****i*++;;;;;iiiiiiii*iiiii;;;;;i*+++++############znnxMMWWWWWWWMMxz:,::::,.:;;::;;i*******;,,
+++++i;:,,::;i**+++***ii*+*;;;;iii****iiiiii;;;;;;;i*+++##############zznxxMWWWWWWWMMxn;,::;:,.,;;::;ii******i:,,
++++*i;::::;ii***++***i**#*;;ii***iiiiiii;;i;;;ii;i**+++++############zznxxMMWWWWWWWMxx+,::;:,.,;;::;;ii*****i:,,
+++++*i;;;;ii****+******+#i;ii**ii*iiiiii;iii;;iiii**++++++#+##########znxMxMWWWWWWWWMx#::;;:,.,;;:::;ii*****;:,,
++++++*iiiii***+++******+#iiiii**i**iiiii;;;;i;;ii**+++++++++##########znnMMxMWWWWWWWMx#,:;;:,.,;i;::;ii*****i::,
z###++++*****++++++**iii+#iii**i**iiiiiiiiiiiiiiiii****+++++###########zznxMMMWWWWWWMMx#,:;;:,.,;i;::;ii******;:,
nz###+++*****++++++**iii++iii**i;;iiiiii;;;;;;;;;;i*******+++++########zzznxWMMWWWWWMMxz::;;:,.,;i;::;ii******;,,
nz#+++**iiii**++##++*ii*+#ii**ii;;;;;iiiiiiiiiiiiii******+*+++*++#######zznxMMMWWWWWWMxz*:;;;,.,;i;::;ii******;,,
zz#+***ii;;ii*+####+****+#ii**i;;;;iiiiiiiiiiiiiiii***++++**+**+++#######zzxMWxMWWWWWMxz+i;;;,.,;i;::;ii******;,,
z#+**iii;;;;i*+##z#++**+##ii*ii;iiiiiiiiiii**ii****+*++++**++++++++#######znxWMMWWWWMxnnn#ii;,.,:i;::;iii*****;,,
##+*ii;;;;;;i*+##z#+++++#z*iiiiiiii***iiiii*******+++++++++++++##+++#######zxMMxWWWMMxznnni;;:.,:i;::;iii*****;,,
#+**i;;;::;;i*+####++++##z*iii;iii*********+++***+++++++++++###############znxMxMWMMxnzznz*i;:.,:i;::;iii*****;,,
#+*i;;;::::;i*++###++++##z+*i;iiii**++++++++++++++++##########zzzz#########znxMMMMMMxnz#nz+i;:,,:i;::;iii*****;,,
#+*i;;:::::;ii*+###++++##z#i;;;ii**++++++#+####+###znnnnnzzzzzzzzzz#########nxMMMMMxn##+zz+i;:,,:i;::;iii*****;,,
#+*i;;:::::;;i*++#++**+##z#i;;;i**++++##########znnxxxMMxnnnnnnznnzz########zxxMMxMxzz#+#z+i;:,,:i;::;iii*****;,,
z#*i;::::::;;i*+++++**+++#z*;;ii*+##zzzz#####zzznnxxxMWMxxxxxxnznnnzz###+###znMMMxnnzxn#+z+ii:,,:;;::;iii*****;,,
z#*i;::::::;;i*+++++***+++z+;ii*#znnnnnnz######nxxMMMWMMMWMWMxxxnnzzzz#++###znxMMxz#zxxz##+ii:,,:;;::;;iii****;,,
#+*i;::::::;;*++++++***+++#+i++#nxxxxxxxxz#++++zxMMMWMMnnMMWWxxxxnnzz##+++###zxMxxnzxxnn##+ii:,,:;;::;;iii****;,,
**i;:::::::;;i*++++++**++++**#znnxMMMMMMxx#+**+zMMMMMMxzzMMMMnnnxnnzz##++####znMMxnzznnnz++*i:,,:;;::;;iii***i;,,
;;;:::::::::;i*++++++**++++++zznxxxMMMMMMMz***+nMMxxxxnz#znzzzznzzzz####+++###nxMxnz#nnz#++*i:,,:;;::;;iii***i;,,
::::::::::::;ii**+++***++++++zzxxMxWxWWMMMn*ii+nMxxnnnnzzzzznnnzzz####+++#####nxxxnz#nnn#++**:,,:;;:,:;iii*i*i;,,
:::::::::::;;;ii********++++*#zzxnnMMMMxxxn*ii+zxxxnnnnnnnnnnnnzz####++++####znnxxnzznz#++*+*;,,:;;:,:;iiiii*i;,,
;;;;;;;;;:;;;;iii*******++++*+#znzzxxxnnnnn*ii+#nnnnzznnnnnnnzzz#++++++++####znnxxnzxn++++*#+;,,,;;:,:;iiiii*i;,,
;;;;;;;;;;;;;;iii******++++++*+z####z#znnzz+ii+#znzzzzzzzzz##z##++++++++#####znnxxnzx#++***#+;,,,;;:,:;iiiii*i;,,
;;;;;;;;;;;;;;iiii***++++++++*+##zzznnnnzzz*i*+#zz#####zzzz####+++++#+#######znnnxnz###++**#+;,,,;;:,:;iiiii*i;,,
;;;;;;;;;;;;;iiiii**+++++++++**++znnnnnz###*i*+#z############++++++##########znxxnnzz##++ii+*;,,,;;:::;iiiii*i;,,
;;;;;;;;;:::;;iii***+++++++++*i*+znnnnzz###iii++######++++****+++++##########znxxnzzz#+++;i**;,,,;;:::;iiiii*i;,,
iiii;;;;;::::;iiii***+++**++++ii*#zzzzzz##+iii*+######++*****++++++##########znxxzzz###+i:;**;,.,;;:::;iiiii**;,,
***ii;;;;::::;iiiiii******++++i;i+#zzzz##++ii;*+#zz###++*****++++++##########znxxzzz###*::;ii;,.,;;:::;iiii**i;,,
+++*i;;;:::::;iiiiiii***++++++iii*##z##++++;i;**+#zzz##+*****+++++####z#######nnn#####+*::;ii;,.,:;:::;iiii***;,,
#++*i;:::::::;;iiiiii***++++##****+##++**+*;;;i*+#zzzz#+++****++++############zzz+#++*+*:,;ii;,.,:;:::;iiii***;,,
##+*i;:::::::;;iiiiii***+++###+*+++++*i**+i;i;i+++##znz#++***++++################+#++**i:,;ii;,.,:;;::;iiiii*i;,,
z#+*;:::,,:::;;iiiiii***+++####*++++*ii*+#;iii*+++#+#zn##++++++###################+++**i:,;ii;,.,:;;;;;iiiiiii;,,
nz#*;:::,,:::;;iiiiii****+++###*+++****++#i****+####+#z###++######################+++*i;:,;ii;,.,:;;;;;iiii*ii;,,
Mn#*;:::,,:::;;iiiiiiii**++++++*+++***++#**+++###zzzzzzz#zz#######################+++*i;:,;ii;,.,:;i;;;iiii*ii;,,
xn#*;::,,,,::;;iiiiiiii***+**iii*++**+++#*+####zznxxnznn+#znz#####################+++*i;:,;ii;,.,:;i;;;iiiii*i;,,
##*i::,,,,,,:;;iiiiiiii***i;:,,.;++**++###zzzzzznMW@Wxxn+#zznzz###################+++**;:,;ii;,.,:;i;;;iiiiiii;,,
iii;:,,,,,,,:;;ii;iiiii**i:,..``.*++++####nxnznnxMMMxMMn##z#zznz###################++*+*:,;ii;,.,:;i;;;iiiiiii;,,
;;;::,,,,,,,:;;;::::;;;;;:,.`````i+++###z#zxMxnnnxxxxnnzzzz##zznz##################+++#+:,;ii;,.,:;i;;;iiiiiii;,,
:::::,,:,,,,,,,,,,,,,,,,,..``````,*++##zz##nnMMMMMxnnnzzzzzzzz#znz#################+++z+;:;ii;,.,:;i;;;iiiiiii;,,
::::,,,::,,,,,,...........```````.*++##z##+#znxMxxxnnznnzzzzzz#zznz######z##########++n*;:;ii;,.,:;i;;;iiiiiii;,,
:,,,,,,,:,,,,,............```````.i++##z#++#zznnxxnznznnzzzzz#zzzzz#########z####z#####i;;+**;,..:;i;;;iiiiiii;,,
,,,,,,,,,,,,,,,,,,,,,,,,..........;*+#z##++#zznnnnnnznnnnnzznzzzzzz########zzzzzzz###z*i;;+z*;,..:;i;;;iiiiiiii,,
,,..,,,,,,,,::::::::::::::,,,..,,,;*+####++##zznnnnnnnnnnznnnnnzz#z########zzzzzzz####iii;ix#;,..:;i;;;iiiiiiii:,
:,..,,,,..,,::;;;;;;;;;;;:::,,:::;;*+#z##+###zzzznzznnzzznnnnnnzzzz####z##zzzzzzzz#zz*iii;inx*,..,;i;;;iiiiiiii:,
:,,,,:,....,::;;;;;;;;::::,,,,:;i***+####+###zzzzzzzzzzzznnxxxxnzzz+##zz##zzzzzzzzzz+iiiiiinxz,..,;i;;;iiiiiiii:,
;:,::,..``.,::;;;;;;;::,,....,:;*++*++##zzzzzz#zzz#znnxxMMWWMnnzzzz+##zz##zzznzzzznz*iiiii*nMx*..,;i;;;iiiiiiii:,
::,,,,.```..,:::;;;;;::,.....,:;*+++++##znnnznnnnnnxMMMMMxxzz##zzz#+#zzzzzznznnzzzz***iii*+xMxni.,;ii;;iiiiiiii:,
,....```````..,,,,::::,,.....,:i*##+++#zznxMMxxxxMMMMxnznzz#######+##zzzzzzzzznznn+****i**zMMMxzi,;ii;;iiiiiiii:,
...`````````````.....,,.....,:;i+###+++#znnznzzzzzzzz#zzz####+##zz##znnzzznznznnx#*******+nMMMxx#i;ii;;iiiiii*i:,
.....```..````````````.....,::i*+###+++##zz####zz##z#z#zzzz####zzzzznnxnnnnznnnx#********#MMMMxxn#*i;;;iiiiii*i:,
,,,,,..,,,..```````````...,,:;i*+###+++##z#########zzzzzzz#####zznnnnnnnnnnznnx#*++*****+zMMMMMxxz#*i;;iiiiiiii:,
:::::::::;:,,,....````...,,:;ii*++##+++##zz#+++#zzzznzzzzz#####zznnnnnnnnnnnnx#+++++****+xMMMMMxxnz#+i;iiii*iii:,
,:,,:;iiiiii;;:::,,,,,,,,::;ii**++##+++#zzz##+##znnnnnnzzz#####znnnnxnnnnnnnxz++++*****+zMMMMMMMxxnnz+*iiiiiiii:,
,,,,,:;iiiiiii;;;;;:::;;;;;i***+++#++*++zzn####znnnnnnzzz###z#zznnnnnnznnnnxz#++++***+++nMMMMMMMxxxnnz#z#**i*ii:,
..,,,:;iiiii;;;;;;;;;;iiii**++++++++**++#zz#####zznnnnzzz####zzzznnnnznnnnnz#+++++*++++#MMMMMMMMxxxnnzzznnz+**i:,
,,,,::;;iii;;;;;;;;;;;i******++++*****++#zz######zzzzz#######zzzznnnnznxnnn#++++++++++#nMMMMMMMMMxxxnnzzznnnz+i:,
::;iiiiiiiii;;;;iiiiiii*******++******+###z######+##########zzzznnxnnnnxnnz#++++++++++#xMMMMMMMMMxxxxnnnnznnnz+:,
;;*+***iiiiiiiiii******++**********ii**+#++####+++########zzzzznnnxxnnxxnz#++++++++++#nMMMMMMMMMxxxxxxnnnnznnnz*:
ii*+#++*****ii***++####++*ii*******iiii+++*+#+############zzznnxxxxxxxxnz#++++++++#+#zxMMMMMMMMMMMxxxxnnxnzznnnz*
iii*#+++*******++######++*ii***++**i;;i*+***############zzznnnxxxxxxxxnz#+++++++#####nMMMMMMMMMMMMMMxxxxxxxnnnnz#
iii*+#++**+***+##zzz###++******+***i;;i***i*+#+#####zz##znnnnxxMxxxxxnz#++**++++####zxMMMMMMMMMMMMMMMxxnxxxxnnnzz
**ii*+++++++++##zzz###+++**********i;;iiiii*++zzz#zzzzzznnnxxxMxxxxxnz#+*+*++++#####zMMMMMMMMMMMMMMMxxxxMxMxnnnnn
**iii+#++++####zzz##+++******+****iii;ii**+++;+zzzzzzzznnnxxxxxxxxnz#+++**+++++####zxMMMMMMMMMMMMMMMxxxxMMxnxxxnn
**iii*++++**++#####++++++***+++*****ii*++++++:iznnnnnznnnxxMxxxxnnz#++***++++#####zzMMMMMMMMMMMMMMMMxxxxMxxxxxxnn
**iii*++*i;;;;ii*****++++**++++++***+##++++#*,;zxMxxnnnnxxxxxMxnz##++****+++#####zzxWMMMMMMMMMMMMMMMxxxxMxxxxxxxn
++*iii*ii;:,,,,:::;;;iiiii*++###+*+##z#+####i.;#xW@WnnxxxxMMMnzz#++*****++++###zzznMMMMMMMMMMMMMMMMxxMxxMxxxnnxxn
##+ii;;;;,..``....,,,:::;;i*#zz++##zzzz####+:,;#xW@@nnnxxMMnz###+******+++####zzzzxMMMMMMMMMMMMMMMMxMxxxMxxxnnnnx
zz+*;::::,.` ``````...,,:;i*++++#zzznnnzz##*.,;#nWW@Mznxxxz#++++*******++####zzzznMMMMMMMMMMMMMMMMxMMxxxMxxxxxxnn
z#+*;:,,,,.`    ``````..,:;i*+#zzznnnnnzz#+i.,;+zMW@@xnxz++++**********++####zzznxMMMMMMMMMMMMMMxxxMMMMMMxxxxxnnn
+++i;:,,,,.`     `````..,:;i+#zznnnnnnnz##+:.,:*#MWW@Wn#iiii*iiii******+###z#zzznMMMMMMMMMMMMMMMxxMMMxxMxxxxxxxnn
***i;:,,,,,.``````````.,:;i*#znnnnnnnnnn##*,;**i+xMW@W#*iiiiiiiiii****++###zzzznxMMMMMMMMMMMMMMMxMMMMxxMMxxxxxxnx
i;ii;:,,,,,.`````````.,:i++#znnnnnnnnnnnz#i*znx#izxMM##zz*;iiiiiiii**+++###zzzznMMMMMMMMMMMMMMMMMMMMxnWMMxxxxxxxx
;;ii;:,,,,,..``````..,:*z++znnnnnnnnnnnnzz*znnxx++nz+zzzzz+iiiiiii***++##zz###zxMMMMMMMMMMMMMMMMMMMxnxWMMxxxxxxxx
;;ii;:,,,,,,.......,,:*n#+znnnnnnnnnnnzznz*nnnxxx*++z#zzzzz#iiiiii***++##z####zxMMMMMMMMMMMMMMMMMMMxxMWMMxxxxxxxx
::;i;:,,,,,,,,,,,:::;*nn+znnnnnnnnnzzzznnn+znnnxx+#z###zz#zz#iiii****+##zz####nMMMMMMMMMMMMMMMMMMMMW@@MMMxxxxxxxx
,:;;;:,,,,::::::;;;iizx##nnnnxxnzzzzzznnnn+znnnxz+########zzz#ii***+++##z#####xMMMMMMxMMMMMMMMMMMMW@@WMMxxxxxxxxx
,::;;;:,,::;;;iii***#nx#znnnxnz##znzznxnnn+#nnnM+###########zz+i***+++#######zMMMMMMxxxMMMMMMMMWW@#@WMxMxxxxxxxxx
,::;;;;:::;iiii**+++nx#znnnnxz#zzzzznnnnnz+#nnxM+#####+#####zzn+**+++######+#nMMMMMMxxxxMMMMMMW@@@WWMMMMMMxxxxxxx
:;;;ii;;;;iii***++*#xn#nnnnnnzzzzzznnnnnnz++nnMM############zzzz**+++#####++#xMMMMMMxxxxMMMMMW@@@WMMMMMMxMxxxxxxx
;iiiiiii;;iiii****+zx#znnnxxnzznzznnnnnnn##+nM@M##############zz#*++#####+++#MMMMMMxxxxxxMMW@@@WMMMMMMMMxxxxxxxxx
iiiiiiiiiiiiiiiii*#nzznnnxnnzznzzznnnnnnz#++x@@M##########+++##zz+++####++*+nMMMMMMxxxxxMW@@@WMWMMMMMMMMMxxxxxxxx
iiiiiiiiii****iii+nn#nnnxxxnnnzzznnnnnnnz#;#W@@x#####++##++++#####+++###+**+MMMMMMMxxxxxxMWWWMMMMMMMMMMMxxxxxxxxx
iiiiii****++++***#nzznnxxxxnzzzznnnnnnnnz;:n@@@z+##+++##+++++######++++++**#WMMMMMMxxMxxxMxMMMMMMMMMMMMMMMxxxxxxx
iiiiii***+##z###+zn#nnxxxxnzzzznnnnnnnnn+.*W@@W++++++###++++*#++++#+++++**+zWMMMMxxxxxxMxMMxxMMMMMMMMMMMMMMMMxxxx
iiiii*+++#znnzzz+zzznxxxxxnnzznnxnnnnnnz:ix@@@x+++++++#++****#++*++#+++***+xMMMxxxxxxxxxMMMMxxMMMMMMMMMMMMMxxxxxM
*****+++#zznnznz+zznnxxxxnnznnxxnnnnnnn+inW@@W#*+++++++++****#****++#++**+#WMxxxxxxxxxxxMMMMMxxMMMMMMMMMMMxxxxxxM
****+++##znnnzzz#zznnxxxxnnnnxxxnnnnnnnznMW@@x+*++++++++*****#*****+##+**+zWMMMxxxxxxxxxxMMMMxxxMMMMMMMMMxxxxxxxM
***++####znnnnzz#znxxxxxxnnxxnnnnnnnnnzzxMMWW#**+++***+**+**++*****+nx#+++xWMMMxxMxxxxxxxMMMMxxMMMMMMMxMMMxxMMMMM
*+++###+#znnzzzz#znxxxxxnnnxnnnnnnnnnnznxxMWMii*+***********+**ii**#xWx++#MMxxxxxxxxxxxxxxMMMxW@MMMMMxMMxMMMMMMMM
++++#+++#znnnn#z#nxxxxxxnnnxnnnnnnnnnznnxxMWz;i*+**********i+*ii**+nMWWn+zWMMxMxMxxxxxxxxxMMxW@WMMMMMxMMMMMMMMMWM
++++++++#znnxzzzznxxxxxxnnnnnnnnnnnnnnnnxxMWi;;i**********ii+iii**#xWMWWzxWMxxxMxMxxxxxxxxMxW@@MMMMMMMxxMMMMMMMMx
+++++++##znxnzzznxxxxxxxnnnnnnnnnnnnnnnxxMWx:;;i**********ii*iii*+nMMMWWWWMxxxxMMMMMxxxMMMMM@@WMMMMMMMMMMMMMMMMxx
++++*++##znMnnzznxxxxxxnnnnnnnnnnnnnnnnxxMW+:;;**********ii*iii**#xMMMMMMMxxxxxxxxxMxxMMxMM@@WMMMMMMMMMMMMMMMMMMx
++++++##zznnnn#nxxxxxxxnnnnnnnnnnnnnnnxxMWM;:;;i********iiii;ii*+nMMMMMMMxxMxxxxxxxxxxMMMM@@WMMMMMMMMMMMMMMMMMxxx
+++++###zznzxx#nxxxxxxxnznnnnnnnnnnnnxxxMWz:::;***i****iiiiiii*+zMMMMMMxxxxxxxMxxMMxMMMMxW@WWMMMMMMMMxMMMWWWWMxxx
++++#zzzzz#zxxznxxxxxxnznnnnnnnnnnnnnxxMMW*::;;iiiiiiiiiiii;i*+#nMMMxMxxxxxxxxxxxxMxMMMMW@@WMMMMMMMMMMMMMWWWMxxxx
++##znnz###nMnznxxxxxxnnnnnnnnnnnnnnnxxMWM;:;;;**iiiiiiiii;ii*+zxMMMMxMxxxxxxxxxxxxMMMMM@@WMMMMMMMMMMMMMMWWWMMMMM
###zxMMn###nMznnxxxxxxnnnnnnnnnnnnnnnxxMWz:::;;iiiiiiiiii;;i*+#nMMMMxxxxxxxxxxxxxxxMMMM@@WWMMMMMMMMMMMMMWWWMMMxMM
#zzxM@Wn###nMznxxxxxxnnnnnnnnnnnnnnnxxMMWi:;;;;iiii;;;;i;;;i*#zxMMMMxxxxxxxxxMMMxMxMMM@@WMMMMMMMMMMMMMMWWWWMMMMMM
znxW@@Wn#nznxznxxxxxxnnnnnnnnnnnnnnxxxMWx;;;;;;ii;;:;;;;:;i*+#nxMxxxxxxxxxxxxMxxxMMMMW@WWMMMMMMMMMMMMMWWWWMMMMMMM
nxW@#@WnznzxnznxxxxxxnznnnnnnnnnnnnxxxMW#:::;:;i;;::;;;::;i*#zxxxxxxxxxxxxxxxxxxMMMMM@@WMMMMMMMMMMMMMWWWWMMMMMMMM
nM@##@WxnxzxznnxxxxxnnnnnznnnnnnnnnxxMWW*::;;;;;;;;::;:::i*+znxxxxxxxxxxxxxxxxxxMMMM@@WWMMMMMMMMMMMMMWWWWMMMMMMMM
xM@##@WxnxnxznxxxxxxnnnnznnnnnnnnnxxxMWM;::;;;;;;;;;;,,:;i+#zxxxxxxxxxxxxxxxxMxxMMM@@WMMMMMMMMMMMMMMWWW@WMMMMMMMM
MW@##@WnxxnnznxxxxxxnnnnnnnnnnnnnnxxMWWz;;;;;;;;;;;;:,,:;*+znxxxxxxxxxxxxxxxxMxMMMW@@WMMMMMMMMMMMMMWWWWWMMMMMMMMM
WW@@@@MnxxnzznxxxxxnnznnnnnnnnnnnnxxMWW*;:::::;;;:::,:,:i+#zxxxxxxxxxxxxxxxxxxMMMM@@WMMMMMMMMMMMMMMWWW@WMMMMMMMMM
WWWWWWxnxMnzznxxxxxnznnnnnnnnnnnnxxxMWMi::::;;;;;::,,,:;*+znxxxxxxxxxxxxxxxxxMxMM@@@WMMMMMMMMMMMMMWWW@WMMMMMMMMMM
WWWWMMnxMMn#nxxxxxxnnnnnnnnnnnnnxxxMMWn;;;;;;;;;;::,,,;i+#znxnnnxxxxxxxxxxxxxMMM@@@WWMMMMMMMMMMMMWWWW@WMMMMMMMWWW
MMMMMxnxMMx#nxxxxxnnnnnnnnnnnnnxxxxMWW+;;;;;;;;;;:,,,:;*+znxnnnnnxxxxxxxxxxxxMMW#@@WMMMMMMMMMMMMWWWW@@MMMMMMMWWWW
MMMMxnnxMMxznxxxxxnnnnnnnnnnnnnxxxxMWMi;;;;;;;::::,,,;i+#nxnnnnnxxxxxxxxxxxxMMW#@@WWMMMMMMMMMMMMWWWW@WMMMMMMWWWWW
MMMxxzxMMMnzxxxxxxnnnnnnnnnnnnxxxxMMWn;;;;;;;;:::,,,:;*+znxnnnnnxxxxxxxxxxxMMM@@@@WWMMMMMMMMMMMMWWW@@WMMMWWWWWWW@
MMMxnzxMMMnzxxxxxxnnnnnnnnnnnnxxxMMWW+;;;;;;;;::,.,,;i+#nxnnnnnxxxxxxxxxxxxMM@#@@WWWMMMMMMMMMMMWWW@@@WMMWWWWWWW@@
MMxxznMMMMznxxMxxnnnnnnnnnnnxxxxxMMWx*;;;;;;;:::,,,:;*+znxnnnnnxxxxxxxxxxMMMW#@@@WWMMMMMMMMMMMMWWW@@WWMMWWWWWW@@W
Mxxn#nMMMMznxxMxnnnnnnnnnnnnxxxxxMMWzi;;;;;;;:::,,,;i+#nnnnnnnnnxxxxxxxxxMxM@#@@WWWMMMMMMMMMMMMWWW@@WWWWWWWW@@@@W