MMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzz###########+++++++++++++++++++###################zzz
MMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzz########++++++++++++*++++++++++++++#################zz
MMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzz######+++++++++*****************++++++++++++###########
MMMMxxxxxxxxxxxxxxxxxxxxxxxxxxnnxxnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzz#######+++++********iii**************++++++++++++#######
xxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzz########+++++*******iiiiiiiiiiiii***********++++++++######
xxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzz##########+++++****iiiiii;;;;;;;iiiiiiiii********+++++++#####
xxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzz#########++++++***iiiiii;;;;;;;;;;;;;iiiiiiiii*******++++++###
xxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzz########+++++++***iiii;;;;;::::::::;;;;;;;;iiiiii******+++++###
xxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzz############++++*****iiii;;;:::::,,:::::::;::;;;;;;iiiii****++++++#
xxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzz###########+++++++****iiii;;;:::::,,,,,,,,::::::::;;;;iiiii****++++++
xxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzz##############+++++++*****iii;;;:::,,,,..,,,,,,,,,,,:::;;;;;iiii*****++++
xxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzz################+++++******iiii;;;:::,,,,........,,,,,,::::::;;;;iii****++++
xxxxxxxnxxnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzz###############+++++++****iiii;;;;:::,,,,.............,,,,::::::;;;iii****+++
xxxxxxxxxnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz###############++++++++****iiii;;;::::,,,....```..........,,,,,::::;;;ii****+++
xxxxxxxxnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz################++++++++****iiii;;;:::,,,,....``````````.....,,,,,::::;;iii****++
xxnnnxxxnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzz###############++++++++++*****iiii;;:::,,,,....``   ``````.....,,,,,,,:::;;iii****+
xnnxxn#.xxzznnnznnnnnnnnnnnzzzzzzzzzzzzzz#z##z#z##########+++++++++**++****iiii;;;;::,,....````       ``.........,,,:::;;;iii***+
nnnxnxz,ixznnnnnnnnnnnnnnzzzzzzzzzz###zzz#z##z##########++++++++++++++****iiiii;;;:::,,,..```         ````.......,,,::::;;iii***+
nnnnnxn;,znnnnnznnnnnnnnzzzzzzzzzzznzzzzz##############+++++++++*++*******iiii;;;;:::,,,..``          `````......,,,,:::;;iii****
nnnnnxx+.;xzxnzxnnnnnnnzzzzzzzzzzz#####zz############++++++++++++++******iiii;;;;::::,,,..``         ```````.....,,,,:::;;iii****
nnnnnnxn,.nnnzznnnnnzzzzzzzzzzzzz##zzzzzz###########+++++++++++++*******iiii;;;;::::,,,....``         `````......,,,,:::;;iii****
nnnnnzxxi.;nnnnznnnnzzzzzzzzzzzzzzzz#i,.#z#########++++++++++*******+***iiii;;;;:::,,,....```           ```......,,,,:::;;iii****
nnnnnznn#,`+#nxnnnnnzzzzzzzzzzzzzzz#+;::iz########+++++++++++***++***ii*iii;;;;;:::,,,....```         ``````.....,,,:::;;;iii****
znznnnnzxi::;i*#nnnnzzzzzzzzzzzzzzzz+;:::########+++++++++++++++**i;:,:;iii;;;;;:::,,,,...```       ````````.....,,,:::;;;iii****
nnnnnnnnnnz#+*;;:;*+zznzzzzzzzzzzzzz*:::.##z####++++++++++++++++*i;:,.`.iii;i;;;:::,,,,....``````````````........,,,,:::;;iiii***
nzzzzzzznnnnzz##*i;::;**zzzzzzzz####*:::.;######++++++++++++++**;;:,.,. ;ii;;;;;:::,,,,.....```````````..........,,,,:::;;iiii***
zzzzzzzzzzzzzzzzzz#+*i;;:;i*#zzz#zzz*::::,z########+++++++++**i;::,...` :ii;;;:::::,,,,,.......``````.........,,,,,,::::;;;iiiii*
zzzzzzzzzzzzzzzzzzzzz##+*i;::;ii*+##*::::.+##++++++++++++++*i;::,,...```:ii;;;;:::::,,,,..........`..........,,,,,,,:::;;;;iiiiii
zzzzzzzzzzzzzzzz###zzzzz##+*i;;::;i*i:;;:.;#++#++++++++++*ii;:,,.,.``..`;ii;;;;:::::,,,,,,..................,,,,,,,::::;;;;;iiiii
zzzzzzzz#####z##zzzzzz##zzzz##*ii;;i;;;:::,+++#***++++***i;::,,.....,:,.;i;;;;::::::,,,,,,,.................,,,,,,:::::;;;;;;iiii
zzzz##z################z###+#znz++**i;;:::`;i*i;,;i*****;;:,,....`.::,:;i;;;;;::::::,,,,,,,,...............,,,,,,,:::::;:;;;;;;ii
z#####################+++####z#++#z#*:::::.:i*;;i*+++i;;::,,.....,::,,;i;;;;;::::::,,,,,,,,,...............,,,,,,,:::::;:;;;;;;;;
################+####+++++++++++++++i::::::.+i*+z#+**i;:,,,....`::,::i;;;;;::::::,,,,,,,,,,...............,,,,,,,,,:::::;;;;;;;;;
##################++++++++++++++****i::::;:.+#nz++*i;::,.,.....,:,::;;;;;;::::::,,,,,,,,,,................,,,,,,,,,:::::::::;;;;;
####++++++++++++++++++++************i:;:,::`:i*i;;;;:,,....``:;`,.:;i::::::::,,,,,,,,,,,...................,,,,,,,,,::::::::::::;
++++++++++++++**ii******************i:;::::,````,,::,,....`,;:.,,,:;;:::::::,,,,,,,,,,,....................,,,,,,,,,,,:::::::::::
++++++++++**+**iii;;;iii********iii*i:;:::::.``.,,,......`:i:,::::::,:::,,,,,,,,,,,,,,......................,,,,,,,,,,,,:::::::::
+++++************iii;iiiiiiiiiiiiiii;:;::,,,,,:,,,,.....,i;,,:;;;;::,:,,,,,,,,,,,,,,,........................,,,,,,,,,,,,,,,,,:::
*********************iii;;iiiiiiiiii;:;::::,,::,,,....,,i::;;;i*ii;;:::,.,,,,,,,,,,...............................,,,,,,,,,,,,,,,
********iiiiiiii*iiiiiiiiiiiiiiiiiii;:;::::,:,..,,...,:i,:;*++*ii;i;i:::....,.......................................,,,,,,,,,,,,,
****iiiiiiiiiiiiiiiii;;;;ii******+zxi;:::::,,,,,,..,:;:,:*++#zz+*iii;i;;:.,.,,...............................................,,,,
*iiiiiiiiiiiiiii;;;;;;;;;;;;;*#znnxxi;::,::::,,,,,,,.,::#*;,,:*##++****;;:,..``,................................................,
iiiiiiiiii;;;;;;;;;;;;;;:::::;*+xxMxi;:::;;;::::,:::::;i:..,..;+:i+++i+;*:;;..................``...`````````.....................
iii;;;;;;;;;;;;;;;:::::::::::,,,:*nni:;*i**ii;iiiii;::,.,,,,.``...,Mnz++**;;;:``..```...```````````````````````````..............
;;;;;;;;;;;;;::::::::::::::::,,,,,,*+##*++**iiii##+i:,..........``,,;,z##*++;;i,.```..```````````````````````````````...``.......
;;;;;;:::::::::::::::::,:,,,,,,,,,:i#zzz++++**iii;,.``.........`.,```;i,;+#*#iii:,.``````````````````````````````````````````....
;;::::::::::::::::::,,,,,,,,,,..,.,;+##*****+++**;,``....```.....``.```.`,;i#*+ii;:.``````````````````````````````````````````...
::::::::::::::,,,,,,,,,,,,,,,,,,,...,...,..:i+++**i:.`..`..``.````.``.`````,x###***;,.````````````````````````````````````````...
::::::::::,,,,,,,,,,,,,,,,,,,,..,,............;*+++*;,.`````````````````.``:,`.iz#+**i:`````````.``..``````````````````````````.`
::::,,,,,,,,,,,,,,,,,,,,....................``.,,;*+#*:```````````````````..```..;+#+*ii,` ````.``..`````````````````````````````
,,,,,,,,,,,,,,,,,,,,,,,,......................````.,i++i`````````````````.````````.:+##+;;,``..``.,.`````````````````````````````
,,,,,,,,,,,,,,,,,,,,,,,,........................,,.`.,,,.................``.....````.,i#z+i;,` ..,,.``.``````````````````````....
................,,,,...............................,....................,........`````.,i+#+i;,`:,...............................
.......................................,..,.....,........................,,...,,..,,..`..,;+z+*i;,..,............................
................................,,,,,,,,..,,,,,,....................,,,,.,,,,,,,:,,,,,,,.,..:*++:,,,,,,,.........................
,,...........,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,.,,,..,,.,,,,,,,,....,,,,,,.,,,,,,,,,,,,,,,,......,,,,,,,,,,,....,,,,.............
,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,,,,::::::,,,,,,,,,,,,,::::::::::::::::,,:,,,,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
::::::::,,,,,,,,::::::::::::::::,:::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,::::,,::::::::,,,,,,,,,,,,,,,,,,,,,,,,,
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::::::,,,,::::::::::::,,,,,
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:,..::;:::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;;;:::;:,..,::,,,,::;::::::::;:::::::::::::::::::::::::
::::::::;;;;;;:::::::::::::;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;::::,...,,,.``.,:::::::::::::::::::;;;::::::::::::::
;:;;;;;;;;;;::::;:;,::;:;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;:,,,..`.,,,,:.....;:::::,,,,,,,:,,,,,,,,,::;:::;;;;:::
;;;;:::::;;;::;;;;;:;;;;:::::;::;:::;;::;;;;;;;;;;;;;;;;;i;;;;;;;;;;:,,:::,..,,,...,,,::.....,,,:::,,,::;:,,:::,:,,,,::::::::::;:
;;;:,::::;;;;:;;;;;;:;;;:;:::;:,;:::::::;;;;ii;;;;;;;;;::;;;:;;;;:::::::,,,,,:,,,,.,,::,..,....,::;:,..,:::::;;:;:,,,,:,:;;:::,,:
;;;:,;;;;;;;;;:::;:;,::::::::;:::::::,::;;;;;;;;;iiiii;:,:;:,:::::::,::;,::::::,:,,,,::,,,,..`.,.,;;:,,:::;;;;;;;:,:::,,,,::;;:,:
::;,.:;;i;;;;;:,,:::,:,::::::::::::::,,:::;;::;;;;;;;i;:;;;::::::::::,:::::,:::::,,,,::,,:,,.`.,,:;i;:::;;:;;;:,:,,::::,..,,:;;::
:::,.,::;;:;;;;:,,,::::::,::;,:;;:,:::,,::;;;:;;;;;::;;;;ii;;;;::;;;;:::;::,,:;;:::,,,::,:,:...,;;;;;;:,:;;;;:::;:::;;;:,,,,:;:,,
:,::,:::i;::;;;;,,::;;;:,,::;:;;;:::;::,:;;i;;::iii;;;;i;;;;;;;;;;ii;;;;;;:::;;;;:::,::;::,:,,,,,:,,:;;;:;ii;:;i:;;;;;;:,,::;;;:;
,.,::;;;i;::;;ii::::;:::..:,;;;:;;;;;;::;;iii;:,:;;;;;;i;;;;;;;iii;;;:::;;;::;;;i;;;::;;;;:,:,:,,:,..:iiiiii;;;;,;ii;;;,;;;::;;;:
,::;:::::::;;iiii;::;i;:;,,:;::;i;;ii;:,::;iii;,,:;ii;;i;;iiiiiiiii;;;;;iiiiiiiiiii;;;;::::;:,,,:;;,.,:;;;;;;;;;::;;;::,:*:::;i;,
:;::::;;;;;iii;;;;iiiiiii;;::::;;;;iii;:.:;;;;;;;;ii;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiii;;;:;;;;;;:,:;i;,:;;,.,:;iiii;;;::::,*;;;;i;;
;;;,:;ii;iiiiiiii;;iii;:;iiiiiii;::;;;;:,;i;;;;;;;;;;iii;;iiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;::;;,.,::::;;;,,::;,,ii;:,::,.;:iiii:i
ii;;;iiiiiiiiiii*i;iii;::;iii**i;;:;;;;:;;;;;:::::;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;:ii;,,.,::::;.,::i;;ii;::;i:.::ii*;,:
iiiiiiiiiiiiiiiiiii*iiiii;;;;;iiii;;ii;:;:;ii;:;;;iiiiiiiiiiiiiiiiiiiiiii****iii**iii;;;i;iii**ii;:::;;;i,:,:ii;;ii;;ii;,:;*iii;,
iiiiiiiiiiiiii*iiiiiiiii*i;:::;;iiiiii;;::;**;;i;;i*i;;i***iiiii****iiii*******iii**ii;;;,:i**i;iii;;;i*;,:,,ii;;;iiiii;,::*i*ii,
;iiiiiii;;iii*iiiiiii*ii*ii;;:;;iiii;;;;:;i**ii*iiiiiiii*******i**iiiiii*********i****ii;:;i**i;iiiiii***ii;:::,iiiii**i:,,;;*ii;
:;i;;iii;iiiii;:,;*i;iiii**i;;;;iii;;;;;,:;;i**ii**ii**i*****************************ii**ii****ii*iii**iiii**iiii;;;ii*i;:;i:;;i*
,,,.;iiiii;:;i;:..:;;:i;:;i*iii;;iiii;;;:;;;;i***************************************ii**ii*******iii**;;,:*******i::;;i::ii*;;::