@@@@@@@@@@@@#####@@@@@@@@Wxnzzzz###znxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnz###zxxnxxMMMMMMMMMxnxMMMMMMMMMMM
@@@@@@@@@@@@@@##@@@WW@WWxnzzzzzzzznxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnxnnnnnz##+#zxxnxxMxMMMMMMMxnxMMMMMMMMMMMMM
@@@@@@@@@@@@@@@@WWWWWMxnnnzzzzznnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnxxnnnnnz#++#nxxnxxxxxMMMMMMxnnxMMMMMMMMMMMMMW
@@@@WxxxW@@@@@WWWWWMxnnnnnzzznnxxxxxxxxxxxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnxxxnnnn##+*#nxxnnxxxxMMMMMMxnnxMMMMMMMMMMMMMMMW
@@@@xWMxxxxnWx#n#z+++#*+zi++#+zz+##zxxxxxMMMxxxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnxxxnnnn#++*+nxxnnxxxxxMMMMMxnnxMMMMMMMMMMMMMMMMMW
@WWWzWxxMMnnMx#z+##*#z*+#*#+####+n#zxxMMMMMxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnxxxnnnn#++i*nxxnnxxxxxMMMMMxnznxMMMMMMMMMMMMMMMMMMM
WWWWzxxzxz#MMxxnnnnnnnnnxxxMMxxxxxxMMMMMMxxMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnxxxxnnx#++**zxxnnnxxxxxMMMMMxznxMMMMMMMxMMMMMMMMMMMMM
WWWW#nn#MxnxxnnnnnnnnnxxMMMMxxxxMMMMMMMxxMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnxxxnnxn++*i#xxxnnxxxxxMMMMMxnzxxMMMMMMxxMMMMMMMMMMMMMM
WWWMznn##znnnnnnnnnxxxMMMMMxxMMMMMMMMMxMMMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnxxxxnnn#++i*nxxnnnxxxxxMMMMMxznxMMMMMMxxMMMMMMMMMMMMxxMM
MMMMMnzz+nnnnnnnnxxMMMMMMxxMMMMMMWMMxMMMxxxxxxnxxxxxxnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnxxxnnxz*#*i#xxxnnxxxxxxMMMMxnznxMMMMMMxxMMMMMMMMMMMxxxMMM
MMMMxxxnnnnnnnnxxMMMMMMxxMMWMMWWMMMMMMMxxxxxnxxxxxxxnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnxxxxxxnnnxxxnnx#*#i*nxxnznxxxxxMMMMMxzzxMMMMMMxxxMMMMMMMMMxxxxMMMxx
MMxxnnnnnnnnxxxMMMMMMMMMMWWMWWWMMMMMMxxxxxxnxxxxxxnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnxxxxxnnxxxxnxn*++;+xxxnznxxxxxMMMMxnznxxMMMMxxxMMMMMMMMMxxxxxMMxxxx
xxxxnnnnnnxxMMMMMMMMMMMWWWWWWMMMMMMxxxxxxnnxxxxxxnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnxxxxxnnxxxnnxz*#*i#xxxnnxxxxxxMMMMxnzxxMMMMMxxMMMMMMMMMxxxxxMMxxxxxn
xxnnnnnxxxMMMMMMMMMMWWWWWWWMMMMMMMxxxxxxnxxxxxxnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnxxxnnnxxxnnx#*#iinxxnznxxxxxMMMMMxzzxxMMMMxxxMMMMMMMMxxxxxxMxxxxxnnn
xxnnxxxMMMMMMMMxMMWWWWWWWMMMMMMMxxxxxxnnxxxxxxnnxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnxxxnnnxxxnnx+++;*nxxnznxxxxxxMMMxnznxxMMMMxxxMMMMMMMxxxxxxxxxxxxnnnnn
nnxxxxxxxxxxxxMMWWWWWWWMMxMMMxxnxxxnnnnxnnxnnnnnnxxxxxxxxxxxxxnnnnnnxnnxnnnnzznnnnnzznnxnznni**:+nxnzznxxxxxxMMxxz#nxxxxxxxxxxxxxxxxxxnnxxxnnnnnzzzzzn
;iiiiiiii;;;i+zzzzzzz+*i*+#+;,:;;:,..::,:;,...,,::;;;;;;;;;::::,,,,:,,::....`...,,.``,:,`,:` ` `:;:.`,;;::;iiii;.`:;;iii;:;iiiiii;;::,,:;:,....`````..
ii;;;;:::;i*#######*i;ii**:,,:::.``.,..:,.```.,,,::::::::,,,,,....,..,,```  ``````  `...``    `::,` .::,,:;;;;,``,::;;;:,:;;;;;::,,...::.````     ````
*iiiiiii*+####zz#+*ii*++i::;i;:,,,;:,:;:,,,,::;;;;ii;;;;;::::::,:::::;,,,,,.``:+zxMWW@@@WMn+i:.....:;;::;iiii;,,;;iiii;;;iiiii;;:::,:;:,,,,,.,...,,.,:
nnnnnxxMMMMMMMMxnnnnxxnzzzzzz###zz#zzz#####zzzzznnnzzzzzzzzz###zz#zzz###+*:,#W@@@@W@WWWWWWWW@@WMzi,;#zznnnnnz+#znnnnzzznnnnnzzzz##zzz#####+++++#####zn
xxxxMMMMMMMMMxnnnxxxnzzzzzz###zzz#zzz#####zzzznnnnnzzzzzzzz###zzzzzz###+,,z@##@@@@W@WWWWWWWW@@W@@@@n;,+nnnnz+#nnnnnnznnnnnnnzzz##zzz#####+++++#####znz
MMMMMMMMMMxxxnnnxxnzzzzzz####zz#zzz#####zzzzznnnnzzzzzzzzzz##zzzzzz##+:,n@@@###@@@@@WWWWWWWW@@W@@@##@Mi,#nz+#nnnnnzznnnnnnzzz###zzz####++++++####znn#*
MMMMMMMxxxnnnnxnnz#zzzz##+#zz#zzzz#####zzzznnnnnzzzzzzzzz###zzzzzz##i,#@@##@##@@@@WWWWWWWWWW@@W@@@@@@@#M:;+#nnnnnzznnnnnnzzz##zzz#####+++++#####znz++z
MMMMMxxxnnnnnnzz###zz##+#zz##zzz######zzzznnnnnzzzzzzzz####zzz#zzz+,*W@@@@#@@@@@WWWWWWWWWWWWW@W@@@@@@@#@@*:znnnnzznnnnnzzzz##zzz####++++++#####zn#*+nx
MMMxxxnnnnnnz########++#z##zzz######zzzzznnnnzzzzzzzzz####zzz#zzz+,n@@@@@@@#@@WMMMWWMWWWMWWWWW@@@@@@@####@+:nnnzznnnnnzzz###zz#####++++++#####nn+*#nnz
xxxnnnzzzzz#######+++#zz##zzz######zzzznnnnzzzzzzzzz####zzz##zzz+.x##@@@@@@#@WMMMMMMMMMMMWWWWW@@@@@@@#####@+;nzznnnnnzzz###zz####+++++++#+##znz**znnz+
nnzzzzzz##++++++++++####zzz##+####zzznnnnnzzzzzzzzz#####zz###zz#,x@@@@@@@@@@@MMMMMMMMMMMMWWWWWW@@@@@@######@*;znnnnnzzz##zz###+#++++++#++##zn#*+znz#*i
z#######++++++***+#####zz###+####zzznnnnnz#+i;;:::;i*##zz###zz#,z@#@@@@@@@@@WWMMMMMMMMMMMWWWWWW@@@@@@@####@@@i;nnnzzzz##zz####+++++++#+###zz+*#nnz+*i#
#####+*******i**+##+##z###++###zzznnnnnz+;:,,,,;.````,i+###zz#;+@#@@#@@@@@@@@WWWWMWWWWWMWWWW@WW@@@@@@###@@#@#@iinzzz###zz##++++++++##+##zn#*+znn#+i*zn
#++*iiiiiiiii*+++++#####+++###zzznnnnz*::,,,,,.+,```.,..:*zz#+:@@@##@@@@##@@@@WWWWWWWWWWWWWWWWWWW@@@@##@###@@@@:+zz###zz##++++++++#++##zz+*+znz#*i*znn
iiiiiii;;;i*+++++####+++++###zzznnnz+:,,,,,,..,#;``.,.```.i+z,M@@@@@@@@##@@@@@WWWMWMMMMMMMWWWWWWW@@@@@@##@@####W,####z###++++++++#+##zzz**#nnz+*i+zznx
;;;;;;;;;*++++++#++++++++###zzzznzzi,,,,,,..``;#*`.,.```.,.:i*@#@@@@@@#@@@@WWMxz##z#####znxxMMMWWWW@@@@@@##@#@@@n,##z###++++++++++##zz#*+znz#+i*#zznxM
;;;;:;i**++++++++++++++++##zzzzzz#;,,,,,,..```*##,,.```.,.,;.W@@@@@@@@@WWMz#+*;;;;;;;;;;;i*+zxMMWWWW@@@@@@@@@@#@@;+z##+++++++++++##zz+*#nnz#*i+zzznxMM
:::;i**++++++++++***++++##zzzzzz#:,,,,,..````.##zi.```.,.,;.*@@@@@@@@Wxz+*;:::::::::::::::;;i*+zxMWWW@@@@@@@@@@##x,##++++++++#+##zz#*+znz#+i*#zznxMMMn
;;i**+++++++++*****+++##zzzzzzz#:,,,,..``````:zzz*```.,..;:`M@@@@@@Wn+;;:::::::::::::::::::;;iii*+xWWW@@@@@@@@@@@@,+++++++++++##zz+*+znz#*i+zzznxMMxnz
***++++++++********++##zzzzzzzz;,,,,..```  `.*zz#+.``,..;:;:##@@@Wx+;;:::,,,,,,,,:,:::::::::;;;iii*nWWW@@@@@@@@@@@i*++++++#+###zz++#nz#+**#zzznxMMnzzz
+++++++++++*******+##zzzzzzzzzi.,,..```  ``.,#z###,`...;;;:+#@@@WM+;:::,,,,,,,,,,,,,,,,,:::::;;;iii*xWW@@@@@@@@@@@#;+++++#+##zz#*+znz#*i+zzznxMMxnzz#z
++++++++++++++**++#zzzzzzzzzz+,,..``  ``..,,;#####i...;;;i`x@@@WWz;:::,,,,,,,,,,,,,,:,,,,,:::;;;;;;;*MWW@@@@WWWWW@M,++++++##zz++#zz#+**#zzznxMxnzzz#zx
++++++++++++**++#zzzzzz####zz;.``  ``..,,,.`i######,.;i;i. W@@WWM#;::,,,,,,,,,,,,,,,,,,,,,,::;;;;;;;i*xWW@@WWWMMM@W,+++++#zz#++zzz#**+zzznxMxnzzzzznMW
++++++++++**++##zz########zz+`  ``..,,,.```.+###zz#:;i;*, `@@@WWM#::,:,,,,,,,,,,,,,::,,,::::::;;;;ii;;+MW@@@WWWMMWW,+#+##zz++#zz#+*+zzznxxxxzzzzzzxMWM
##++++++**+####z########zz##,``.,,,..````` ,###zz#z#i;*: ..@@WWWM*::,:,,,,,,,,,,,,,:::::::::::;;;;ii;;i*xW@@WWWMMWx,++##z#++zzz#**#zzznxxxnzzzzznMWMxx
##++++**+###################,....````     `i#zzz#znn;i; `i,W@WWWx*:,,,,,,,,,,,,,,,::::::::::::;;;;;;;;;i+MWWWWWMMWz;##zz#+#zz#+*#zzznxxxnzzzzzzxMMMxxM
##++**+###############zzz##i.,,,,,,,,,,,,,:+z###zxxn+*,,iz,W@WWMz;:,,,,,,,,,,,,,,,::::::::::::;;;i;;;;;;i#MWWWWWWW*i#zz+#zz#+++zzznnxxnzzzzzzxMMMxxxxn
++*+#######################,.i################znxnnxn+*zMM:WWWMM#;:,,,,,,,,,,,,,,:::::::::::;;;;;i;;;;;;ii#xMWMWWW:#z#+#zz#++#zzznxxnzzzzzznMMMxxxMxn#
++#########################.`.i###########zznnxnnnxx+*#MMM;WWWMz*::,,,,,,,,,,:::::::::::::::;;;;;;i;;;;;;;*#nxMMWW,z##zz#++#zzznxnnzzzzzznMMMxxxMMnz##
zz########################*`   ,+####zzznnnnnnnnnxn+*#xMMxi+WMz+;::,,,,,,,,,,::::::::::::::::;;;;;ii;;;;;;i*+#zzMx:+#zz#+#zzznnnnzzzzzznxMxxxxMMxz##zx
########++#######+++++++++i````.:+zzznnnnnnnnnxxxz+*#xMMxx#*nz#*::::,,,,,,,,:::::::::::::::::;;;;;;ii;;;;;;i*+++#*;zz#+#zzznnnnzzzzzznxxxxxxMMxn###nxx
##++++#####+++***++++#####*..,,,,:+znnnnnxxxxxxz#**#xMMxxM*+##*;;:::,,,,,,,,:::::;;;;;;;;;:;;;i*i;;;i;;;;i;;;**++z,z###zzznnnzzzzzznxxxxxxMMxnz##nxxxn
+####++*******++###zzzznnn#;;iiiii*#xxxxxnnz##++++#xMMxxMx;#+*i;;;::,,i+##*i;;;;;;;;;;;;;;i+zMWMn#i;iii;;;;;;i*++z,+#zzznnzzzzzzznxxxxxxMMxnz##zxxMxnn
++**iii**++###zzzzznnnnnnn+::::::::,:+####++++++#nMMMxxMxx,#*i;;;;::;+zMMWWWzi;;;;;;;;;;;;zxWMz+**i;;ii;;;;;;i***+i*zznnzzzzzzznxxxnxxMMxnz###nxMMxxnx
iii**+###zzzzzzznznnnnnnnn#;;;;::::,,,*####zzznxMMMMxxxxx#.#i;:;;:::::;;*#nxzi;;;;;;;;;;ii+*i;;;;;;;;;;;;;;;;;i**+#;znzzzzzzznxxnnxxxxxnz###nxMMMxxnxM
++##zzzzzznnnnnnxxxMMMMWWWMnnnnnnzzz###nMMMMMMMMMMMxxxxn+i,+i::;;::,,:::::;iiiii;;;;;;;iiiii;::::::;;;;;;;;;;;i***n:zzzzzzznnnnnnxxxnnz###zxMMMMxnxxW@
zzzzznnnnnnxxxMMMMMMMMMMWWWxxxxxxxxnnnnnMWWMMMMMMMxxxxx#i::*;;:;;::::::::::iiiii;;;;;;iii*iii;:::::::;;;;;;;;;;i**n,zzzzznnnnnnxxxnnz###znxMWMMxnxM@#@
nnnnnnnxxxxxnnnnnnnnnnnxxxx++##zzzzzzz#zMMMMMMMMxxxxxxxz;,i;;::;:::::::::;;iiiiii;;;;ii****i**+*i;;;::;;;;;;;;;i**x,:iznnnnnnxxxnnz###znxMWWWMnxMW@@WW
nnnnnnnzzz##zzznnnxxxxxMMMMz####zz#####zMMMMMMMMMMxxxxxz;,*:::;;:::::;+++++*****i;;;;;i****zxxnn#z+;;;;;;;;;;;;i**xzzi:nnnnxxnnzz###znxMW@WMxnxM@@WMMW
nnzz####zznnnxxxMMMMMMMMMWWxznnnnzzzz##xMMMMMMMxMxxxxxnn;`#::::;:::;*zznnnzz#***i;;;;;i***nWMn;;zMn#i;;;;i;;;;;;i*#ii#:+nxxnnzzz##znxxW@@WxnnMW@WMMMW@
#####znnxxxxxxxnnnxxxxxxxxMx#zznnnzzzzzMMMMMMMMMxxxxxnn#.*n,,:::::;+xxx@Mz:*##**i;::;;i**#WWxn+++++zz###+;;;;;;;;+*++i#;nnnnzz#zznnxMW@@MnnxMWWMxxxW@@
#zznnxnnnnnnnnnnxxxxxxxxxxxx#++###zz##zMMMMMMxxxxxxxnnn,+iz,,::;i*#z#;;i**i*+#++;::::;;i*#+i;i;;iiiiii;ii;;;;;;;;#+xx*z,nnzzzzznnxMW@@MnznxMWWxnxxWW@W
nnnnzzznnnnnnnnnnnnnnnxxxxxMz########+nxxxxxxxn*#nnnnn*;#xz,::::::::;iiii****++*;::::;;iiii******+#+i;:::;;;;;;;i#nnz#+:zzzzzznxxWWWWnzznxMMxnnxxMWWMx
zzzzznnnnnzzzzzzzzzzzzznnnnnn*++######xxxxxxn#i;;iznnn,##zz,:::,,,::;*****+#zzii;:,::;;;;;;i*++##+*i;:::::;;;iii+z#nzz*;+zzznxxMWWWx##znxMMnznxxMWMxnn
znnnnzzz#######zzzzzzznnnnnnn+ii**+##zMMxxxn+ii;;;i#nz,+zzn::::,,,,::;**+##+i;;;::,::;;;;;;;iiiiii;:::::::;;;iiizz#zn#*:#znnxMWWWxz##zxxxnzznxxMWxnznn
nzzz########zzzzzzzzznnnnnnnnziii***+zxxxxn+*iii;;;;++i*zzn:::,,,,,,:::;;;;::;:::,,:::;;;;;:::::::::::::::;;;ii*z#+*xz*:#nnxMWWMz###nxxxzznnnxMMnzznnz
z###########zzznxxxxxxxxxxxxxn+;:;;i*nxxxz*iiii;;;;;;,+*#zn:::,,,:::::::::::::::,,,:::;;;;::::::::::::::;;;;iiiiz#*in+*:nxMMWWn#+#znxxz#znnnxMxzzzzz#+
#########zznxxMMxxnnnznnnnnnnnn*;;;;innz*;iii;;;;;;::.#*#zn::::::::;;;:::::::::,:,,:;:;:;;;:::::::::::;;;;;iiiiiz##*z++,xMMWx#++#znnn##znnnMMnzzzz#+++
######zznxMMxnnzzznnnnnnnnnnnnnz;:::+nzi:::::::::::::,iz#zn::::::;;i;::,::;;;;:,,,,:::;;i*i;::::::::::;;;iiii*ii#+zi#*#,MMMz**+#znnz#zznnxMxz####++++#
####znxMMxnzzznnnnnxxMMMMMMMMMMMx+iiz#;:::::::::::::::`n+xz::::;;;;:,,,::;ii*i::,,,:;;;;i+z*;;:::::::;;iiiiiiiii#+zi+***Mx+**+znnz##zznnMMz#####+++++#
#znxMMxnzznnnnnxMMWWWWWWWWWWWWWWWMnzn#+**ii;;;;:::::;;,*#z#::;;;;;:,,,,:;ii**;:::::;;;;:;*#n*;;;;:;;;;iiiiiiiiii#+#i+*;zz**+#znnz#zzznxMn#####++++++##
nxMMxnzznnnnxMWWW@@@@@@@@@@@@@@@@WWxnnzzz###++++*******`xz#:;;;;;:,,,::;ii*#*;;;;;;;iii::i+n#*i;ii;iiiiiiiiiiiii+nii*#.+i*+#znz##zznnMxz####+++++++#zx
MMxnzznnnxMMWW@@@@@@@####@@@@@@@@@@WMxnnnnzzz#####++++i:nz#:;;;;::::::;ii*#z+********+*ii*+n+#*iiiiiiiiiiiiiiiii++**i+.i*+znn###zznxMn###++++**+++#zxW
xnzznnnxMWW@@@@@@########@@@@@@@@@WWWWxnnnzzzzz#####++,zin#:;;;;:::::;;ii+##z+++#++++#+++##z+#+iiiiiiiiiiiiiiiiiii;iii;*#znz##zzznMxz#++++++*++++#nxWM
zznxxxMWW@@@@@#########@@@@@@@@WWWWWWWMMnz####+++++***.n;n#:;;;;::::;;ii*#+*#zznn#####xz#zn++++*iiiiiiiiiiiiiiii*i;:+,+#zn###zznxxz#++++++**++++#nMWMx
nxxxMWW@@@@@#########@@@@@@@WWWWMMMMMMMMMxxnz######znx,z;n+:;;;;:::;;;i*+#+ii*+++########++**++*iiiiiiiiii*iii**#i;;+,zzz##zzzxMn##+++++***+++#znMMMMM
xxxMW@@@@@##########@@@@@WWWWWMMMMMMMMMMMMMMMMMMMMMMMM:z+z+:;;;;::;;;ii*##*i;;i**+++++++++***+++*iiiiiiii**ii***#;;**iz###zznxxz#++++++**++++#zxMMxMWW
xMW@@@@@@##########@@@@WWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMz,xM#,;;;;;;;;ii*+#+*i;;;;**++++++*iii***#+*ii*ii**i****+*#i*n.z##zzzxxn##+++++***+++##nxMMMMWWM
WW@@@@@##########@@@@WWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxxx+,*z,:;;;;;;;ii*++**i;;;;**++##+i;;ii**+++**i*********++*zzn:i##zznxn##++++++***+++#znMMMMWWWMx
@@@@@@##########@@@@WWWWWWWMMMMMMMMMMMMMMMMMMxxxxxxxxxxxn:n,:;;;;;;;ii*+***iii+#++#+++#+*iiii+++****ii**ii***+++#;.i#zznxxz#++++++***++++#zxMMMMWWWMxx
@@@@###########@@@WWWWWWWMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxxn,x,:;;;;;;;iii******#znnz###z#*;i*i++**iiiiiii*ii**+++++,##zznxn##++++++***+++#znxMMMWWWWMxxx
@@@###########@@@WWWWWWWWWMMMMMMMMMMxxxxxxxxxxxxxxxxnnnnn:n::;;;;;;;;ii****+zn++i#z#zii..`:#xx+iiiiiiiii*i**+++++:zzznnz##+++++***++++#znMMMMWWWWMxMxn
@############@@@WWWWWWWWMMMMMMMMMMxxxxxxxxxxxxxxxxnnnnnnn*+i,;;;;;;;;iii***nWzi;.i:,*., ` .in*iiiiiiiii****+++++*iznnz##++++++***+++#znxMMMMWWWMMMMxnn
############@@@WWWWWWWWMMMMMMMMMxxxxxxxxxxxxxnnnnnnnnnnnn#:+,;;;;;;;;;;ii**+xzi*;#**i,,`  .i+*iii;iiii*****+++++i+nn##++***+****+++#znMMMMWWWWMMMMxnnM
#########@@@WMMxxxxnnnnnzzzzzz#####+++++++*******iiiiii;;;`z,:;;;;;;;;;ii***#z#i,*..:.,`..;i*iiiiiiiii****+++++#,i;...````````````,;+zzznMMMxzznz+i+zz
#######@@@WMMxxnnnzzzzz####+++++******iiiiiii;;;;;::::::::.#::;;;;;;;;;ii****##z;#,.i:;i*i**iiiiiiiii****++++++z`.`             `,;+#+#zxxnz##z#ii+z+.
#######@@WWMxxxnnnnnzzz#####++++++******iiiiiiii;;;;;;;;;:,;*,;;;;;;;;;ii**ii+##zz####z#**+iiiiiiiii***+++++++##`..............,:i###znxxnz#zz#i*#n#,.
#########@@@@WWWWWWWWWWMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxxxnnnn,#,;;;;;;;;;i***iii#+**+++**+++*iiiiiiii****+++++++nn.#zzzzz##zzzznxxMMMMW@@WWMMWWMxMWWx+**
########@@@@@@@@@@WWWWWWWWWWWMMMMMMMMMMMMMMMMMMxxxxxxxxxxxxi+i:;;;;;;;ii**iiiii++*iii*+#+**iiiiiiii**++++++++#MMn,zzz###zznnnxMWWWW@@@@WWWWWMMWW@x+***
########@@@@@@@@@WWWWWWWWWWWMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxz,nn:;i;;;;ii***iiiiii+#zzz#+****iiii*****+++++++++z@MMz:z##zznnnxxMWWWW@@@WWWWWWMMW@Wn****+
#######@@@@@@@@@WWWWWWWWWWWMMMMMMMMMMMMMMMMxxxxxxxxxxxxxxn,#zM*;ii;;iii***iiiii************iiii****+++++++++#M@WMW+,+znnnnxMMWWWW@@@WWWWWMMMW@W#****++
######@@@@@@@@@WWWWWWWWWWWWMMMMMMMMMMMMMMxxxxxxxMMMxxxxxx:#znnx:iiiiiii**iiiiii**********iii;ii****+++++++++z@#@WxWn,;iiiiii;i**#nMWMMWWMMMW@M+****+*+
#####@@@@@@@@@@WWWWWWWWWWWWMMMMMMMMMMMMMMxxMMMMMMxxxxxxxi*zznxx#:iiiiii***ii;;;ii*****iii;;;;ii***++++++++++M@#@WMxWxnz##zzznzzz#*;:,:;*zMWWx+*+*++*+z
####@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMxxxxxxxx#:nzzxxxM*;iiiii***i;;;;;;;;;;;;;;;;;;i***++++++++++z@##@WWxxWnMxxxnnnzzzzzznxxn#i,:ii*+*++*+zn
###@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMxxxxxxxxn,n#zxxxxMMi;iiii***i;;;;;::::;;;;;;;;;i**++++++++++#W###@WWWxMMnMWWWWWMMMMxxnnnzznxMzi:.;*++znz
###@@@@@@@@@@WWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMxxxMMMMxxx,nzznxxxxMMM*i******ii;;:;;;;;;;;;;;;;;i*+++++++++++M@###@WWWMnMxnMWWWWWWMMMMMMxxxnnzzxMM+,.;#zn
##@@@@@@@@@@@WWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMMMxxx;+n#zxxxxMMWMM*i******i;;;;;;;;i;;;;;ii*+++++++++++#nW@###@@WWWMnMxnMWWWWWWMMMMMMMMMxxxnnzxWWzi,i
#@@@@@@@@@@@@WWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMMMxn+;,*M#zxxxxxMWWWMM+*****+****iii***iiii**+++##++++++++zWMW###@@WWWWxnxnnMWWWWWWWWMMMMMMMMMxxxnnnxWWz
#@@@@@@@@@@@@WWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMMMx*,:+nMWzznxxxxMMWWWWMM+*****+++++++++++++++++##z#+++++++#WnnM###@@WWWWMxnnnnMWWWWWWWWWMMMMMMMMMxMxxnnnM
@@@@@@@@@@WWWWWWWWWWWWWWMMMMMMMMMMMMMMMMMMMx#:,+MxnnWMzzxxxxMxMWWWW@WM+****+#+++++++++######zn#+++++++#Mx#nW###@@@WWWWMxxxxnMWWWWWWWWWMMMMMMMMMMMxxxxn
@@@@@@@@@@@@@WWWWWWWWWWWMMMMMMMMMMMMMMMMx#;,*xMxnxxMWMnxxxxMMMWWWWWW@WW+****+#zz#########znnz+++++++##MM+#z@###@@@@WWWWMxxxxxWWWWWWWWWMMMMMMMMMMMMMxxx
@@@@@@@@@@@@@WWWWWWWWWWWMMMMMMMMMMMMMMni,*xWxxxxMMMM@MxxxxMMMMWWWWWWW@@@n++++++#nxxxxMxMxxz++++++++##Mx+*nz@###@@@WWWWWMMMxxxxWWWWWWWWWMMMMMMMMMMMMMMM
@@@@@@@@@@@@@WWWWWWWWWWWMMMMMMMMMMMMMi:zWMnnxxMMMMMM@MxxxxMMMWWWWWWWW@@@@Wz+++++++++#++++++++++++##zMn+**xz@###@@@@WWWWWMMMMxxx@WWWWWWWWMMMMMMMMMMMMMM