#zzz####zzzzxn++##+*i*+:`````````````````,````````````````````````````````````````````````````````````````````.`......................................
#zzz###zzzzzzxz++##+***+,````````````````,``````````````````.`````````````````````````````````````````````````````````................................
zzzzz##zzzzzznn#+##+++**+,```````````````,``````````````````.```````````````````````````````````````````````````......................................
z#zzz##z##zzzznn#+##++***+:``````````````,``````````````````.``````````````````````````````````````````````````````````````````.......................
#z#zzz####zzzzznn#+##++****i.````````````.``````````````````.````````````````````````````````````````````````````````````````````.`...................
####zz######zzzznn++###+**i**,``````````..```````````````````````````````````````.,```````````````````````````````````````````````````................
#####zz########zznn++###+*****i.````````..```````````````````````````````````````.:..,:.````````````````````````````````````````````````.`............
#####zzz#######zzzzn#+###++*****,```````.``````````````````.````````````````````````.`,``````````````````````````````````````````````````.............
######zzzz######zzzzn#++###+*****i.`````,``````````````````.```````````````````````..````````````````````````````````````````````.....................
#######zzz#######zzzzzz++###+****i*;.```,``````````````````.```````````````````````..````````````````````````````````````````````````````````.``.`````
########zzz########zzzzz#++###+**i*i*;.`.``````````````````.```````````````````````,``````````````````````````````````````````````````````````````````
##z#######z#zz######zzzzzz#+###++*****i;:``````````````````.```````````````````````.``````````````````````````````````````````````````````````````````
z#zz########zzz#######zzzzzz#++##+****i**;,.````   ````````.```````````````````````.```````````````````````,``````````````````````````````````````````
##zz##########z#########zzzzzz#++###+*****ii;,``   ``````.**.``````````````````````.``````````````````````````````````````````````````````````````````
###z##zz#################zzzzz#+######+++*iiii;:.````````,*z. ```````` ````````````.``````````````````````````````````````````````````````````````````
######zz####################zz##nnz######++**i*ii;,.`````.:i`     ``    ```````````.``````````````````````````````````````````````````````````````````
#######z##zz#################z+#znnnnzz######+*ii*ii;:.` `.`             ```` `````.``````````````````````````````````````````````````````````````````
###########z###znxMMMMxnnz###z+#zzzzznnnnz######++iiiii;:,.`               ``    `````````````````````````````````````````````````````````````````````
############nMW@@@@@@@@@WWxzzz+#zzzzzzzznnnnnz#####++*ii;;;:,.``  `        ```````.```````````````````````````````````````````````````````````````````
#########zxW@###########@@@Wxn+##zzzzzzzzzznxxnnnzz#####+*i;;;;:,.``       ` ` ```.```````````````````````````````````````````````````````````````````
#######zn@################@@@Wn###zzzzzzzzznnzzznnnnnzzzz###+*ii;;:;,.``   `     `.```````````````````````````````````````````````````````````````````
######zM####################@@WMzzzzzzzzzzzzzzzzzznnnnnnnnzzzz##++*ii;;:,.``      .`````:.``````````````````````````````````````````````````.,,.```.,;
#####nW########@@@@@#########@@@Mnnnnnnz#zzzzzzzzzzznnnnnnnnnnnzzzz##++**i;::,.```.````.+,`````````````````````````````````````````````````.+*#;```.**
####x@######@@WMMMMWW@@@@@####@@@Mxnnnn;.::;ii*+zzzzzznnnnnnnnnxxnnnzzzz##+**i;;:,;:````.``````````````````````````````````````````````````,+*n:```,**
###x#######@WMxxxxxxxxMMMMWW@@##@@xnnnn:.::,..,,#znnnnnnnnnnnnnnnnnnnnnnnzzzz##+i;*ii;,..````````````````````.``````````..`````````,```````:**z..``:*z
##n@######@WMMxxxnnnnnnnnnnxMMW##@Wxnn*.....`.,,#znnnnnxn;*+#znzznnnnnnnnnnnnnnzz+##+*:iii;:,:.`````````````,.``````   `,..,````.;,;...`.``;*##.;``;+n
##W#######@MMxxxxnnnnnnnnzzznnxW@@@Wx*..`.````..:znnnnnn+```..,.:;*+#zznnnnnnnnnn#nnzzzz#+**iiii;:,..``:;;i;i;.``   `.:+zi**.``.i*i:;*ii;``;iz*.:``i+z
#n@#######WMMxxxxnnnznnnzzzzzznnM@@@M+::.,,```.:,iznnnn+;.``` ```````.,*nnnnnnnnn+nnnnnnnnnzzz#+**iii;;iiiii;;.````,*#znz*++,``,::::+++++i:,i#;..`.*#+
zW########WMMxxxxnnnzznnnzzzzzzzzx@@W#*;;ii;,.:***znnnz;:i,.`` ,.`.;.``;nnnxxxx***+#znnnnnnnnnnnnnzz#++i;;;;;i**+++zz*i;ii**;,:i,::;++++++*,*+,```,*#*
M########@WMxxxxxnnnzznnzzzzzzzzzzM@Wni:::::::,ii+znnnz++#+*;,,i+:,+i``,znnnnxz..:...,:i*+znnnnnnnnnnnzi;;;;:,,i;;nzn*;;;:;;*#++i;ii++++++i,**,```:*#*
W########@WMxxxxxnnnnnzznzzzzzzzzzn@@x:,::::::::;*znnn#:;:::::;iii;::..,innnxn*,`,`..`    `.::;znnnnnnz;;;;;:::::;;;*;;;;;;;+#####+++####+;,;i:```;***
@#######@@WMMxxxnnnzzzzzzzzzzzzzz##M@M;,,,,,,..,,*znnn#::;;;;;iiii;;;:;;*nnnx*ii::;;,``````....#xxxxz**;;;;::::::::;:;ii;;i;#####++###++++;::i:```i***
@#######@WWMMxxxnnnnzzzznzzzzz##z##n@W*:i,:.,`   *znnnx;`......,,,:,:,,,*nnnxi:::;,::  .++##iiiizzzn:`,;::;::::::::::iii;;ii###++#+#####++:::*i.`.i***
########@WWMMMxxxxxxnzzzzzzzz######zWWz::**::,,,,*zznnn:`  ```   `.`````*nnnn;::::.,:``.::ii, ,i*i++*:;;::::::i;;:;::;;i;;;i#+#++++#####**:::ii,`.*++*
########@WWW@@@@@@@@@Mnnnnnnz######zWWn:,.,.,,,,,*zznnni::::,..``:z.```:#znzz:,,:,:;i*i.:++*i`,;;;;::;i*ii++*;ii*+++**i;i;;iii#+++i*+++#;;:::;;;,:+++*
#######@@@@#########@@Mxxnnxnz#####nWWM:..,,,:..,;zznnx;.,.,,::::;;;;;;+znnzzi;:;::::,;,;#zz#;;;:;;::;:::i;;:i::;+#::::iii**:i;;ii:i*++++;;ii:::,:;;;;
######@@@@#@@WWWW@@@#@@WMMWWWMnz##znWWW#*++++*i+#zzznzn#**ii**#z##++##zznnz#*.:**zz+*+::,;i*i:;::::::i:::i:;:i::::i::::i:::::i:::;:i:;;;;:iii*++*:i**i
######@@@@@WWMxxxMWW@@@@WW@@@@Wxzz#nWWWnzzzzzzznnnnnnnnzzzzzz#*:,,.:;*+#znn*` ``*z+;.,,,.iz*:.;;:.::,::::i:::;:::,i::::i:::::i:::::i:;;;::i:::::::*i**
#####@@@@@WWMMWWMMxMWWWWWW@@@@@@Mx#nWWMnzzzzzzzz#++i;:;;iii;;:,....`.````,,,.,;,i; ` ..`.zn+;,znzi*++*+;:;::::,,,,;:,::i:::::;,,,,:i:;;:::i::::::;*:::
####@##@@W@WWWMxxMMxxMWWxMWWMW@@@WnnW@x+*******i:,,,,,..```.,,::::::,,....`````..,,,;i+*;znnnn+##+#znzzi::::::,,,,:,,,::,,,,::,,,,;;:::::;;::::::;;:::
@####@@@WW@@@@@@WMMWWMnMnxxxMWMxMMMx@W+:,,,,,,...,:;;::::,,..```.,,:::;;;;::,,,.`,`.``,`.;ii+z+#nzzzzz#,,,,,,...,,:::,:;;i,i*:,,,,;,,,,,:;;::::::i;:::
W@##@WWWWW@####@xMWMWWxMnzznxxxnnnnx@M;::,,,,,,,,,,,,::::,:::::,,.``..,,::;;;;;;;;::,,,`.. ..`.,:;*+#*;:..`..`.......,:i;;.:*i:,::;,,.,,,;::,,:::i::::
W@##@WWMMMW@@@@WWMMMWWMnzxzMWWMxnnnnMx;,,::,,,,,,,:::::;;:::,,,,,,,,,.```..,,::;;;;iiii;;::,,`,, .;``.,..,,,,,,..`...**ii*:;*+*.,::,,,.,:;::::::;;:,,:
W@##@WWMMMMMWWMMMMMWWWMnzxzMW@WWxnn*+ni::::::::::::::::;;;:::::::,,,,,,,.``````..,:::;;;iiiiii;;:::..:;` :;``.,,..,,,;+*+*+*+zi`.,,,,,,,,:::::::;;::,,
W@##@WWMMxxxxxxxxxxMMMxnzzzMMMMMMxxxxM+i::::;;;;;;;;;;;;;ii;;i#i;;:::::,,...````````..,:::;;;iiiiiiii;;::::.`,i,  :;.``,,:;:;+:.,,.,..,,,,,,,,,,:::;:,
W@##@@WMMMxxnnnnnxxMMxxnz#+nxxnnnnnxzx#+i;;;;;;;;;;;;;;;;;;ii*n*;;;;;;;;::::,````.```````..,,:;;;iiiiiiiiiiii;;::,::.``;;,  .:,.`......,.,,.,:,,:,,:::
W@##@@WMMxxnnnnnnxMMMMxnz#+#znnzzzzz+z++*iiiiiiiiiiiiiiiiiiii*z+i;;;;;;;;;;;::,.``````````````.,,::;;iiiiiiiiiiiiiiii;;;:,.`,;;`  ,i:.``...,,,,,,:,..,
@W@#@@WWMxxxnnnnnxMWWMxxz##zzzz###znnn++*iiiii***++++++++++++++***iiiiiiii;;;;;;:,..``````````````..,,:;;;iiiiiiii********iii;;:,.,:;.  `ii;.`...,,,,,
@W@#@@WWMxxnnnnnnMWMxxxnz##zzz#####nMM++*i+nxMMMMMMMMMMMMMMMMMMxxxxxnnzz#+**iiii;;::,,,.```````````````.,,:::;iiii***************iii;:,..,:;`   ;i;:`.
@@@##@@WWMxxnzznM@Mxxxxnz#+zzz#####xnx++*zMMnnnnnnnxnxxxxxxxxxxz#znxz#nxMMMMxxn#+i;i;::::,,..```````````````.,,::;;iii*******************ii;:,..:;*;` 
W@@##@@WWMxxnnnxM@WWMMxnz#+#nz###+#nnx++#Wn#+***+*ii***+#nnnxxn+;;*ni ,##zxn#xzxMx#i*::::::::,,,..``` ``````````..,,::;;iii********************ii;::,.
W@@###@@@WMxnxxxM@@@@@Wxnzzzxnz####nzn++Mxnn#+**i*i::::;#nxnxnn#*i*n+.,++#xz;# :+nMz*,..,,::::::::,,,.``````````` ```..,,:::;;ii**********************
MW@###@@@WMxxMMWW@##@@@MxxxxMxnz##zxnn++Wxxxxxnn**+*i;;*nnxxxxxnnz+nz,:**#xn;z,*++nM#;   `.,::::::::::,,,.````````````````..,,:::;;iii***********+++*+
nx@####@@WMxWWW@@@##@@@@WMMxMWxnz#xxnn+#Wxxxxxxxnnnnnnnnnxxxxxxxxxxxz,,i*nxn*n:*#+#xx*`     ``.,:::::::::::,.``` ``````````````..,,,::;;ii********++++
zz@#####@WxxWW@@@@#@@@@@MMMMMWMxzzMxnn+zMxnxnxxxnnnnnnnnnxxxxxxxxxxxn:,i+nxn+n;:*#+zM#,  `.`     `..,:::::::::,,..``` ``````````````..,,,::;;ii******+
zz@######@xMMW@W@@@WMMMMxxxxMMWxnxWxxn+zMxnxxxxxxnnnnnnnnxxxxxxxxxxxx;,;+xnnin,,;*i*xn;  ,*i;:,`     `.,::::::::::,,..``````````````````...,,,::;;ii**
zzW@#####@MMW@WWWMMxMxnnnMWWWWWnnMWxxn+nMxnxxxxxxnnxxxxxxxxxxxxxxxxxxi,:#xznin:,;+ii#M+` i+++++i`       ``.,::;:::::,,,,..```````````````````...,,:::;
xxW@#####@MW@WWWWMn##+##zWMxM@WxMWMxxz+nMxxxxxxxxnnnxnxxxWMxxxxxxxxxx+,:#x#n*z;,:+ii*M#:.,;*+++i             `.,:;;;;:::,,,...``` ```````````````....,
#zx@#####@W@@WWWMMMxnznnnnznW@xxW@Mxxz+xMxnnxxxxnnnxxxxxxxWWxxxxxxxxxn+;#x+n*#;,;+*i*xn*,,..,;*;.`     .,```     ``.,::;:::::,,,..``````````....`.....
z#x@@#####@@@@WWMMxxnnzzz#zx@WxMW@xxx#+MxnnxxxxnnnnnxxxxxxxWWMxxxxxxnnnnnx+n+#i,:**i*zM+,,,,,......    i+*i;:.```    `.,::::::::::,,....````````......
zzx@@######@@@@WWWMMMxxnzzzxWWMWWWxxx#*MxnnnnnxxnnnnxxxxnnnxMWWMxxxxxnxxxxnn#+*,:i+i**M#;,,,,,,,..``` .++++##+*;``      ``.,:::::::::::,,,..``````````
##x@@########@@WWWMMMMxnzznxWWW@@Wxxx#*xMxnnnnnnnnnnnxxnnnnxxMWWWMxxxxxxxxxxxn#::i+i*iMz*,,,,,,,,,,...,;+######i            ``..,:::::;;:::,,,,.``````
z#x@@@#######@WWWMMxxnnzznxMWWW@@WMMM+*#WMWWMMxxnnnnnnnxnnnnnnxxMMWMxxnxxxxxxxn*;i+i**xz*:,:,:,,,,,,,,,,;*#+#z#:                 `.,::;;;;;;;;;::,,...
##x@@@#######@@@WWMxxnnnnnxMWW@##@@Wx+iixMxMWWWWWMxnnnnxxxxxxxxxxxnxMMxxxxxnnnnnz*#**#x#*;:::::,,,,,,,,:i**#i;i.         .;:::,,,,,,::::;;;;;;;;;;;;::
zzx@@@########@@WWWMxnxxxxxMW@#####Wx+iiizMMWWWMMxxxxnnnxMx######z#zznxMxnnnxxxxxxxnxxn*i#xxxx#,,:::,,,:,:,,,,..``       ;#nn*;:,.```````..,:;;:;;;;;;
#zM@@@@########@@WWxxxxMxMMW@######@x#ii;ii*********##zznxMz####znzzzznxn##+++***++##+*ii+WMMMn:,:::::::::,:,,,,...``   `+zxz###+*;,..``  ```.,::;;;;;
znW@@@@##########@WMxxMxMWWW@@@@@###n+iiiiiiiiiiiiizWWWWWW@@@@W@@@@@@@@@@WWWWWziiiiiiiiii*MMMM#,,,,:::::::::,:,:,,,,..``.izxz#######+i```     ```.,,::
#zW@@@@@@########@@WMMWMWWWMMnnz#n#@z+;;i;;;iii;iii+MWWWWWWWWWWWWWWWWWWWWWWWMM#iiiiiiiiiiinMMx*:::::;;;;iiiiiiiiii*iiiiii*+++#zz#####i         ```````
#z@@@@@@@@@#######@@WW@@@Wnxnnnz#M@Mz+iiiiiiiiiiiiiixMMMWMWWWWWWMMMWWWWWWMMMMM+ii******iii+##+******iiiiiiii;;;;;;;::::::,,,,,:*##zz#,             ```
nM@@@@@WWW@@@######@@@@@WzzxnnnnzW@nz+iiiiiiiiiiiiii*##+++++++++****+++++++##+++*iiiii**i**:::,,,::,,,,,,:::::::::::,,:,:,:,,,,,,:i+i`               `
##@@@WWWWWWW@@@@@@@@@@Wxz#x@xnnnnxzzz+ii*iiiiiiiiiiiiiii*iiiiiii**************i*+*iiiiiiii*i:::::,,,,::,,,,,::;::::::::::,,,:::,,,,,,.`            :i;
##@@@WWWMMMWW@@@WWWMMxnz##M#@Mnnxxzz+++ii*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**iii*+*ii*ii;**iiii::::::,:::,,,,::::::::::::::,:,,::,,,,....``        i##
#@@@@WWWMxxMMW@WWMMMMnz###W###WW@WMWxnn#ii*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*+**ii;:**i*+*;::::::::::::,,,,,::::::::::::::::::::,,,,,,.`     `+##
##@@@WWMxxxxxMWWWMMMxnz###@####@W@@W#@WWx++*iiiiiiiiiiiiiiiiiiiiiiii****iiiii;;;;;i*+i;;i++;:i**i:::::::::::::::,,:::::::::::::::::::::,,,,,,..`` ,zzz
##@@@WWMxxxxxxMWWMMMMnz##z@#####@WW@@##@WWxnz+*iiiiiiiiiiiiiiiiiiiiii**iiii;i;;;;;i**+i;i#z#*+##*i;:::::::::::::::::,,:::::::::::::::::::::,,,,,,:i*zn
#@@@@WWMMxnnnnxMMMxxxnz##n@#######WW@@##@WWWMxnz#iiiiiiiiiiiiiiiiiiiii*iiiiii;;;;;;i****i#nz+znn*;ii:::,:::::::::::::::,::::::::::::::::::::::,,,,,,:i
#@WWWWWMMxnnnnnxxxxxnnz##MWW@######@#@@##@M@WWMxxx*;;;;;iiiiiiiiiiiiiii*iiiiiiiiiiiii;;*++nzzznnni:;*;:::::::::::::::::::::::::::::::::::::::::::::,,:
@@WWWWWMxxnnnznnxxnnnzz#zWWMx@#####@##@@##@M@WWMMMWn+;;;;;iiiiiiiiiiiiiiiiiiiiiiiii;::;;*#nzzz#nn#::;*i:::::::::::::::::::::::::::::::::::::::::::::::
@@WWW@WWMxnnnzznnxnnnzzzz@WMxxW####@##@@###WWW@WWMWWWMn*;;;iiiiiiiiiiiiiii;;;;iii;;::::;i*+++++zn#:::;*+:::::::::::::::::::::::::::::::::;:;;:::::::::
#@WMWWWWMxnnnzzznnnnzzzzn@@Mxnnx@##W@##@@##@MWWWWWW@@@W@x#i;i;;;;;;;;;;;;;iii;;;;;;::::;ii*+***#n#i:::;i+;:::::::::::::::::::::::::::::;;:::;;;;::::::
###@W@WMMxnnnzznnnnnzzzzx@#WWWMnWW@#@@##@##@WW@@WWW@@@@W@@x+*;;;;;;;;;;;;;;i;;;;;;;;;;;;iii***i#xn#i:::;;+i:::::::::::::::::::::::::::::::;:::;;:;;;::
#####@@MxxnnnnznnnnnnnzzMW#@###@@@W@@@@@@@##@WWWW@W@#@#@W@@MM#**ii;;;;;;;;;;i;;;;;;;;;;;;iiii*i#Mxn#i;:::;++::::::::::::::::::::::::::::::::::;;;;;;;;
#######@WMxnnnnnnnnnnnnnWW########WW#@Mnx@##@WWWW@@@#@@#@@@WWx+++++**i;;;;;;ii;;;;;;;;;;;;;;iii*xxnz#i;;::;*+:::::::::::::::::::::::::::::::::;;;;;;;;
##########@WMxxnnxxMWxnnMW@#######WWWzii*n@##WWWW@@@#@@##@#@@W#+++++++*i*++####+*i;;;;;;;;;;;;;*nxxnz+i;;;;i*+::::::;;::::::::::::::::::::::::::::;;;;
#############@WMW@###WnxxxW######@n#zii*+*W##WWWW@@###@##@@@@W#+++++++++##zzzzzz####++**iii*zxxxxnnnz#+*;;;;i*#;::::::;;;::::::::;::::::::::::::::;:;;
##############@@#####@xxxxW######@+**i*xW*#@#@WWW@@###@###@@@M#++###++++###z########z#######zx@@Wnzzzz++*i;;;i*#;:::::::::::::::::::::::::::::::::::::
##############@#@n+x##Wxxx@######Wi#+n*#@niM#@WWW@@###@###@@@x########++#####################zn@@Mzzzz#+++*i;ii+#:::::::::;:::::::::;;:::::::::::;;:::
################Mi**##@xxM@######nz@@@niz+i##@WWW@@###@###@@@z#################################x@Mn#zz#+++##++#*#*::::::::::;::::::::;;;;::::::::;::;:
################W**z###MxM@#####@z*W@@@+ii;iW#WWW@@##@@###@#W##################################z@xn#zz##+++##zz#*z;:::::::::::;;;::::::;;;;;:::;;;;;;;
#################WM@###WxM@#####@M*nxzzM*i#+n#@MW@@#@@###@@@nz#################################z@xn#zzz##+###zzz#++;:;:;;::::::;;;;::::::;::;;;;;;;;;:
########################MM@#####@@#iii*zzinn+@@MW@@#@@##@@#M#############zzzzz###z############zn@xn#nnnz####zz##+*zi:::;;;;;:::::;;::::::::::;;;;;;;;;
########################@W@####@@@Miii**M++xiW@MWW@#@###@#@z############zzzzzzz########z###zzznM#Mz+#znnz#++*ii***z*;;;;;;;;;;;:::::;;;;:;::;::;;;;;;;
#########################@@####@@@W++Wxi#Mi+;n@WWW@@######n############zzzzzzzzzz##zzzzzzzznnnnx#+iiiii****iiiii+*+#ii;:;;;;;;;;:::::;;;;;::;;:;;:;;;;
######################Mn@######@#@@xiMW+*Wz;;n@WWW@######W#########zzzzznnnnzzzzzzznnnnnnz#*iiiiiiiii***********+++z*z*;:;;;;;;;;;;:::;;;;;;;;;;:;;:;;
#####################W**x######@##@@++x**z@zzW@WWW@#####@nzzzzzzzznnnnxxxxxxnnnnnnnxnzz#+*********++++++++#####++++n*zz*;;;;;;;;;;;;;:::;;;;;;;;;;;;;:
#####################W*+x#####@@##@@xiiii#@WWW@WWW@@####MnnnnxxxxxxxxxMMWWMMxxnzz##++++++++++++++++#+####zzzznnz#++n*zzz#*;;;;;;;;;;:;;::::;;;;;;;;;;;
#####################@Mx@#####@@##@@@zii#W@@Wx@WWW@@###Mzznzzzzz####++++#####+++++++##+###zzzzznnnxxxxxnnnxMMxxxz#+n*+*+zz#i;;;;;;;;;;;;::;;;;;;;;;;;;
#############################@@@@#@@@@MM@@@x#zWWMWW@##W#zz#++++######zzzzznnnnnnnxxxxxxxxxMMMMWMWWWMMMxznnnnnMxxz##x*+i;*#nz+i;;;;;;;;;;;;;;;:;;;;;;;;
#############################@@WW##@@#@@@Mz#znnWMWW@#@zznnxxxxxxxxnxMxMMMMMWWWWWMWWWWWWWMWWWWWWWWWMxMxxnxzzzzxxxz##x**iii*#znz+;;;;;;;;;;;;;;:::;;;;;;
#############################@@WW@#@@@@@Mz#nxzzWMWW@M##nxxxxMWMMMxnxxMMWWWWWWWWWWWWWWW@WWWWMMWWMWWMxMxnnnnzz#nxxz#zx*+iiiii+znn#*;;;;;;;;;;;;;;;;;;;;;
#############################@@WW@#@@@@@WxMM+#xxMWWM**zxxnxWMnnnxWnxxMMWMWWWWWWWWWWWWWWWMWWMMMWMWMMMMxnz#+z##nxxzzxx+z#*i;i+++#nn#i;;;;;;;;;;;;;;;;;ii
#############################@@WW@##@@#@Wxz#zMz+MWMn*+nxnnMMxxnnnxMxxMMWMWWWMWWWMMWWWMxWMMWWWWWMMMMMMxnz#+#znxnnzzMMzznz#*++*ii*znz+i;;;;;;;;;;;;;;;;;
#############################@@W@@##@@##@##Mnx#nMWxn*+nxnMxnxMxxnxWxxMMWWWWWMWWWMWWWWWWWMWWMMWWMMMMMMxnxzzznnnnnzzWxzzznzz*;i***+#nnz+i;;;;;;i;;;;;;;;
@############################@@@@@@#@@##@Mx#znnnMWxx*+xxnWz##znxnzWMxMWWWWWWWWWWMWWWWWWWWMWMWWMMMMMMMxzMnnnnnznnznWzzznnnnz#+*ii*+znnnz*i;i;;i;i;;;;;;
@@#######@###################@@WWW@#@@#@Wn##xnnMMWMM+#MxnW#zzznnnxMxxMWWWWWWWWWWWWWMMMMMMMWMWWMMMMMMxxznMxnzzzzznxMznznnnnnnz#**+***+znn#*i;ii;;iiii;;
#@@##########################@WWW@@#@@@#WzMxxMWWMWMx+#MMnWnnnnxxxWnxxMWWWWWWWWWWWWWWMMWMMWWMWWMMMMxxnzz#zn##zzzznMnznznnnnnnnn#*i*+#++#nnz+i;;iiiiiiii
##@##########################@WW@@@@@@@@@@nMW@WWMWMn+zMxzxMMxxxxMnnxxMWWWWWMMWWWWWWMMMMxxxxnnnnzzz######zznnnxxnM@zxnnnnnnnnnnnz#*i*z#i+znnz+i;iiiiiii
##@@##########################@@@@@@@@@###@@@@@WMMMn+zMMznWWMMMxnnxxMMMMxxxxxxxnnnnnnnzzzzz#z##zzzxMMWWW@@@MnnMMWWzMnnnnnnnnnnnnnz**##*i#nnnnz*iiii;ii
###@##########################@@@@@@@@####@@@@WWMMM##zxMzznMWxzzzzznnnnnzzz#########znzzzzzz###zzW@W@@W@@@@xnxMMWxMxzznnnnnnnnnnnnnzz#*i*#z#nnn#*iiiii
##############################@@@@@@@@@###@@@@@WMMM##znMxz#zzz####zzzz#zzzzzzzzzzz##############nW@@@@@@@@@xxMW@@xMnzzznnnnnnnnnnnnnn#iii##**#nnz+ii;i
#########@####@###############@@@@@@@@@###@@@@WWMMMnxW@@@WxMMWWW@@@@@@M############+#+++++++++##xWWW@@@@@@@W@@@@WWxzzzzznnnnnnnnnnnnnn#*i+z+ii+znnz+i;
###############################@@@@@@@@####@@@@WMMMMxxMMxxx@######@@@#@##########++++++++++++###MW@W@WWWWWWW@@@@MMz##znnznnnnnnnnnnnnnnn##z#++++znnnz*