@@WWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@W@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxx
WWWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxx
WWWW@WWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWW@@@@@@@@@@W@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxx
WWWWWWW@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWW@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMxMMMMMMMMMMMMxMMMxxxxxxxxxxxxx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMxxMMMMMMMMMMMMMMMMMMxxxxxxxxxxx
@@@@@@@@@@@WWWWWW@@@@@@@@@@@@@@@@@@@@@WWWWWWWWWWWWWWWWWWWWWWWWMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMxMMMMMMMMMMMMMMMMMMMMMMxxxxxxxnn
@@@@@@@@WWWMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWWWWWWWWWWWWWMMWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWMMMMMMMMMMxxxxxxnnn
WWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWW@@@@@@@WWWWWWWWWMMMMMMWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWMMMMMMxxxxxxxnnn
@@@@@WWWMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWW@@@W@@@@@@WWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWMMMMMMMMMMWWWWWWWWWWWWWWWWWWWMMMMMMMMMxxxxxxxxx
@@@@@@@@@@WWMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWMMMMMMMWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMMMxxxxxxx
@@@@@@@@@@@@WWWMWWWMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWMMMMMMMMMMMMMWWWMMMMMMMMMMMMMMMMWWWMMMMMMMMWMMMMMMMMMMxxxx
@@@@@@@@@WWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@WWW@WWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMM
WWWMWWMMMMMMMMMMMMMMMMMMxMxxMxxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnxxxxnxxxxxxxxxxxxxxxxxxxxxxxx
MMMMMMMMMMMMMMxMMMMMMMMMMMxxxxxxxxxxxxxxxMMMMMMMMxxxxxxxxxxMMMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
MMMMMMMxxxxxxxxxxxxxxxxxxxxxMMMxxxxxxxxxxMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnz
MMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnxxxxxxnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzz####zzz#######
xxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnxxnnnnnnnxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzz###########################z
xxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzznzzzzzzzzzzzzzzzzzzzzzzzz#z################################zz
nnnnnnnnnnnnxxnxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznzzzzzzzzzzzzzzzzzzzzzzzz#####zzzzzz####################################
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzznzzzzzzzzzzzzzzzzzzzzzzzz#################z#####################################
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz##################################################+++++++
nnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz#########################################+++++++++++++++++
nnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzzzzzzzz####zzz##############################++++++++++++++++++++#++++++++++++++++
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzzzz#######################################+++++++++++++++++++++++++++++++###+++++++++++++**
nnnnznnzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz###########################################+++++##++###+#+++++++++++++++++++++++++++#++++++++*********
zzzzzzzzzzzzzzzzzzzzzzzzzzzzz########zzz######################################++++#++++++++++++++++++++###+++++++++++++++++++++++++++++++*************
##zzzzz#zzzzz#zzzzz###############################################################################++++++++++++++*+*****************+******************
##zzz############################+##############################################################++++++++++**********************++********************
#zzz##+++++##############+++++#+++++########################################+++########++++++++++++++++++++****************++***+++++++***************
###+++++++++++++++++++++++++++++++++++############+++++++++++##+++++++++++++++++++++++++++++++++++++*+**++*+++*****************++++++*****************
+++++++++++++++++++++++++++++++***+#+++++++++###++++++++++++++++++++++++++++++++++++++++++++*++++*****************************************************
+**+++++++++**++*****+++++++**#****++++++++++++++***+***************************************************************iiiiii**************i*iiiiiiii****
****************************+*+***+##**+***************************************i*************************iii**ii*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**
**************************i*****i**+++i*+i*i**********************i*ii*****iiii*****************************iiiiiiiiiiiiiiiiiiiiiii***i***************
iiiiiiiiiiiiiiiiiiiiiiiiiiiii*****#+i***iiii***i**i***************************************************************************************************
iiiiii*i***iii*i********i****+ii*i*i;*i;;;ii************************************************************************ii**iiiiiii******i****************
iiiiiiiiii***************iii**ii*;ii:;;:iiiii**************************************iiiiiiiiiiiii**iiiiiiiiiiiiiiiiiiiiii;;;iiiiiiiii;;iiiiiiii;i;iiiii
iiiiiiiiiiiiii*iiiiiiiiii*+iiiii*i;i;*:ii*;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
iiiiiiiiiiiiiiii;i;;;;i*;i**iii;:;;;:::i:;;;;;;;;;;;;;;;;;;;;;;;iii;i;;;;;;;;;ii;;i;;;;;;;;;;;;;;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;i;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;i;;;i;;;;;i;iii;i;i;:::;i;;i;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;iiiiiiii;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***i+#+#*i+*iii
;;;;;;;;;;;;;;i;;i;;;;;i*;ii;;;;;:::;*i;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiii**************************************************+z++*********+#**nxnx#+Mz#++
iiiiiiiiiiiiiiii**i***iii*iiii;ii;;;;i;;;ii*i******++*+**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*:*+####nzn#+++++++#z##+xxzx##WWWxz
**+**+********ii****i***ii*i;;i;;:;;;;;;;iii;********i*****+**++***++*i*****++++**+++++++******+*+#+++++++++#+***+n+:++z##xx+xz+++++zxnnnz+nx###ixMMnz
:;;;;;;;;;;;;i:;;;;;;:;;;;i;;:;::::,:::;::::;:;::;;::::::::;:::;:;;iii;;iiii;;;;ii;;;;;;;;;i;;;;;;;;;;;;:::;;;;;;*i;:++*+##***i*iiii;**ii;ii*;iiiiii;i
::::::::;;;;;;;:,:::::;;;;:;:i;;::,,:::::::::::::;::::::::::::,,::::::;;;;;;;;iii;ii;;:::*iii:;;;:::;ii;;:::::;;;;:::;;;;;i;;;;+++***++*:::;;;i++*iii*
;;:,,,,,:;iiiii;,::::::::::::;;:;:;:,,::::,,::,,::::::::,::::,,,,,::::::::::::;i;ii;;:::::;:::;*::::::ii;;:;::::i;:::;;;;;;;;;;+++*#*#++::;::;;;:::;i;
;;:,:;;;;*****;;:;;::,,,:::::;;i;;::,,:,,:::::,,:::::,:::::::,,::::::::::::::::*+#+ii;;;;::::::;::::;i**+*ii;::,i*;;:;i;;;;;;;:;;;i;;+iii:;;;;;;;;;;;;
*i;i+#++++#+#+*i**i;i::::;;:;iii;;;:;;:::;::;;;:;;;;;;;;;::::::;;i;;:;:::,::;:;;+#;;iii;**i::::;;;::i*i*+******++***:;;;i;;:;ii;*i*i*+*;i:;:i;;;iiiiii
******++***+++**************++#z##***i;i;;;ii;;;i:;::;;;:::;:ii**+#+*;:::,*;:;::,::;;;::;ii;*;;ii;;;iii*+***+**+***i:iiiiii;i+**+:*****ii;::iiiiiii;ii
++++++++++++*******************+++#+#+##++++*;;;;;;;::,,:::;:*+#++#++###i;;;:;:;;:;i;:::::::i*iiii;;;;;;iii*+**+i:::,,,,::;ii#**+:;+*+**;i;iiiii;;;;;i
++++++++++++++*******************++++++++#+ii**+i+ii;;:::ii;i*#z#+i;;;;;:;;;;+:::iiiii:;::::;iii;;ii;;ii;;*;;;ii;::;;;;;:::i+**iiiiiii**iii;;;ii;;i:;;
++++++++++++++++********************+++**+**ii*+*+ii*+**i#iiiznz#*i;;;i;i;i;;i;::;;;;;;;;;;;;iiiii;;;;;;;;;;;**iii+;;::ii;i##*iiiiiiiiiii;;i;ii;;;;;;:
+++++++++++*****************************++*i*+**##*****i+*i*zz#++i;;i*+ii;;;;;;;;;;;;;;;ii;;;i*i*;#i;i;;i;*;;;i*;i;::::;;:::i:iiii;;:;i;ii;;;i;:;;::;,
++**********iiiiiii**i***++*****************###z#+*+i*****;*#z+iiii;;+z#*##z*#**#*+z*#z*z#z+i+##*i**i;**i;i;;;i*+*::;:,;i;;*iii;;;:::;::;i;;;::;;;::;:
*******i**ii*ii*ii*******+********************++++**i***i;;i#z***iii:;****+z#*i***+++++#+i*i;;#ziii*i;;iii**i+i;**;iii:;ii;;;*i;;:;;;:,,:;::;;;;:::,;:
***iiii*****************+**++++************i*****+*++*iiii+++ii;i*#*;:iiiii**i;*::i;ii;i*;;iiiz#ii**++*ii;;ii;::i;;;;;;;:;;ii*;;;;;;i,:,:::,:;;:;,:;;:
*****************************+++**********i*********++++++++***i*i*iii*;;i+*;iiiii+*z#*+***ii*z#;#*ii;i:;;;;;ii;*:iiiiiii*;+i;;ii;i:i:;::;:;;:;::,::::
*****************************+++++****i***ii**********++++++++***iiii+iiii+*;***ii#zz+#++++i**i+:#*;;;;i;;;i;;;;*i;;;;:::*;*i;;i:;;;;;;;;;;;;:::::,,,,
**********+++++++++++++++++***++++++*iii*****************+++++#+++++++***##++###*i+#**+**+*+i**+i+#*iii**+++**++##zz#++z+#*+i;;;;;;;:;;;;i;:;:;:::,,,:
+++++++++++++++++++++++++******++++*i*i*********i***********++++##+*****+++**i***i*ii*i*+#+##+##z++*iii#+++#####zz####+z##+i;**i*i;;;;;i;;i;i;:,,:,,i;
+++++#+++++++++++++++++++*********i;*ii**************************+++#+**++*+***+*ii;;ii;*+##+++###+***#+#++z#+znz####+#z+++ii*+*i;i;:;;:;;;:;i;:;:,:::
+++++++++++++++++++++++++++*****+**i***+**************i***********+*+***++++***iii;i;;i;ii*****+++*++nz+++##znn#++++##zn###++#+*i;;,:;::i;ii*i;,;:,:::
+++++++++++++++++++++++++++********************i****iiiii*i*****************+*ii**ii;i;iii****#+++*+nn#*###+zz#++;i*+#zz####zz++**i;i;i;;i*+#i;,;;.,::
++++++++++++++++++++++++++*++**********++*i*********;ii**i;i*ii**i*************++*ii*i;ii+iii***+++z##ii*+*+#z**i:i***#z##z#zzz#++*i*i*;;++#+*i;;::,.,
+++++++++++++++++++++++++***+************+*********ii**ii***iii****************+++#++***+#+*i*****+zz+*ii+*###**i;iii**###+#++##++*+i+*i*z#z#*i;::::,.
+++++++++++++++++++++++++++++++****************+****++**i**iiiiiiiiii*i**+****i*++##z++**+;ii***i****ii;*+*i***i*i;iiii++*+;**+*+*i+****+++##+i;:::;,,
+****+++++++++++++++++++++++++********i****ii****;**i*******iii*i*ii*******iiiii****+*++**iii**+*******iii;;i*ii:::;i*;i*;*;+i*ii;;i;;*+***zz+*ii;:;i;
*+*++++++++*+*++++++++++++*+*****************************i*****ii*iiiiiiiiiii*iiii***i****ii*i**iii***;ii;;;:*;;::::;ii**iii;:;;;;ii:ii***++++*++*;i**
*++++++******+++++++****************+****+****+*+***+***i****iii*iiiii;;;iii;i;;iiiiiiiii*i**ii*;:;**i;ii;;;;;:;,::;;;;iiiii;;iiii*iii;i*****+****;ii*
*******************++****+**+++***++*+*+++***++**********+***iii*;ii;;:ii;;;i;i;iiiiiiiiiiii*i*iiiiii;iiiiii;:;;;;iiiiiiiiii;;iiii*i;;;iiiii***ii*+**i
***i***********ii******++***++**++++****++*+*******+*+***ii**iiiiii;;;;i;:;;;;iii;iiiiiiiiiii****iiiiiiiiiii;;i**iii;;;;iii;;;iii;;i;;;:;;;;iii*i**;ii
*iiiiii****i*********+*****+*i+**+***************+++****i*iii*ii;;;;;i;;;;;;;:;;;;;ii;ii;iiiiiiiiiiii*ii;;i;;;;;;;i;;;;i;;;;;ii;;;::::,:;;:::;;iiii***
*iii*iiiii************+***i*******+********************i**ii*iiii;;i;;;;;;;::;;;:;;;;;;;;;;:;;;;;;;iiiii;;;i;;;;i;;:;i;;;;;;;;;;;;;:,,,::::,::;ii;i**i
iiiiii*****iii**i**i***********+**+*ii*******iii*i*iiii*iiiii;iii;i;;;;;;::;:;;;;;;;;;;;;;;i;;;;;i;;;;;iiiii;;i;;;;;;;;;;;;;;:;;ii;;;;;;:;;;iiiiiii**i
ii;;;iiiiiiiiiiii*ii***************ii*i*ii***iiiiiiiiiii;i*ii;i;;;;;;;;;:;;;;;;;;::::;::;;;;;;;;;;;;;;;;;;;;;ii;;;;;;;;;;i;;;;;;;;;;;;;;iiiii;;iiiiiii
;iiiiiiii**i***iii**+**i**i*****ii***+iiiiiiiiii;iiiiii;i;i;;i;;;;;iii;;;;;;;;:;;::::::::::::::::::;::;:::;;;;;;;ii;;i;;;;;;;;;;;:;i;;ii;i;;i;;;*i;;;;
iiiiii*i*******iii***ii**iiii*iiii****iiiiiiiiiiiiiiiiiiii;;;;;ii;;;;;;;;;;;;;:::::::,:::::::::::::;;;;;:;:::;;;;;;;;;;;;;:;;;:;:;i*ii;;;;:::;;;i:::;;
ii*ii;;i*i**iiiii;ii;iiiiiiiiiiii*iiiiiii;iiiiii;i;;i;;;;;;;;;;;;;;;:::;:::::::::::::::;;::::::;:::::;;:;:::;;;::;:;;;;;;;;:;;;;;iii;;;;::::::::::,:;:
iiiii;;iii*iiiiiiii;iiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;ii;;;;;;;:;::::::::::::::;;::::;::::;;::::::::::;::;::;:;;;;;:;;;;;i;ii;;;;;::::::::::::;:,
i;;;;;iiiiiiiii;iiiiiiiiiiiiiiiii;;;;;;;ii;;;;;;;;;;;;ii;;;;;;;;;;;;::::::;:;:;;;*::::::::,,,:,::::::::::::;:;::;:;:::;;;;;iiiiiiii;;;:::::::::::,;:::
;ii;;;;iiiiiiii;iiiiiiiiiiiiii;;i;;;;i:;;i;:;;;;;;;;;;;i;;;;;;i;;:::::,::::;;:;;:;::::::::,:::::::::;::::;:;:::;;::::::;;;;;;;;;;;;i;;::,,,,,:::::;::;
i;i;;;;;;;;;;;;;;iiiii;;;iiiiii;i;:;;;;;;;;:;;;;;;;;:;;;;;;;;;;;;;;::::;:;::::::::::::::::::::::;;:;:::::::::::;:::::::::::::::::::::::,,,,,,:::,::,,:
;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii;;;;;;;;;;;;;:;:;;:;;;;::::;;::;:::::;;;;ii:::::;::;:;:::::;;:;::;::::::::,,,::::::,::,,,,,,,,,,::,::::::,,:::::,:::,,:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:::::::::::::::;;;;;i;i;;;;;::;:;;;;::;:::::::;:;:::::::::,::::,:,:,,:,,,,,,,,,,,,::::::::::::,,,::,:,,
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;:::::::;::;;;;;;;;;;:::;:::;;;;::::::::,::i::::,::::,,,,,:::,,,,,::,:,:,,,::::,,,:::::::::::;::,,,
;;;i::;;;;;;;;;;;;;;;::;;;:;;::::::::::::::::::::::::::::::::;:::;;;:;:;;:;;:::;;:::::::::,,::::::,,,,::,::,,,,,,,,,,,:::,,,:::::::::::::::::::;;:::,:
;;:;;;;;;:;:;;:::;:::;;;:;;;:::::::::::::::;:::::::;:::;:;;:;;;:;;;;;;::;;;;:::::::::::,,,:,,,:::,,,,,,,,,,,,,,,,,,,,,::,,,,::,,,,,,,:::::::::::::::,:
::::::;::::::::::;::::;:;;;;;;:::::::::::::::;:::::;:::::::::;;;;:;;;;;;;i;;;:::::,::,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,,,,,,,,:,:,,::::
::::::::::;;;:::::;:;;;;;;;;:::::::::::::::::::::;:::::::;;;;;;;;;;;;;;;;;::::::,::,:::,,,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,::,:,,,:,,:::::
:;::;;;;;;:;;;;;;;;:;::;::;:::::::::::::::;:::::::::;::;;;;;;;;;;;;;;;;;;;;::::::;,,:::,,,,,:,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,:,,:,::::,:::::::,::::,::;
:::::;;;;;;;;;::;;::::::::::;::;::::;;:::;:;::;;;;;;;;;;;;;;;;;;;;;;;;;::;::::::::,,,:,,,,,,::::,,,,,,,:,,,,,,,,:,,,,,,,,,,,:,,::::::,,,,,,::::,::::::
;;;;;;;;;;;:::::::::;;;:;::::::::::::;;:;;;;;;;;;;i;;;;;;;;;;;;;;:::::::::::::::::,,,,.,,,,,::,:,,,:,:,,::,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:,,,,,::,,
;;;::;;;:;;:::::::::;;;::::::;;::::;;;;;;;;;;;;;;;i;;:;;::;;:::::::::::,,,,:::::,,,,,,,,,,,:,,,,,,:::,,,,:,,,,,,,,,,,,.,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,
::::::;::;;:::::::::::::::::::;;:;:;;;;;;;;;;;;;;;;:;::;::::::::::::::,,,,::::::,,,:,,,,,,,,,,,,,,:,:,,,,,,,,,,,,,,,,,.,:,,,,,,:,,::,,,,,.,,,,,,.,,,,,
::::::::::::::::::::,,::::::;:;::;:;;;;;;;;;;;;;:;;:;::::::::::::::::::,,,,,,,:::,,::,:,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,,,,,,,,,,,,,,,,,,,
::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::,::,,,,,,,,,,::::::,,:::::,,,,:,:,:,,,,,,,:,,::,:,,,,,,,,,,:,,,,,,,,.,,,,,,,,,,,,,,
,:::::::::::;,::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::,::::,,,,,,,,,,::,:::,,,,,,,,,,::,:::,,:,,,:,:::,::,,:,,,,,,.,,,,,,,,,,,,,,,,:,,,,,,,,
,,,::::::,:;::;;;;;i:;;;;;;;;;;;;;;;;;;;;:;:::::::::::,:::,,,,,,,,::,,,,,,,,,,,:,::::::;;::::::::::::,:::,,,,,,:,:,,,,,,,,,..,,,,,,,,,,,.,,,,,,,,,,,,,
:::;:,::::;;:;:;;;;;;;;;;;:::;;;;;;:;:::::::::::,::::::,::,:,,,,,,,,,,,,:,,:::::,::;:::,::::,,,,,,:::::::,,,;*::,,,,.,,,,...,,..,:,,,,,,,.,,,,,,,,,,,,
:::;;,::::;;:::::;;;:;;:;:::::::::::::::::::::::,:::,::,,,,,,,,,,,,,,,,,,,,,::::::::,::,::,,,:,,::,,:::,,,,,:;;::,,,,:,,.,,.,,,,,,,,,,,:,,,,.,.,,,,,,,
:::;:::::;;::::::;::::::::::::;;;:::::::::::::,,:::,,:,,,,,,,,,,,,,,,,:,:::::,::::;;::::::::,,:,::::::,,,,,,,,,,:,,,,,,,,,,,,::,,,,,,,,,,,;,.......,,,
:::;::;;:::::;:::::::::::::::,::::::::::::::::::,,,:,,,,,:::::::,::::::::::::::::::,::;::::::::::::::,.,,,,::,,,,,,,:,,,,,.,,:,,,,.,,,,,,,:,...,...,,,
:::::,::::;::::::::::::::::::::::,,::::::::,,,,:,,,,,:::::::::::::::::::::::::,:::,,,::,,,::;;::::,::,,,:,,:,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,.,.,..,,,
::::::::::;:,,::::::::::::::::::::::::::::::,:,:,,,,::::::::::::::::::::::::,,,,::::,,,,,,:::,::::::::::,,:,,,,,,..::,,,.,,,,,,,,,:,;:,.,.,,.,,,,..,.,
:::,:::::::::,:,:,,,::,,::::::::::::::::::::,,::::::::::::::::;:::::::::::,,,,,,,,:,,:,:,::,,:,,:,,:::,,,,,,,,.,,..::,,.,,.,,,,,.,,,,,:.,..,..,,,,,,,.
:::::,::,::,,,,:,,,:::::,::::,:::::::::::::::::::::::::::::::::;:::,:::::,,,,::,,,,,,::,:::,:::::,,::,,,,,,..,,,,,:;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,
:::::,:::,:,,,,,,:::::::,,:::::::::::::::::::::::::::::::::::::::::::,:::,,,,:::,,::,,:::::::,:::,::,,,,,,,.,,,,,,,*,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,,
,,,,:,,,:,::,:::,,:,,::,,::::::::::::::::::::::::::;:::::::::::::::::,,,,:,:,::,,,::,,,,,,:,::,:,::,,,,,,,,,,,,,,,,i,,,,.,,,,..,,,,,,,,,:,,,,,,,,,,,,,
,:::,:::::::::::,:,,:::,,:::::::::::::::::::::::::;;;:::::::::::::::::::,,.,,:,,:,,:,:,,::::::,::::,,,:,,,:,,,,,:,,,,,:,,,,,.,,,:,,,,,,,,,,,,,,,,,,,,: