;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiii*******+++#z#####++++++++++++++++++++++++++++++++++++++++++++++++++++++******i, 
;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiii******+++#zz####++++++++++++++++++++++++++++++++++++++++++++++++*+++++******;, 
;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiiii******+++#z####++++++++++++++++++++++++++++++++++++++++++++++++++++++++****i, 
;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiii******+++#####+++++++++++++++++++++++++++++++++++++++++++++++++++*++++++***, 
;;;;;;;;;;;;i;iiiiiiiiiiiiiiiiiiiiii******+++#####+++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++i;
;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiii******++#####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++****
;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiii*****++#####+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**
;;;;;;;;;;;;;;;;;;;;i;;iiiiiiiiiiiiiiiii*****++####+++++++++++++++++++++++++++++++++++++++++++++++++++++*****+**
;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiii*****++#####+++++++++++++++++++++++++++++++++++++++++++++++++*******+**
;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiii*****++####++++++++++++++++++++++++++++++++++++++++++++++++***********
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiii****+#####++++++++++++++++++++++++++++++++++++++++++++++++*+********
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiii*****+####++++++++++++++++++++++++++++++++++++++++++***++++*********
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiii*****+#z##+++++++++++++++++++++++++++++++++++++++++****************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiii****++#z####++++++++++++++++++++++++++++++++*+++++****************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiii****++zz###+++++++++++++++++++++++++++++++++++++++*++*+******+***
Wi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii****+#z###++++++++++++++++++++++++++++++++++++++++**************
@nz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii****+#n##++++++++++++++++++++++++++++++++++++++++**+*+*****++**
@zWx*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii***++zz##++++++++++++++++++++++++++++++++++++++**++++*****++**
@zzWWz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii***+#z###++++++++++++++++++++++++++++++++++++++++++++++++++++
@#.:xWM*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii***+#z###+++++++++++++++++++++++++++++++++++++++++++++++#+++
W#.`.+WWz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii***++#z#++++++++++++++++++++++++++++++++++++++++++++++++#+++
W#.`..;nWM*;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii***++#####++++++++++++++++++++++++++###++++++++++++++++z+++
W#,::::;+MWz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii***+#zz###+++++++++++++++++########+++++++++++++++++++z+++
W#;;;;;;;izWM*;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii***++#nz#####++######zzzzz###++++++++++++++++++++++++#z###
W#**iii;;i;*xWzi:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii***++#xzzz#zzzzzzzz##+++++++++++++++++++++++++###########
Wz*i+;+;i;;;;zMM*:::::::::::::;:::::::::;:;;;;;;;;;;iiii***+#zzzzzz######++++++++#++++++###############+++++++++
Wz*i+;i;+;;;;;*xMz;::::::::::::::::::::::::;;;;;;;;;;iii***++#z########+++++#+################+++++++++++*******
@#i;;:;;*;;;:;;;#MM*:::::::::::::::::::::::::;;;;;;;;iiii**+++#zzzzzzzz#++++++++++######++++++++++++************
W#::::::;;:;;;;;;inWz;:::::::::::::::::::::::::;;;;;;;iii**+++#znnxxxxxnnz#######++***+++++++++************iiiii
W#:;::;i;i;i**+;;;;#MM*::::::::::::::::::::::::::;;;;;iii***+##zxxxMMMMxxxnnnnnnnz#+*ii*++++************iiiiiiii
@#;*::i::;;**;i::;;;inMz;::::::::::::::::::::::::;;;;;;iii**+#znxMMMxxnnnnzzzzzz####+*i;*************iiiiiiiiiii
@#;;*:;:;;:i*i;;;;;;;;+Mx+::::::::::::::::::::::::;;;;;iii*+#nnxxxnzzzzz#####+##z####+*i;i*******iiiiiiiiiiiii;;
@#:;*;;;*;;;ii:::;;:;;;izMz;::::::::::::::::::::::;;;;;iii*#nnnnz####+#++++*****+#####++*ii**iiiiiiiiiiiiii;;;;;
W#:;ii;;i;;:::::;;;;;;i;;*xx;::::::::::::::::::::::;;;;ii*+znz+++++++++++**i;i;;i*+++###+*ii*iiiiiiiiiii;;;;;;;;
@+:;;:;:;;:::::;;;;;;;i;:;ix;:::::::::::::::::::::::;;;i*###+**++++++++++**i;:,.:;i***+###+**iiiiiiii;;;;;;;;;;;
@+:;;::::;::::i*;;;;i*i;;;;x;:::::::::::::::::::::::;;i*##****++++++++++++**i:,...,;i****+++**;;iiiii;;;;;;;;;;;
W+:i:::::;::::nMn*i;:::;;:;x;:::::::::::::::::::::::;;i#+****+++++++++++++**i;,,...,:;ii;;*++ii;;i;;;;;;;;;;;;::
W*::::::::::::;znn+;::::;:;M;:::::::::::::::::::::::;i++***++++++++++++++++*i;:,,...,:;;;::*+*;;i;;;;;;;;;;;::::
W*:::::::::i#;;iz#n#;::::;;M:::::::::::::::::::::::;i++**+++++++++++++++++**i;;::,,,,,::;:,.;*i:;;;;;;;;;;::::::
Wi:::::::::##z#iz#z#+:::::iM::::::::::::::::::::::;i+++++++++++++++++++++++*ii;;;:::,,..,:,.`;i;:;;;;;;;;:::::::
Wi:::::::::nzn+*z++;;::::::M:::::::::::::::::::::;i+++++++####++++++++++++++*ii;;;::,...,,,.`.ii;;;;;;;;::::::::
Wi::::::::;n#n+**i+;:;:::::M:::::::::::::::::::::i+z++++#######++++++++++++++*i;;;;:,...,,,,..,*i;;;;;::::::::::
W;::::::::inzz#+;ii;:::::::M::::::::::::::::::::iznz+++###########++++++++++++*i;;;::,,,::::,..:**;;;;;:::::::::
W;::::::::*n#z#+;;*;::::::;M::,:::::::,,,,:::::;zxx#+#################++++++++**i;;;::::;;;::,,,i*i;;;::::::::::
W:::::::::+n#z#*i:;;i:::::;M::,,,::,,,,,,,,,:::#xMn####################++++++*++*iii;;;;;;i;:::,:+*iii;::::::,,,
W:::::::::+nzzz#+:;;::;:::;M:,,,,,,,,,,,,,,,::ixMx#####################+++++++**ii;iiiiiiiii;::,:;+*i*;::::,,,,,
M::,:::,,:#nn*#z#+;i::,,,,;x,,,,,,,,,,,,,,,,,:zMMn######################+++++***iii;;;iiiiiii;::::*+++*;::,,,,,,
M::,,,,,,:+z#*+zz+;:;:,,,,;x,,,,,,,,,,,,,,,,,iMWMz###################++++++++****ii;;;;iiiiiii;:::i#++#;:,,,,,..
M::,,,,,,:++*+z+#+::::,,,,;x,,,,,,,,,,,,,,,,:zMMx#######z############++++++****iii;;;;;iiiiiii;;::;+zzz+,,,,,...
x,,,,,,,,:#++#z+##;::,,,,,;x,,,,,,,,,,,,,,::ixMMn######zz#######+++++++++++****ii;;;;;;;;iiiiii;::;*zzz#:,,,,.``
x,,,,,,,,:#i#iz###+;:,,,,,;x,,,,,,,,,,,,,,::+MMxz#####zz###########+++++++++***i;;;;;;;;;;;iiii;;;;i#nnz:,,,..``
n,,,,,,,,:#+##zz###;:,,,,,;x,,,,,,,,,,,,,,,:nMMxz#####z############+###+++++++***ii;;;;;;;;iiiii;;;i#nnn;,,,....
n,,,,,,,,:zz+zzz+zz;:,,,,,;x,,,,,,,,,,,,,,,;xMMn#########################+++++++***iiii;;;;;;iiiiiii#nxn:,,,....
n,,,,,,,,:z+#+*z###i:,,,,,;n,,,,,,,,,,,,,,,iMWMn###############################++++***iii;;;;iiiiii*#xxn:,,.....
z,,,,,,,,;#i:#i+##++:,,,,,;n,,,,,,,,,,,,,,,iMWMz##################z##z##############++**ii;;;iiiiii*#xMxi,,.....
z,,,,,,,,i+i,#*z#+,:,,,,,,;n,,,,,,,,,,,,,,,*MMxz################zzzzzzzzzzzz#zzz######+**ii;;iiii***#xMx*,,.....
#,,,,,,,,i++:##z#*:,,,,,,,;n,,,,,,,,,,,,,,:+MMx#############zzzzzzzzzzzzzzzzzzzzzzz###++**iiiiiii***#xMx+,,.....
#,,,,,,,,;*:,i*i;,,,,,,,,,;n,,,,,,,,,,,,,,:#MMn##########z#zzzzzzzzzzzzzzzzzzzzzzzzzz##++***iiiii***#xMx#,,.....
+,,,,,,,,,:*;*::,,,,,,,,,,;z,,,,,,,,,,,,,,,zMMn########zzzzznnnnnnzzzzzzzzzzzznnnzzzzz###+****iii***#xMx*,......
+,,,,,,,,:;i:i,,::,,,,,,,,iz,,,,,,,,,,,,,,,#MMz######zzznnnxxxxxnnnnzzzzzzznznnnnxxxnnzzz#+****iii**+xMx*,......
+,,,,,,,:,,::;::;:,,,,,,,,iz,,,,,,,,,,,,,,,+MMz#####zznnnxxxMxxxnnnnzzzznnnnnnnxxxxxxxxnnz#+**+*****+xWx*.......
*,,,,,,,,,,,,,;;::,,,,,,,,iz,,,,,,,,,,,,,,,*MM#####zzznnnxxxxxxxxxnnnzzznnnnnnxxxxxxMMMxxnz#+**+****+xMx;.......
*,,,,,,,,,,,,,::,,:,,,,,,,iz,,,,,,,,,,,,,,,*Mx####zzzznnnnnxxxxxxxxnnzzznnnnnxxxxxxxMMxxxxnzz#**+****xMx:.......
*,,,,,,:,,,,,,,:,,:,,,,.,,iz,,,,,,,,,,,,,,,+Mx###zzzzznnnnnnxxMMMMxnnzzznnnnxxxMMxxxxxxxnnxnnn#+++***xMx;.......
i,,,,,,:,,,,,,,:,:,,,,,..,i#,,,,,,,,,,,,,,,+Mz###zzzzzzznnnnxxMMMMxxnzzzzznnxxMMMMxxxxxxnnxxxnnz+++*izMx;.......
i,,,,,,:,,,,,,::,,,::,,..,i#,,,,,,,,,,,,,,,+M###zzzzzzznnnnnxMMMMMMxnzzzzznnxMMMMMxxxxnxxxxxxxxnz+++*#Mx;.......
i,,,,,,:,,,,,:;:::,ii,,,..i#,,,,,,,,,,,,.,,+x##zzzzzzznnnxxxMWWWWWMxnzz##znnxMMWWMMMMxxxxxxxxxxxn##+**Mx;.......
;,,,,,,:,,,,,:i,:,,:;,,...i#,,,,,,,,,,,,..,#n#zzzzzzznnxxxxMMWW@WWMxnz#+++zxMMMWWWMMMMMMMMxxxxxxnz##*iMx:.......
;,,,,,,:,,,,,,i:,,,,;,,...*#,,,,,,,,,,,..,,zz#zzzzzznxxMMMMMWWWWMxxxnz#+*i#xxMMMWWWWMMMMMMMMxxxxxnz#+izn:.......
;,,,,,,:,,,,,:i,,,,,:.,...*#,,,,,,,,,,,,.,:n##zzzznxMMWWWWWWWWMMMxxnzz#*i;+nxMMMMWWWWWWMMMMMMMxxxnz#+i#n,.......
:,,,,,,,:,,:,:;:,,,::.,...*+,,,,,,,,,,,,,,ix#zzzznxMMMMWWWMMMMMMMxnnzz#*i;+zxxMMMMMMMWWWWWWWMMMxxnz#+**#,.......
:,,,,,,,,:,;:;;i,,,;:.,..,*+,,,,,,,,,,,,,,*n#zzzznnnnxxxxxxxxxxxxnnzzz#*i;*znxxMMMMMMMMMWWWWWMMxxnz#+*i#;.......
:,,,,,,,,,,:;:::,.,::,,..,*+,,,,,,,,,,,,,,+n#zzzzzzznnnnxxxxxxxnnnzzz##*ii*#znxxMMMxMMxMMMMMxxxxnz##+*iz*.......
:,,,,,,,,::::,:,,.,:,,,..,*+,,,,,,,,,,,,,,#z#zzzzzzzznnnnnnnxxnnzzzzzz#*ii*+znxxxxMxxxxxxxxxxnzzz#++++*z;.......
:,,,,,,,,:;;::,:,,,:,,...,*+,,,,,,,,,,,,,:####zzzzzzznnnnnnnnnnzzzzzz#+*;;*+#znnxxxxxxxxxxnnnz#+++++++*#:.......
:,,,,,,,,,,,::;:,,,,:,...,*+,,,,,,,,,,,,,:z###zzzzzzzznnnnnnnzzzzzzzz#+*;;*+#zznnxxxxxxxxnnz##+********+;.......
:,,,,,,,,,,,,,::,,,,,,,..,*+,,,,,,,,,,,,:i######zzzzzznnnnnnzzzzzzzzz#+*ii*+##znnnnxxxxxnzz#+**iiiii***+;.......
,,,,,,,,,,,,,..,,,,,,,,,,,*+,,,,,,,,,,,::+#######zzzzzzzzzzzzzzzzzzzz#+i;i*+#zzznnnnnnnnzz#+**iiiiiii**+;.......
,,,,,,,,,,,,,,,,,,,..::,,,++,,,,,,,,,,,:;z#######zzzzzzzzzzzzzzzznnzz#+*ii*#zznnnnnnzzzz##++**iiiiiiii**;.......
,,,,,,,,,,,,,.......,:::;,++,,,,,,,,,,:;*z######zzzzzzzzzzzzzzznnnnz##++*i*#znnnnnnnzz###++*****iiiiii**;.......
,,,,,,,,,,,,,,..,...,,,,:,++,,,,,,,,,:;i+n######zzzzzzzzzzzzznnnnnnz####+*i*++zxnnnzzz#++++++++*****ii*i;.......
::,,,,,,,,,,,,,,,,,,,,,,,,++,,,,,,,,,:i*zz######zzzzzzzzzzzznnnzzzzzzzzz#+*iii*nxnnzzz#++++++++++*****iii,......
z#++*ii;;:,,,,,,,,,,,,,,,,++,,,,,,,,,;+#zz######zzzzzzzzzzzznnn###zzzzzzzz#+*ii+xxnnzz##+++**++++++****ii:......
WWWWWWWWWMMMMxxnzz##+**iii#+,,,,,,,,,izzn#+#####zzzzzzzzzzznnxnzzzznznnnnnnn###+zxnnnzz##++****+++++***ii;......
MMMMMMMMWWWWWWWWWWWWWWWWWWW+,,,,,,,,,iMWx#+#####zzzzzzzzzznnnxnnMWMnnnnnxxxxxxnzzxxnnnzz##++***+++++*****i......
#################zzzznnnnn#;,,,,,,,,,iMWx#######zzzzzzzzznnnnxnnxW@WnnxxxxMW@@MxnMxnnnzz##++++****++++****......
::::::::::,,,,,,:::;;;;iii:,,,,,,,,,:iMWx#######zzzzzzzznnnnnnnxxxMWWxxxxM@@@WMxxxxnnnzzz##++++++++++#+***,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:iMWx########zzzzzznnnnnnnnxxxxxMxxxxMWWMMxxxxnnnnzzzz##+++++++++#++**:,....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:iMWx#######zzzzzzznnnnxnnnnnxnxxnxxxMMMMMMxxxxnnnnzzzz###+++++++++++#,,,...
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:iMWM#######zzzzzznnnnxnnnnnnnxxxnnxxMxxxxnnnxxxxnnnnnzzz##++++++++++#:,,,,,
,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,:iMWM######zzzzzzznnnxxnnnnnnnnnnxnxxxxxxxnnnxxxnnnnnnzzzz##+++++++++#:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,:*MWM#####zzzzzzznnnxxxnnnnnnnnnnnxnxxxxxxnnnnxxnnnnnnnzzzz##++++++###:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,:*MWMz####zzzzzznnnnxxxnnnnnnnnnnxxxxxxxxxnnnxxxnnnnnnnnzzzz##########:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:*MWMz####zzzzznnnnxxxxxnnxxxxxnxxxxxxxxxxnnnxxxxnnnnnnnnnzzz#######z#:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,:*WWWz###zzzzzznnnxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnzzz#z###zz+:,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,;*W@Wz##zzzzzznnnnxxMMMxxxxxxxxxxxxxxxxxxxxxxxMxxxxnnnnnnnnzzzzzz##zn#,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,;*W@Wn##zzzzzznnnnxMMMMMxxxxxxxxxxxxxxxxxxMMMMMMMxxxnnnnnnnzzzzzzz#zn*,,.:;:
,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,:;*W@Wn#zzzzzzznnnnxMMWWWWMMMxxxxxxxxxxxxxMMMMMMMMxxxnnnnnnnnzzzzzzzzn+:;:nnn
,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,:i*W@Wx#zzzzzzznnnnxMWMxxxxxxxxxMMMMMMMMMMMMMMMMMxxxxnnnnnnnnnnzznzznxnzznnnn
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:i+W@@M#zzzzzzznnnnxMMxnnnnnnnnnxxxxMxxxxxxMMMWWWMxxnnnnnnnnnnnznnnznn###zzzz
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:i+W@@WnzzzzzzzzznnMMxnnnnnnnnnnnxxnnnzz##znxxxMMWMxnnnnnnnnnnnnnnnnxz#++++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:i+W@@WxzzzzzzzznnxMxnnnnnnzzznnnnxnnzz####znxxxxMMxnnnnnnnnnnnnnnnnx+ii*++++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::i+W@@@Mzzzzzzzznnxxnnnnzzzzzznnnnnnnzzz####znxxxxMMxnnnnnnnnxnnnnnxz;::;i***
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::;i+#nnxxxnzzzzzzznnxxnnnnnzzzznnnnnnnnzzzzzzzznnxxxxMxnnnnnnxxxxxxnxM+::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,::;;ii***+#nnnnnnznnnzzznnnnnnnnnzzzznnnnnnnnzzzzzzzznnxxxxxxnnnnnnxxxxxxxxxi::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,;zznnnnnnnnxnnxMWWnnznzzznnnnnnnnnnnnnnnnnnnnnzzzzzznnnnxxxxxxnnnnxxxxxxxxxMz:::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,:*nnnnxnxxxxxxW@@@@xnnnnznnnnnnnnnnnnnnnnnnxnnnnnnznnnnnxxxxxxxnnnnxxxxxxxxMWzi::::::::
,,,,,,,,,,,,,,,,,,,,,,,,::*nnxxxxxxxMW@@@@#@WnnnnnnnnnnnnnnnnnnnnnnxxnnnnnnnnnnnnnxxxxxxnnnxxxxxxMxMM@@Wn*::::::
,,,,,,,,,,,,,,,,,,,,,,,:;*#xxxxxxxM@@@@@##@@#xnnnnnnnnnnnnnnnnnnnnxxxxxxnnnnnnnnnxxxxxxxxnxxxxxMMMMMW@#@@Wx+;:::
,,,,,,,,,,,,,,:::;*+*;:;*znxxxxxMW@@#@@######@nnnnnnnnnnnnnnnnnnnxxxxxxxxxnnnnnnxxxxxxxxxxxxxxxMMMMMW@@@#@@WMzi:
:,,,,,,,,,,:i+zxMMMMMMMMxMMMxxMW@@@@@@@#######MnnnnnnnnnnnnnnnnnnnnxxxxxxxxnnnnnxxxxxxxxxxxxMMMMMMMWW@@@@##@@@Wx
::::i*#zz##znnnnnnnnnnxxxMMMMW@@@@@@@@########@xxxnnnnnnnxnnnnnxxnnxxxxxxxxxnnnnxxxxxxxxxxxxMMMMMMW@W@@@@@@##@@@
i*#znnnnnnnnnnnnnnnxxMMWWWxW@@@@@#@@###########MxxxxxnnnnnnnnnnxnnxxxxxxxxxxxnnnxxxxxxxxxMMMMMMMMM@#@W@@@@@@##@@
nnnnnnnnnnnnnnxxxMMWW@@@WW@@@@@@###############MxxxxxxxnnnnnnnxxxxxxxxxxMMMxxxnnnnnxxxxxxMMMMMMMW@###@@@@@W@@@#@
nnxnnnnnnxxxMMMMWW@@@@@W@@@@@@@@@##############WxMMxxxxnnnnnnxxxxxxxxxxxMMMMMMxxnnxxxMMMMMMMMMMMW@###@@@@@@@@@@@
MMxxMMMMMMMMWW@@@@@@WW@@@@@@@@@@#@#############@xMMMxxxxxxxxxxxxxxxxxxMMMMMMMMxxxnxxMMMMMMMMMMWWW#####@@@@@@@@@@
@@@@@@@@WW@@@@@@@WWW@@@@@@@@@@##@###############MxMMxxxxxxxxxxxxxxxxxMMMMMMMMxxxxxxMMMMMMMMMMWWW@@####@@@@@@@@@@
@@@@@@##@@@@@@@WWW@@@@@@@@@@@###################MxxMMMMMMxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMMWWWWWW@@####@@@@@@@@@@
@@@@@###@@@@@@WWW@@@@@@@@@@@####################WxxMWMMMMMMxxxxxxxMMMMMMMMMMMMMMMMMWMWWWWWWWWWWW@@####@@@@@@@@@@
@@@@@@##@@@WWWWW@@@@@@##@@@@####################@xxxWWMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWWWWM@@######@@@@@@@@@
@@@@@@##@WWWWW@@@@@@@@##@@@@#####################MxxMMWWMMMMMMMMMMMMMMMMMMMMMMMWWWWWWWWWWWW@WWM@###@###@@@@@@@@@
@@@@@@@W@@WW@@@@@@@@@@#@#########################WxxxMWWWWMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWMW####@###@@@@@@@@@
@@WWW@@@WW@@@@@@@@@@@@###########################@xxxxMWWWWWWMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWMM@####@####@@@@@@@@
WWWW@@@@@@@@@@@@@@@@@@#@#########################@MxxxMMWWWWWWMMMMMMMMMWWWWWWWW@@@@WW@W@WWWWMM@####@####@@@@@@@@
@@@@@@@@@@@@@@@#@@@@@#############################WxxxxMMMWWWWWWWMMMMWWWWWWWWW@@@@@@WWWWWWWMMW#####@####@@@@@@@@
@@@@@@@@@@######@###@#############################@MxxxxMMMWWWWWWWWWWWWWWWWWW@@@@@@@@@WWWWWMM@##########@@@@@@@#
@@@@@@@@@#########################################@MxxxxMMMWWWWWWWWWWWWWWWWWW@@@@@@@WWWWWWWWM@#####@#####@@@@@@@
#@@@@@@@@#########################################@WMxxxMMMMMWWWWWWWWWWWWWWWWW@@@@@WWWWWWWWWW######@#####@@@@@@@
#@@@@@@#@##########################################@MxxxMMMMMMWWWWWWWWWWWWWW@@@@WWWWWWWWWWWW@############@@@@@@@
#@@@@@####@########################################@WMxxxMMMMMMWWWWWWWWWWW@@@WWWWWWWWWWWWWW@#############@@@@@@@
##@@@##############################################@@MMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWW@#############@@@@@@@
##@@@##############################################@@WMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWWWWW@###############@@@@@@
##@@@##############################################@@WWMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWW@@################@@@@@@
####@##############################################@@@WMMMMMMMMMMMMWWWWWWWWWWWWWWWWWWWWW@@################@@@@@@
###################################################@@@WWMMMMMMMMMMMMMWWWWWWWWWWWWWWWWWW@@##################@@@@@
###################################################@@@@WMMMMMMMMMMMMMMMMWWWWWWWWWWWWWW@@@##################@@@@@
####################################################@@@WWMMMMMMMMMMMMMMMMMMMMMMWWWWWWW@@@###################@@@@
####################################################@@@WWMMMMMMMMMMMMMMMMMMMMMMMMWWWW@W@####################@@@@
#####################################################@@WWWMMMMMMMMMMMMMMMMMMMMMMMWWW@@W#####################@@@@
#####################################################@@WWWMMMMMMMMMMMMMMMMMMMMMMMWWWWW@######################@@@
#####################################################@WWWWWMMMMxMMMMMMMMMMMMMMMMMWWWW@#######################@@@
######################################################@WWWWWMMMMMMMMMMMMMMMMMMMMWWWW@########################@@@
######################################################@WWWWWMMMMMMMMMMMMMMMMMMMWWWW@##########################@@
#######################################################@WWWWWMMMMMMMMMMMMMMMMMMMMW@############################@
#######################################################@WWWWWWMMMMMMMMMMMMMMMMMWW@##############################
########################################################@WWWWWWWMMMMMMMMMMMMMMMW@###############################
#########################################################@WWWWWWWWMMMMMMMMMMMW@#################################
##########################################################@WWWWWWWWWMMMMMMMW@###################################
###########################################################@WWWWWWWWWWWWWW@#####################################
############################################################@@@WWWWWWW@@@#######################################