MMMMxxMxMMxxxxxxxxxxxxxxxnnn+++*******#nnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxxxxx+********+++++#xW@W@@W
MMMMMMxxxxxxxxxxxxxxxxxxnnnn++********#nnnnnnnnnnnnnnnnnnnnnxxxxnnnzz##+++*i********++++#xW@WWWW
MMMMMMxxxxxxxxxxxxxxxxnnnnnn+*********#nnnnnnnnnnnnnnnnnnzz##++***iiiiiiiiiiii******+++++xW@@@@W
MMMMxxxxxxxxxxxxxxxxnnnnnnnn+*********#nnnnnnnnzz##+*****iiiiiiiiiiiiiiiiiiiii********+++xW@@@@W
MMMxxxxxxxxxxxxxxxnnnnnnnnnn+*********+z##+***iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*******+++xW@@@@W
MMMxxxxxxxxxxxxxxnnnnnnnnnnn+********iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii******++xW@@@@W
xxxxxxxxxxxxxxxxxxxnnzz##+++*******iiiiiiiiiiiiiiiiiiiiiiiiiii**i;ii;iiiiiiiiiiiii******+xWWWWWW
xxxxxxxxxxxxnnzz##+++***********i*iiiiiiiiiiiiiiii;iiiiiiiiiii+zi;;;;;;iiiiiiiiiiii*****+xWWWMMM
Mxxxxnnzz####+++++++***********iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;iiiiiiiiiiii****+nWWWMMM
zzz#######++++++++++********i**iiiiiiiiiiiiiiiiiiiiiiii;i;;;;;;i;;;;;;;;;;iiiiiiiiii****+nMMMMMM
########++++++++++***********iiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;iiiiiiiii***+nMMMMMM
#######++++++++++***********iiiiiiiiiiiiiiiiiiiiiiiiiiii;;i;;;;;;;;;;;;;;;;i;iiiiiiii***+nMMMMMM
######+++++++++++**********iiiiiiiiiiiiiii*+*++*iiii;iii;;;;;;;;;;;;;;;;;;;;;iiiiiiii***+xMMMMMx
#####++++++++++++******iiiiiiiiiiiiiiiiii*zxxMMxxx+*i;i;;;;;;;;;;;;;;;;;;;;;;;;iiiiiii***xMWMMMx
###++++++++++++********iiiiiiiiiiiiiiiiizxWWWWWWMWMn#i;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii**+xMWWMMx
#++++++++++++**********iiiiiiiiiiiiiiii*MWWWWWWWWWWWx#i;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii**xMWWWMx
++++++++++++***********iiiiiiiiiiiiiiiizWWWWWWWWWWWWMz;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiii*xMWWWMx
+++++++++**************iiiiiiiiiiiiiii#MWWWWMMMMMMWWMni;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii**xWWWWWx
+++++++++*************iiiiiiiiiiiiiii*MWWMxn#+#zznxWMni;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii*xWWWWWx
+++++++**************iiiiiiiiiiiiiiii+WWMnz#******+zMxi;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii*xWWWWWx
+++++++*************iiiiiiiiiiiiiiiii+WWnz#+iiiiii**#xi;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii*xWWWWWx
++++++*************iiiiiiiiiiiiiiiiii#WMnz+**ii;;;i**n;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii*xMWWWWx
+++++************iiiiiiiiiiiiiiiiiiiizMxnz+**i;;::;i*#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*xWWWWWx
**************i*iiiiiiiiiiiiiiiiiiiiinMnzz+*ii;::;;i*#i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*xWWWWWx
****************iiiiiiiiiiiiiiiiiiiiiMxnz#*i;;::::;i*+i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*xMWWWWx
***************iiiiiiiiiiiiiiiiiiiiiiMxz#+*ii:::,,:;i**;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*xMWWWWn
***************iiiiiiiiiiiiiiiiiiiii#Mn####+##i::;*iii*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii*xMWWWWx
************iiiiiiiiiiiiiiiiiiiiiiiizxz###z#i**;:i***i*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i*MMWWWWn
************iiiiiiiiiiiiiiiiiiiiiii*#x#+*###:++:;*z**;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii*xMMWWWn
#******iiiiiiiiiiiiiiiiiiiiiiiiiiiii#n#*;;*ii**;;;i;i;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii*MMMWWWn
z#****iiiiiiiiiiiiiiiiiii;iiiiiiiiii+n#*i;:;;i*::::;:;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;ii*MMWWWWn
###*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii+z#+i;::;**:::,,::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*xMMWWWn
zz##*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*zz#*;::*ii:::,,,:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii*xMMWWWn
#####*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii#z#+i;;*+#i;;:,,:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii*xMMWWMn
z#####*iiiiiiiiiiiiiiiiiiiiiiiiiiiiii#z##*iii*+i;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii+xMMWWMn
nz#####+iiiiiiiiiiiiiiiiiiiiiiiiiiiii#z##****iii;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;i;ii+xMMWWMz
nnz###z#+iiiiiiiiiiiiiiiiiiiiiiiiiii*znz#+*+z#**iii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii+xMMMMMz
#znz###zz+iiiiiiiiiiiiiiiiiiiiiiiiii+xnz#+***+*i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii+xMMWWMz
++znz##zzz#iii;iiiiiiiiiiiiiiiiiiiiizMxxz#++*ii;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii+xMMMMMz
*++znz###zz#i;;;iiiiiiiiiiiiiiiiiiiiMMWMnz#**i;::;;*z;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii+xMMMMMz
**++znz##zzz#iiiiiiiiiiiiiiiiiiiii##MMWMMxn#+*;:;;*z#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii+xMMMMMz
****+znzz#zzz#*iiiiiiiiiiiiiiiii+xx+MWMWWWMnz#***+nx+iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;iii#xMMMMMz
i****+znzz#zzzz*iiiiiiiiiiiii*#xMMx*MWWMWWWMxnzzzxMx*iiiiii;;;;iii;;;;;;;;;;;;;;;;;;iiii#xMMMMMz
;ii****#nzz#zzzz*iiiiiiiiii+zxxMMMM*nMWWMMWWMMMMMMxx+iiiiii;;;;iii;;;;;;;;;;;;;;;;;;iiii#xMMMMMz
;;ii***+#nnz#zzzz+iiiiiii*nxxxxMMMM##MMMWMMMMMMMMxxx#n*iiiiiiiiiiii;i;;;;;;;;;;;;;;;iiii#xMMMMMz
::;;i****#nnz#zzzz+iiii+nMMxxxxxxxMxixMMMMMMMMMMMMxx#MMz*iiiiiiiiiiiii;;;;;;;;;;;;;;iiii#xMMMMMz
:::;iii***#nnz#zzzz##nxxxMMMMxxxxMxx+*MMMMMMMMMMMxxn#MMMMz*iiiiiiiiiii;;;;;;;;;;;;;iiiii#xMMMMMz
::::;;ii***#znz#zznxxxxxMMxMxxxxxxxxx+#xMMMMMMMMxxx+nMMMMMMz*iiiiiiiiiiiiiiiii;;;;;iiiii#xMMMMMz
:::::;;i****+znzznxxxxxxMxMMxxxxxxMxxx++xMxMMMMMMxn*MMMMMMMMMn+iiiiiiiiiiiiiii;;;;;iiiiizxMMMWMz
::::::;iii***+znnxxxxxxxxMxMxxxxxxxxxxx**zMMMMMMxn*nMMMMMMMMMMMx#iiiiiiiiiiiiii;;iiiiiiizxMMMMMz
::;;;::;;;ii**+zxMxxxxxxxMxMxxxxxxxMxxxxn:+xMMMxzizMxxMMMMMMMMMMMn+iiiiiiiiiiiii;iiiiiiizxMMMWMz
:::;;;;;;;;i***xMxxxxMxxxxMMxxxxxxxxxxxxxn*:*++*;zMxxxMMMMMMMMMMMxx#iiiiiiiiiiiiiiiiiiiizxMMMWMz
::::;;;;:;;;iinMMxxxxMxxxxMMxxxxxxxxxxxxxxxz***#MMxxxxxMMMMMMMMMMMxx#iiiiiiiiiiiiiiiiiiizxMMMWM#
;:;;;;*i;;;;i*MMMMxxxMMxxxMxxxxxxxxxxxxxxxxxxxMMMxxxxxMMMMMMMMMMMMxxx+*iii*iiiiiiiiiiiiinxMMWWW#
;:;;;;;i*;;;;nMMMMxxxxMxxxMxxxxxxxxxxxxxxxxxxxMMxxxxxxMMMMMMMMMMMMxxxx********iiiiiiiii*nxMMMWWz
;;;;;;;;ii;;*MMMMMMxxxMxxxMxxxxxxxxxxxxxxxxxxxMxxxxxxxMMMMMMMMMMMMxxxxn********iiiiiiii*nxMMMWMz
;;;;;;;;;;;ixMMMMMMxxxMMxxMxxMxxxxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMxxMxxz********iiiiii**nxMMMWM#
:;iiiiii;;;nMMMMMMMMxxxMxxMxxMxxxxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMxMxMMxMM+********iiii***nxMMMWM#
:;;iiiiii;*MMMMMxMMMxMxMxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxMxMMMMMxxxMMMMMMMz********iiii***nxMMWWM#
;::;iiiiii#MMMMMMxMMMMxMxMxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMMMxxxxMMMMMMMz*********ii****nxMMMWM#
i;:;;*iiiinMMMMMMxMMMMMMxMxxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxMMxxxxxMMMMMMMn***************nxMMWWM+
;i;::;*iiixMMMMMMMxMMMMxMMMxMMxxxxxxxxxxxxxxxnxxxxxxxxxxxxMMxxxxxMMMMMMMM+*+++*********+xMMMMMx+
;;*;;:;*iixMMMMMxMMxMMMMMMMMMMxxxxxxxxxxxxxxxnxxxxxxxxxxxxMxxxxxxMMMMMMMMn*+++*********+xMMMWMx+
;;i*;;:;**MMMMMMxxMxxMMMMMWMMMxxxxxxxxxxxxxxnnxxxxxxxxxxxxxxxxxxxMMMMMMMMM++*++********+xxMMMMx*
;;;i*;;;izMMMMMMxxxMxMMMMMWMMMxxxxxxxxxxxxxxnnxxxxxxxxxxxxxxxxxxxMMMMMMMMM++++*+******++xMMMMMx*
:;;;i*;;;nMMMMMxMxxMxxMMMMWMMMxxxxxxxxxxnxxnnxxxxxxxxxxxxxxxxxxxMMMMMMMMMM#++++++******+xMMMMMx*
::;;;i*i;MMMMMMxMxxxMxxxxMMMWMxxxxxxxxxnnnnnnxxxxxxxxxxxxxxxxxxxMMMMMMxMMMx+++++++***+++xMMMMMx*
;;;;;;i**MMMMxxxxMxxxxxxxMMWMMxxxxxxxxxnnxnnnxxxxxxxxxxxxxxxxxxxMMMMMxxMMMMn++++++++++++xMMMMMx+
;;;;;iii+MMMxxxxxMxxxxxxxMWWMxxxxxxxxxxnnnnnnxxxxxxxxxxxxxxxxxxxMWMMMxxMMMMM#++++++++++#xMMMWWx+
;;;;;;ii+MMMMxxxxxxxxxxxxWWWMxxxxxxxxxxxxxnnnnxxxxxxxxnnxxxxxxxMWMMMMxxxMxMMxxxxxxnnzzzzMMWWWWx+
;;;;ii;i+MMMxxxxxxMxxxxxxWWMMxxxxxxxxxxxxxxnnnnxxxxxxxnnxxxxxxxMMMMMMxxMMxMMMMWWWWWWWWWWWWWWWWx+
:;;;;;ii#MMMMxxxxxxMxxxxMWMMMMMMMxxxxxxxxxxxnnxxxxxxxnxxxxxxxxxWMWMMMMxMMMMMMMWWWWWWWWWWWWWWWWx+
:;;;i;ii#MMMMMxxxxxMxxxxWWMMMMMMMMxxxxxxxxxxxnnxxxxxxnxxxxxxxxMWWWMMMxxMxMMMMMMWWWWWWWWWWWWWWWx+
:;;;i;i;zMMMMMMMMMMxxxxxWMMMMMMMMMxxxxxxxxxxxnxxxxxxxxxxxxxxxxWWWWMMMMMMMxxMMMMWWWWWWWWWWWWWWWx+
:::;;;;;xMMMMMxxxxxMMMxxMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMWWWWWMMMMMxxMMMMMMWWWWWWWWWWWWWWx+
::;;;;;iMMMMxMxxxxxxxxMMMMMMxxxxxxxxxxxxxxxxxxxxxxnxxxxxxxxxxWWWWWWMMMMMMMMMMMMMMWWWWWWWWWWWWWx+
::;;;;;iWMMMMMxxxxxxxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWMWWWWWMMMMMMMMMMMMMWWWWWWWWWWWWWx+
;;;;;;;iMMWMMMMMMMxxxxxWWMMxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMWWMMMMMMMMMMMMMMWWWWWWWWWWWWn+
;;;;;iiixWMMMMMMMMMxxxxWWWMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMWWWMMWMWMMMMxMMMxMMMMMMMMWWn+
:;;;;;iixMMMMMMMMMxMxxMMMWWWWMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMWWWMMWMMMMMMMMMxMMMMMMMMMMz+
:::;;;iixMWMMMMMMMMxxxMMMMMWWWMxxxxxxxxxxxxxxxxxxxxxxxxxxxnzznnnxxxMWWWWWWMMMMMMxMxMMMMMWWMMWMn+
;::;;;i*xWWMMMMMMMMMxxMMMMMMMWWWMMxxxxxxxxxxxxxxxxxxxxxxxn######zzzzxWWWWMMMMMMMMMxMMMMWWWWWWWn+
;;;;;iixWWWMMMMMMMMMMxMMMMMxxMMMMMWMMxxxxxxxxxxxxxxxxxxxnzzznnnnnxxxMWWWWWMMMMMMxxMnnnnnxxxMMMz+
;;;;;iizWWWMMMMMxxxxMMMMMMxxxxxxMMMMMMMxxxxxxxxxxxxxxxnn###zzzzznnxnzMWWWWWMMMMMMxxxnzzzzzzzzz#+
;;;;;iiixWMMMMMMMxxxxMMMMxxxMxxxxxxxxxxxxxxxxxxxxxxxnnnn+++####zzz*+zMWWWWWMMMMMMMxxz#######zz#*
::;;;;iinMWMMMMMMMxxxMMMMxxxxxxxxxxxxxxxxxxxnnnxxxxxnnxx+++++#zzziii:+WWWWWWWMMMMMxx*;;*+++####*
::;;;;;i+WMMMMMMMMMMxxMMMxxxxxxxxMMMMxxxxxxxxxxxxxxxxnxni*****+++:,,,:xWWWWWWMzznMxx#*i***++##+*
::;;;;;i*MWMMMMMMMMxxxMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxnxz*iii*##+*,,;;;*MWWWWx+*i;*xx+*i***+###+*
::;;;;;ii#WMMMMMMMMMxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxnx*i;ii*#++i;i**++nWWWMz+i;;;*z;:::,,::;i**
;;;;;;iii*MWMMMMMMMMxxxMMMMMMxxxxxxxxxxxxxxxxxxxxxxxnxz;;;;:;*ii;iii**+#xWWxz*i;:;;*;::,,,,,,:;i
;;;;;;;;ii+MMMMMMMMMMMxMMMMMMMxxxxxxxxxxxxxxxxxxxxxnxx+:::::;;i;;;;;ii**+nWx#i;;:::;;;:,,,..,,:i
;;;;;;;;iiixMMMMMMMMMMxxMMxMMMMxxxxxxxxxxxxxxxxxxxxxxxi:::::::;::;;;;iiii+zx#*i..,,,,,,,,,,,,,::
;;;;;;;;iii#WMMMMMMMMMMMMMxxxMMMxxxxxxxxxxxxxxxxxxxxxn:::;;:;;;::::;;;;;;i*z*:.` ,,,,,,....,..,,
::;::;;;;;iiMMMMMMMMMMMMMWWMMxMMMMxxxxxxxxxxxxxxxxxxx#::::::;;;::::::;;;;:iz+*;``..,,,,....,,...
::;;;;;;;;ii#WMMMMMMMMMMMWWWMxMxMMMMxxxxxxxxxxxxxxxxxi:::::::;;;:::::::::,i*i;i..`.,..,...,...,,
::::::;;;;iiixWWMMMMMMMMMWWWz#MMMxxMxxxxxxxxxxxxxxxxn::::::::;:::::::::,,;#*;:::,,:,...,........
::::::;;;;iii*WWWMMMMMMnzMWW+zMMMMMMxxxxMMxxxxxxxxxM+:::::::::::,,::::,,,++i;:,,,,.,...,........
;:::::;;;;iii+MWWMMMMzi;;*xn+nMMMMMxnnnxxxxxxxxxxxxx;,::::::::;::::,,,,,i#*;::,,,,,...,,,.......
::;:;;;;;;iiinxWWWWMzi;;;;+z#MMMMxMMxnnz++++#nxxnnni::::::::::::::::,,,,##i::::,,,,...,,,.......
::;:::;;;iiiinxMWWWn*i;;:;i++zxMMMMxnxxn+:i***+#*#+::::::::::,:,,,,:,,,izz*;:::,,,,,....,.......
;:;;;;;;;iiiiznxMWMz+*ii::;i++#+zMMMxxnx*xxnMMz+;+z::::::::::::,,,,,,,,##n#i::,,,,,,.,,.,.......
;;;;;;;;;;;iiznnxMMn#+*i:::;**++**+nMMxx;nxxxx#ii+n#::::,:::,,,,,,,,,,:+#x#i:,,:,,,,,..,....,...
;;;;;;;;;i;;iznnxxMnz#*i;:::;++++**ii+xznMMxxx+z*#xzi:::::::,,,,,,,,,,**#+#i:,::,,,,,,.,,...,.,,
;;;;;;;;iiii*znnnxxxnz+i;::,:;i*iii**ii*#xMMMM###nn+z;:::,,,,,::,,,,,:+*+.#;:;;:,::,,.,.....,.,.
;;;;;;;;iiii+nzzznxMMn#**;,,,,:;::::#+:i**####+*zMzzz*:::,,,,,,,,,,,,*i*:,+:,+:,:,;,,,,.,.......
;;;;;;;iiiiizn#znnxxMx#+*i::,,``,:::#z#++**+#zznxxzz#+:::,,,,,,,,,,,::;;.,+,:+:,;,i,,....,......
;;;;;;;;iii*xnzznnnxxMn+**;,,,..,,:;nnnnznnnnnxMxMzzz#;::,,,,,,,,,.,::,..:*,,+::;:i,,,,,,,......
;;;;;;;;iii+xnzznnnxxMM#*+i::..,,,,:nnxxxxnnznxxxxzxz+i::,,,,,,,,,..,..,.ii:;*,;;:*:,,,,,,,,....
;;;;;;;;iii+nnzzznnnxMMMz+*;,,,,,,,,+xxxnnnxMMMxxxxn+**:,:,,,,,,,,.,,....*i:;i,*;:+,.,,,,,,,....
;;;;;;;iiiiznnzzznnnnxMWxz+i::::,,,,:nnnnnnnnnnxMnz#+**:,,:,,,,,,,.......+;,i*:+i:*,.,,.,,,,....
;;;;;;i;iiizxnzzzznnnnxMM#**ii;::,,,,#xxxxnxxxxxxn#+**i,,,,,,,,,,.....,..+;,+i;+::i,....,,......
;;;;;;;;iiinxnz##znnnzxMWn+#+*ii;::,,inzzxxxxxxxn#+##+*:,,,,,,,,...,....:+i,#;*i,,,.....,,,,....
;;;;;;;iiiiznnnzz##znznxMn#+#*iii:::::zxnnzzzzznznn#+++;,,,,,,..,.......,:,:*;+i,......,,,,,....
;;;;iiiiiiizxnnzzz###nzMxWx###*;ii;:;:ixxxxxnnMxxn###+*::,,,,.......`.....`;;:;........,,,,,,,,,
i;;iiiiiiiiznnnn##znzzznnnznz***;i;;i;,+xxxxxMnxn#+#+**;,,,,.....`.``.....`,...`.`.....,,,,,,:,,
;;iiiiiiiiiznnnxz+##znnz#xzMz+i**i;;z*::nMMMxMxxz+##***i:,,.......```....`````````......,,,,,,,,
;iiiiiiiiiizxnnxn#++++#z#znMM*;+;;+:ixi;iMMMnMx#+zz+**ii;,,.............`````````.......,,,,:,,,
iiii*iiiiiizxxnnnz#+++++++zxMz:#i:#;:zni:zMxxM##zz++***ii,.,............````````........,,,,,,,,
iiiiiiiiiiinxxnnnz#+**+##+#nMx**n;;#i;Mzi;MxMzzz++##+***i;,.,........``````````..........,,,,,,,
i;ii;iiiiiizxxnnnnz#***+++##nWz;x*;z*;+M+:nn###zzz##+++**i,,.........`````````...........,,,,,,,
iiiiiiiiiiizxxxnnn##+******+#nx*+xi;ni:z++++#znz#+++++***i:..,,..``..`````````...........,,,,,,,
iiiiii*iii*zxxxnnnz+++**+++++##z+x#;z#i*+++###zzz#++*****i:...,..`..`..`.``````..........,,,,,,,
iiiiii*iii*zxxxxnnz#++*+++*+++++znni*zi+###zzzzzzz##+****i;,.,.......```.`.`````........,,,,i,,,
iiiii**ii**zxxxxxnz###+**i***+****zz+znnzz######++++++***ii,,,,...`.``..```.````.........,,,,:,,
i*iii**ii**zMxxnnnnz###+****i*+*ii#xzzznnnz#####+++****iiii:,,.......``.`.``.`...........,,,,,,:
i**ii******zMxxnnnnz###+*******iii*xzzzz#zzzzz###++****iiii;,,..........```..............,,,,,::
******i****zxxxxnnnz##+++******iii*xn#zzzz###zz#++****iiiii;,,.....``..````.............,,,,,:::
***********zxxxnnnnzz##++*******ii#xn###z#z#######+****iiiii,,..........``.............,,,,:::::
***********zxxxnnnnz###++*******iixnnz####zzz##+++*****iiiii,,........................,,,,,,::::
*******+*++zxxxnnnnzz###++*+******xxnz#zzz##zz##++*****iiiii:,,.....................,,,,,,,,::::
**********+zxxxnnnnzz####++******ixxnn+#zznz#z#+++**i**iiiii:,,,...................,,,,,,,,:::::
z#+**++****#xMxnnnzz####+#+++**i*inxxnzzzzzzzz##+++***iiiiii;,,,..................,,,,,,,,::::::
nzzz+**++++#MMxxnnz#######++***i**nxxxn#znz#zz##++****iiiiii;,,,..................,,,,,,,,::::::
nz#zn*+++++#xxxxnnz########+****i+nxxxnzzzzzzz##++****i*iiii;,,,...............,..,.,,,,,,:::::;
zzz#n++++++#MMxxnnzz#+#####+****i*nxxxxzzzzzzzz##++***iii**ii,,,,................,..,,,,,:::::;;
zznnn++++++#MMxxnnzz#++###+++**ii*nnxxxxnnnnzz###+++****iiiii,,,,,..............,,,,,,,,:::::;;;
nnznz++++++#MMMxnnz##++#+#+++***i*nnxxxxznnznnz#+++++***i*iii,,,,,..............,,,,,,,,:,::::;;
nznxz##+++##MMMxnnz##++#+#+++*****znnxMxnznxnzz##+++*******ii:,,,,............,,,,,,,,,,::::;;;;
#znxn##+#+##MMMxxnz#++#+++#+++***+znnnMxxnnnxn###+++*******ii::::,............,,,,,,,,,::::;;;;;
zzxnnz######MMMxxnz##+#+++#+++***+znnnMxxnnnnnn###+++*+****ii:::,,,....,......,,,,,,,,::::;;;;;i
+zMnnz######MMMMxnzz###++####+***+zznnxMxxxxnznnz#++++++***ii;::,,,,..,,,....,,,,,,,::::::;;ii;i
#zxnnz##+#zzMMMMxnz####+++##+++**+zznnxMMxxxxnzzz##++++*****i;;:::,,.,,,,,..,,,,,,,,::::::;;ii;i
#nxnnz##+##nMMMMxnz####+++###+*+*#zzzzxMMMznxxxzz###++++****ii;;::,,,,,,,.,,,,,,,,,,::::::;;;;ii
#xxnnzzz###nMMMMxnzz###+#+####++*##zzznMMMnnxxxnzz##++++****i*:::,,,,,,,,,,,,,:,,::::::::;;;;iii
nxnnnnzz##zzMMMMxnzzzz#+++####+++##zznnMMxxnxxxnnzz###++++***i:::,,,,,,,,,,,,,:::::::::::;;;;iii
Wxxnnzzz####xMMMMzzzzzz++++###+++#zzznnxMxxnnxxnnnz#z##++*+**i;:::,:,,,,,,,,,:::::::::;:;;;iiiii
Wxxnnzzz####xMMMMn#zzz#++#+#+##++zzzzzzxMxxxnxxxnnzzz###++++**;:;:::::,,,,:,:::::::::;;;;;;iiii*
Mxxnnzzzz###xMMMMxzzzz#+##+#+##+#zzzzzznMxxxnxxxxnzzzz##+++++*;;::::::,,,,,:::::::::;;;;;;iiii**
Mxxnnnzzz###xMMWMxzzzz#+##+#++++#z####zzxxxxxxMMxnzzzz###++++*;;:::::::,,:::::::::::;;;;iiiii***
xxxnnzzzz###xMMMMxnzz#####+##+++#z#####znxxxxxxMxzz#zz####+++*;;:::::::::::::::::::;;;;;iii*****