```````````````````````.........:;:,::,,.,:,,:;;::,,,,,,,,:::;;;;;;i;;;::::;ii*++i,.i##*i*++++++****ii**i;;;i+++#+****i.`..`.,;;;,,i###+;::;;ii*#++##z
``````````````````````..........,:,,::::,::::::;;;;;;;;;:;;::;:::::;:,:;::;i+#zn+;;i++*i;i++*i***+++#zz#+iii#z##*;,,::*i..``.;i,,,..*###i,,:;**ii**+++
```````..`````````````........,,,,,,::::::;;:::::::::::,,,,,,,,,,,,,,:;**i*znnxni;*##+*;:::;;i*+zzzxxnz#+**+zz+*i;,.,.,;:,..,;:.,...i#+##*iiii;i*ii;,,
````........``............,,,,,,,,:,:::::::::::::::,,:,::::::::::;;;*zz#**+#znnz;i*+*ii*;:,,;*#znxxxxxnz#+**++;;*++i:,..:;,.,i:.,.`.:*i*+##zz#;,ii:,,,
``..............,..,,,,::::;;::::;;;;;ii;;i;ii***++*ii*++++****i;*+#xMxz++***++i;++*i::;:,,,;i#nzzznnxnz##+++*ii*##+*:...::,::..,.,,,::;*+###+;..,,:*#
...........,,,,,:,::::;;iii*******+++++++++++###zz##**+##+***i;;i+##MWMnnz#+*++;i+*i:..:,..,;,ii;*+#z#++++++#+++*#+++;..`.:i**:*#zznnz+*+##+*+*.`..,*z
......,,,,,,::::::;;;i*ii*******+++#############zzz#+++##+*;;;i*nMxnMWMxxxxnnz#i++i:..,,...,;,:::;+#z#++##++####++**i;,,::i#nxnxxMMMMnz#znnz*ii:.,..iz
``...,::,:::::;;;;;ii******+++++++#########zzzz##++*iiii++i;;i#nMMxxxMxxxMMMxxz*##:...,:;:;;;;;::;#zz######+##+++*i;;;;;i+nxMMxMMMxxxz*#xnnn#i;;i+;:+z
...,,:;::;;;;;iii***++++++++##########zzzzzzz#+**ii***;;ii;;i#nnnxnnxMxxxxMxxMx++*.``.,,,;*#+i;::,i#zzzz####++***ii;****#nMMMxnxMxxnz+izxxz##++*###+zn
..,;iiiiiiiii**++++++########z###zzzzzzzzzzzz+**iii++i,,;***+z#+++#nxMxxMMxnnxx+;,````..,:;i*+**:.;*+#+*ii*##+++*ii*+#znzxMMMMMxMxxxxn+nxz###++++iii##
,;i*+++++++++##########zzzzzzzzzzzzzzzzzznnz+**i;;;i::...;***+*;i;;znznMWMxMxnz#:.````..,,,::*++i:i+++*;:::###zz#+++*+#nnxWWWMMMMxnxMMnznzznnz+**;,;++
*+##zz########zzz##zzzzzzzzznnzzznzzz###nnz+*ii;:;**+:...,;;;::,:,,:ii+MMMWMxnnz;.````..,,i;:;++++ii++++*i:i+znnzzz#+*i#nMWWMMxxMnnMMn#+nxxxxz+++;:**+
zzznnzzzzzzzzzzzzzzzzzzznnnnnnnzzz###++znz#+*iii*+*;***;;*+i;:....,,:;;nMWWxnzz+;``......:ii;i*i;*;,:*++*i,.:+zzz#z#zz#nxMMMMMnnnz#z#*i*#nnxxn#++*++**
nnnnnnzzzzzzzzzznnnnnnnnnnnnnnz++#+++***+ii***++#+:``,i**+*i+i,,;iii*i;zMxnz#z#i,..,......:;;:,.`;:..;i*i;:.,*##z#zzzzzznxxxxn##z*;ii;i*+znnnnz+zz*i**
xnnnnnnnzzzzzzznnnnnnnnxnxnnz#++++++*i;:;;::;;ii**i,..;+###i;;,,,;i+#*:i+#znzz*:,....,....,;;....i;.,*i;:,;*:;+zzzz+**##zznnxn#+*:,ii;**#znnxxz##++i;,
xxxxxxxnnnnzzznnnnnnnnxxnnz#+++++***;;:;i*i:,,:::*nnz#+#zzn+:,.,.:;i++*+*+##z+*i:,.`,:...,:*++***;*i:+:,,,i##i+#zz+,,,;##z#znnz*i;i+***#znnxMx##+i;,``
xxxxMxxxnnnnnnnnnnxnnnxnn#+*+++****i;:i+#+**i;;+nMMMMxnzzznni.:i,.,,;**#z##**zn+;,.`,:.::,:*#z###::;.i,:..;z#,.:i+;...,;*n#+znz**+*+#++#zzxxx#i+#*;```
MMMMxxxxxxxnnnnnxnxxnnnz+**++***i*++i::*#*+zxMMMMWWWWWMMxnnnz#+ii:,;ii+#+++i,;#*;:..,,:**:;*#zz#+::i:+i;.`,;,....,,..,,,:z#znzz+++#+zz####nxnzz#+ii:.`
MMMMxxnnnxxxxxxxxxxnnz++**#nz#+*ii+z+ii#nxMMMWWWWWWWMMMxnnnzzz;,,:*+##+;,i+i,,#*::,,:;i***+znnn#*i+####*,,;;....,....,,;*nnn##+*+*i#*+##zzznnzz#*;i:::
WWMMMz*i#xxxxxxxxnzz#+########***++###zxMxMMxMMMMWMMMMx++nnnn#;.`.;*+*:,:izz##z+ii;;i+##znnxxnz*;i#zzz#+;:;,,..,,,:i:,:i+#zz###+*i**;*znzzzzzzz#+*i.:*
MMMMMxnnxMMMxxxn#+*+#*+#nnz#++++###zzxWMxnMMMMMxMMMMMMnzznxnz#*,..:;;:.:;;i#zz#+ii**+#zzznxnnn+;:;#zzz#+i:,......;*i;i**iiiii*++*;*::i##z+###z#+#+;:iz
+xMMMMMMMMMMMxxz+*;i*ii*#zzz###z#+#znMziizxMMxxxMMMMMxMxnnznz#*i,,::,.`.:::;i+#*;*++*+zznnnzzz+::*zznz#+**;.....:i***i*+++*ii+#+;i#+:i#z+i+++#zzz*inxn
;#WWWMMMMMMMMxz#*i;*+i;ii+zzz###++#zx+:,,*z##znxMMMMMMWMxnzz#*;*+:...``.,,,,:;#++#zzz#znnnzzz#+*i#z#nz##+z+.`..,:;;;;iiznx+++zn#;+z#ii+i:;*#+znnnznMx#
;inMMMWMWWWx#+#+*ii*i;ii*+#*+#z###n+i*i:,:iii+#nxMMMxMWWMMnz+;,:i.``.``....`.,;#nnnzz###zzzz#++#znz+#+znnn+;;,,i;:::::iznn##+zzz*+#+;;:;;;*#**zzzxxz+*
;i*zxWMMMMxn*;i***ii*iii;::,*#nnnnni:+;:;*++***zxxMMMMMMMxnz+:``;.`,:..,,.``..:*zxnzzzzznnnzz##zzz#**+nxnnz+*,:;,,;;i+zxn*++*+ii::;ii;:;;;+#i:zzzzn*::
zxxMMMxMxzz#,,,:i::,,;i;,,.,znxxMxz:.i::*#+i:::+MWWWMMMMMxz##i``:,`,;:,:,.``..:i+znnnxnnxnnnzz##*****#nnnnz*:.,,;##+xWWWx#*;i;:::,::+;ii;;##i:i*+##*i,
MWMMMnxMnnn+...,,.,;;**;;;;zMxMxxz#*i*+++##****#MWMxMMMMxn##zz,.,:``:++i:,.``.:+##zzzzzznznnz###i;;i;+#*i**;..,,nMxnMMMxn+:,,:;;...,i;;:;i++i:;i;i;+*:
MMMxMnnMMxx*.......+znn#*izxxxxnnnzzz#*i*+###inMMMMMWxnnnnzzxx+,,;;i##+**i:,::+zzzzzz#++#nxxnzz#i;;;i+#*:,.,,,.+WMxxxMxnnnz,:;i:..:i+i.,;;*+#zzn+i;i,i
MMMxMnzzz#*i..``...*znzzzzznnxznxMxxn#**###znWWMxWWWWMnzzznxxz+;i##*++**i;;;i#xxMxnnz#++#nMMMxz#*i;:::+i:..,:,,xWMxxxxnnn#*,;i:,,*nxMz*+z+##nnnz+**+ii
WWWMnxxi:,:i,``...`,;+++#+*+#z:*xMMMz*i+z#*zWWxxW@WMWMxz##z#+#zzzzz#nz++i:;i#nMMMxnz##++#nMMMxnn#i:,..;,,,....:xMMxxxnzz*;..,,.,,*xWMxnnxxxxMxnnnn#ii+
@WMz#nn*i*#i.......:,;+zzz+***i:;zxx+*###i,zMMMWWWWMxMMxnnz##zxnzz*:##*#+;;+nxMMxxnnz##zznxMMMMn#i:.`,..:,```.;#z#zxxnz+;i,...,*##zMMxz##nxMMMxxnz+:.:
WMn+nMWMMxx+:::,,,.,,.:;#nnzznn+i:;***i:*:+MMWW@WMMMxMxxnz###znnz#*::iz#*;*+znnxxxxnxnnnnnxWWMn#+*:..,..*:..;;;*+i*zxz#i**:::*#znxxnnMMn#xWWWMxxnxnn#i
WMnMWWWMxzn+*ii;ii:,,.`.:*+znnxxnzz+:;i#xxMMWMMMMnnnxxnz+**;:i*+z*:,;##*,:i*znnnnxnnnnzzzznxxxz+#+;,,,,.#+,+*++*+z+#n+i*#z+#+++#nnx#izxMMMMWMxnxznz##z
n#MMnMWxz####+**i;*;::..iii**#xnnz#z*:izMWMMMxxz*i+znn#i,...,;*+#*;:*+i:,,:*znxxxnzzzz;,:;i;*##++##*:,.;#+;++*i*#nz#z;iznz+##**#i+xn;i#MMMMMxnxn+#z#z*
*#xxMxzz#*+++##z*i*+**i;++:::##nn#++i,;xn*;,:i*,..,;*+;.....,:i##+i:,:...`.,+zxxxnnnnz:*:ii;**#nnxxxz##+i:;*;:::;*#z#;iz####*;;iiiii:iizMMMn#nnn##xz#i
nnxnz###*++z#zzz#+#++z###z+i;:.,:*#**+##:........,,ii:........;zz*...:;``.,.i*nxxxxxn*,;;ii;;i*zxMMxnzz*::;::i::,:*#i:ii*##+**i:::,:ii*:;*;:ixnn#zn*,;
Mxnx#+#z+*+#++#*+#nnzz+##zz#++i+*i;,:+z#,......,,:;#*,```````.:#+,.,,.:.`,,,i*+xxxxnzii*i*;:::+izWWWMxxni;,,i#+i:,*+;;*+###+*i:,;i.,;;*i,...zxnz#z*,,:
@MMx**+#+#z++#i;+znnzz#z#+#nzn++;i:*#+i;::.....,:iz#*:``````,#z#:.,:;;::;:.,i+zMn+#z+iii;::;:;#*zMMxnnnnn*;#z+**;;+i;izz*+*i;;***;:;*#z#z*i*+#zzzn#+**
@WWn*#*++##++*i;*+++znz#*#xn##*;::i+i;,.ii,...,,;#z+ii..```.:nz;.,:;;i,,,#;,#xMxnnnzi;**;,.,,.*+zxMxz#++zz#+i;;:::iii+z+**i;;;i*+nMMnzz####z#+++zxnzz#
WWM**nz+z#+++*****++#+i++nxn#+;:,,+i,,``;+i,..:,*zzzzz+;:,..inz,::,;,,..,+*+#xxxMxnin+;*:,,,.,#xMWMxnnzz#+++;i*i:,;iz#z+:,::;*+xWWMxnz++#nxnnzznxxnz##
Mn*iiz##nz###+*++**i;::*+zMxz*:,..+*;.``;#+*.,:inxxz+z;,,,,:nz;:,..,.`.,,:*nznnxMMxMMn#+,.,..:MxMMMxxnnz*i##+#++*i+#z+**;,.,:*xWWWMxnz###nxnnzzznnnnnx
n;***n#zzn#***##i:,..,,;:*nxx#:,.`#+i:.`*z+i.,*nn#i;*+,,,,i##z*,,,.,..:,:*xnnnnxxxxxMMMMzi::;**#xMxnz#+zz##z*+#zz+#z##+#+#**inMMMMxnnnnnxnnnnz###nxnnx
*:i#nxzzz#+**++i;,``.:,::;:zxzi,.,Mx#;,`#z+,.,zz+i:;z+,,++zz#**;,i,,:,,.ixxxxxnxnxMMMWMMxz+;;:,:*zz#*ii*######nzn##z#zzzzzzz#+zxMxnnnxxzxxnnn#+#zzz#zz
i+nnnxzzz#*+##+i;:..,..*+;:+nz+:;xMxni:*n#i*#+z+*i;;:,*#nz+*;;;,,:..::..*xxx#+nxMWMMMMxxx+;:,,,:##+**+zz#z#znxxnnnnnzz#z#zz++++nznnnzz;i+#znz#+#zzzzzz
+zMnnx###*;ii+++i;:+n+*z#**+#znMMMx#++izzii+xxz##*i,:::;i;,,:i;;::...,::#xM*:.,i+nMMMxnxni::,,:i*#z##zzzz###znxxxxxxzzzz+*+*+##zzznzz+*i;*+znnznxxxnnz
#xnznn++#*ii****+*+Mxxxnnn##nxWWMMn#:;*+i,*zxxznz*#+*i;i**;:;;;*,:.`````.;*:...`.,zxxnnnn;;i;:i#zzz#+#####z+++znxnnnzz*ii*i;i*+*i*z##+,,,,;+nxxnxxMxxx
Mn##nn#####+iii*++zxMMMMWxnnMW@WMMxz:,i**#zMMxnn*##++****i;:::*,::,.``````;,......,+znMMz+;:*zznnnz+#+#++#+#+*zznnnnn##z#+####zi:*nnxni,,,;*+nxnnnnxMM
Mn##nxxxnzz#+**#nn#nxxxMxMWWWWW@WMz#i:;;i+MMMxxMn*i;::::;i;:i;z;z*..``````.,:......:#MMxnz++nnxxnn#++++++z#z##nnnzzz####*#zn#*,::nxnxMn*:;*z##z#znnnnx
nzz#nxxxxzz#zzz#nzn#*+xxMWWMxxMWMn#*;;;;,zMMMxMn*:::,,,:i*++#zz#zi,,..;,,*i.;,,,...,+MxnzzznnxMMxn#+#+###znzzzzzzz#nxxnxzzn#;::,*nxnxxMnzznxn#*#nxnznn
WMz#nxxxxxzznxxxxn+i..*zMMxxxMxMxn#:,;;*;zMMMMz*;.,:,..i++#znz*+*:::;;i++zz#z+i:,::,izzz#nnxxMWMxnnnzznnnxnnnnnnznnnxMxxn#i;,,:.**zzznnznnnxnxz+*+znzn
zz##nnxxxxzzxxxxxn*;,,i;i+nxMxnxxxn*z*ii;xWWWMz;.,,,:.,i*+*;*ii;;:;,i:.,;nWMxxn*,::;izzznxMxMMMxnzzznxMxxnznnnnnxxxxxnxx+:i:,:.:;*#+i*+#zznzznnn#####n
z#*#nnnxxxz+xMxxx+*;i;:..,izzznnznz*i++iinWMMz#*,.,,+,,;+zi;,,::,;#;,,..+WWMxxxnz*:i*##nxMMMxxxxxznnxxMn++++#nnxMMMz#*i*;;;,,.,zz#+*iii;i+*:;*;ii+#+*z
#+*+nnnxxxnnxMxxx****i,..::;;;+##+;:iz#+;#Mxxnzni,,,*,,:+#*;....:+z#*;::MWMMnz#+#+*#zxnnxxxnnnMxxznnxxnn#+***+zxMx#+;ii;i:.,.,+znnnzzzzzz##+*;:,,,;;+#
#+#Mxnnnxxxxxxxxn+**i:,,:::;;;;*i::*xxMnznxxMMxx#;..,,.iii;;iii*z+i;:i+zMMMxnz#+**ii+zzxnnnnnnxxxnzxxz#####**i*z#+z***:i:....i;zzznnnxxnzznnz#:,.ii*##
##x@xnnnnxxxMMMxn#ii+i::;i;;*i#+*##Mzz#**nnnMMnnz+,,,,.i,,;;;*#z+i;i:innxMMxnz#+**++zzz#+#nxnznxnnxMn#**i*+#++**in#i:,,:,.....ii*+##znnnnnxxni,,,++++*
###WxnnnnnxxxxxMxnnxxx*:;*+iinxnnznMxxn+i+z#nz+z#*.,.,.:,.,,.,i+*ii:,:nnMxMMxnz#znz#+#+ii+znnznnnxxnnz#+*ii*++;:++;,.,........,,,:;;i+zzzz#+i,,:,+*i:,
##+WMznnnnxxxMMMnzxnMMzi:ii*nxxnz+#znz+:;z*i;+;:,.`.,.::,,.``:+*+ii:,,+nxxMMxxxxxxn###*i;i#zzznxzz#+**++++*iii,i+;:,.``.,..,,:i*##+;::zz+;,,,.,,,;:,,,
##z@MzznnnxxxxxnznnnMxxn#+i*nxnnz#+###+i*#*,,*i......,:,;,.`.*+*;;**,.:zxnxxxxnxxnzz#+iiii#nnxxx#+*+**i;i**i+***:,,....,.,:*+####+i;,:**i..,,.,..`.:,;
z##WWzznnnxxnnMn++#nnz##+#zzxxnz#++++##++#*,;#+;::,,::*;:..:;**i:;i;:.:*#nxxxxxnz###+*iii*+nxMxzzz+i++***;;iii:,,,,....,:i#*ii+++;:;,;#+;.,::,,..`;+*+
z##W@zzznnxxzzx;**;,,:;:,:;+znz#++#zz#+*+i:;*z#z*;:;ii+*;*#z**+*,...:;.:*zMMMMxz+****+**+znnzzz#+#z**#+*i,,:i**;:,..,,:+#**:;;**i;ii,,#z*:::,,,.:i+##z
z##W@xzznnxnnz****i:,:*ii,.,;#z#+##z#+*i++*zzzznz#zn##z#zxnz*z+:....,:,:#xMMnnnz#***+#zznnnn##++++zn#+ii:.,;+*i,...,;**++*i;;*i***i;,,+z+;;;:;,.:::;:;
z#zW@Wzzznx#;*#zz#+*;::::,..,:*#znn#z+*#nz#nMxzxnzz#+#nnnn##z#i:.`...,i+znxxnnnzz+*+znnnxnz###znxxnz+*;;,..;i,,...,ii***i;;*##i*+*i;::*++*:,:;,,,,,:i;
z#n@@@nzznxxnxxxnnzz+i;;;::,::,;+zznxxxxxxMMMxnn:++**+++++*+*i..```..:i+#nnxxnzz#+##nnnnxn#**+zz###+*i:....,,,...,ii*zz#i*#nnz+##*i::;*###+++*;,,,:,::
z#x@@@Mzznnxxxxxxxxnz+*:,,:;;i;,,;####znxxnznn#:i*+*iiiiii;::;;...;;i*++#nxxnzzzznnnxxxxz#**+zn+*ii;,......,:...,i*;*znxzznn##+#*::;*zz#zzz+*ii:,.,,;:
z#n@@WMz#zznxxxxxxxnxn#*i,:;;ii;::,:;;*#+***z+;i*+**ii;;;::,,*;;*++*++zznnxnzzzzzzznnxxz*+#+#z+i:,,.......,,.,,,*+*:;zxxnz#+++#*;;i++#+#z#*iiii:,..,i;
z#n@@@Mz+#znnnxxxxxxxn#i:,:*i;*;i;i,::;i+#*i*+###+**ii+i;**+zz#zzn+++#znznxxnzzzzz+*+##++#+i+;,,......,.....,:i+z++i##zz#++***#*i+z###+++*ii+#*iiiiii:
z#n@@@Mz#+#znnxxxxxxxxz+;:i**;;::;;::::i**;##z#+++####+#zz###nn#nz#z*++#zzn#zzxxz*i*;;;:::,,:,.......,.,..,:i*#z#**++i*#*ii***+++#z##+#++*iizz#z##+*ii
z#x@@@Mn#**#nnxnnnxxxnz#i;i;;:,:;i*iii*+##*#++*iiii++#zxnnz##nnz++z#+#*#zznxxnzi;*+i:,,,,........``.;;;+::;i+zz+*iiiii;***+#z+###zzz#+##+i.i######*;:*
z#z@@@Mn#+**znnnnnnnnnn#***i;;i;:i+*+++++i:;:+*;;:i;i+nxx+++#zz###z##zznnnnzz#+:ii;:,,......```.`..,*+++*#z#zzz**iiiii;**znxnzz#znnn###zn+i+##+*+*;::i
###M@WMnz#+++znnnnnnnnnz#z#*:::;;:;;++ii*i*i+##*+++;:*#+i;++##nzznznnz#zxn#+**i;iiii;:,...```.....,;#zz#znn###*i*ii+****iznz#zxn#znnnxxxnzz+**i;:::::*
z##x@@Wxz##+*+znnnxnnnnnnnnz#+**iiii+++###zz#*i;**##+####+###zznnn#+*;i#nn*i;;;;;iii**i;,........,;+znnz#xxn#i:;*#zz#++i;++i*##*+znnnnz#*ii;::::::::i+
x#z#W@WMz###+*+znnxnnnnnnxxxxxxxnnzzzz#++z##*i:i+++zzznnnnznnnnnnn#+ii+nn#+;:,***#+#zz#+:..,...:*++zznnz#xxzii*++##+***;;*i;;**;i+zzz+*i;::::::::::;i*
Mz##xMMxz####+*+znnnnnnnnxxxMMMMMxnzn##**+++**;;i;i++####++zzzzz##+#znzn#++*ii#zzz#+zzz##**;:i+zzzzxxxz+###**#++#z#*i+i*i*:,,,:,:i+#+iii;::,,::::;;ii*
@@x#zzxzz####++*#zznnnnnxxMMMMxxxxzzz++*****i::::::;i**iii*+##zzzz#znxz##*iii*zzz#**zzz++####zzznxxnnz+*iiii++*###*;;iiii*;::;;:;*++**++i;;iiii*iiiiii
WWWxz#znz####++**#zzznxxxnnxxxnznnz##+***++*;ii;;:;;::,:,:i#zznnnzznnz###i::;+z##i:i*++#+**++##nxxx#++**i;i*+#z#+i;;;*+*******i**++#+###+ii*****ii;;;i
@@WWxxWMxnz##+++**#zznxxn#zznzzz##nn##znxxxxnzz#+*;:::::;i**#zz##++#z#++ii:,;#z#i;:;*+####+++#+++z#+**i;;i***####i;i*++****+#i;*++++*+##+*ii**ii;;;;;;
@W@WzzWWWWMn##+++*+##znxz#+zzz##++##+xMMMMMMMMMxxxnz#+#zzznnxzn+++znnz**iiii*#+*i;;*++++zz#*++#++++*iiiii****##*i;*********ii;;i*++**ii+**;:;*ii;:;:;:
WW@WxMW@@@WMnz##+**+##nx#++#z#+iii**zMMxxxxxxxxxxxxxxxxxnnxxxzn##xMMMz#+++i*#z*i;;*+++++###ii*+i;;i++++++*+###+iiiii;::iiii*iiiii****i;iii;:;ii;;;;;;:
@WWMMW@@@@@WMnz##+**+#znz++*++ii;;izMxxxxnnnnnnnnnnxnnnnnnxxn##*+xMMMxzz#zznz#+*iii*+*i*+##*i**;;;;;;iiiizz#**i*++*iiiiiiiiiiii;ii***i:;:;;;;****;;::,
@@WWM@@WW@@@Wxnz#+++*+##n#++*i*i;i#xxxnnnnnnnnnnzznnzzzznnxxnzz*+xMMMMxz###z+***nxxnnzz#**+#+++++++***++#z++*i#nn#+*i**+++**ii;;;i*;;;;;;:;;i*ii*ii;:,
@@@@@@@xM@@@WMxnn##++*+#zn+*ii*ii+nnnnnnnnzzzzzzzzzzzzzznnnnn#+++xMxxxxn##z#+i*nxMMMMxnz#+##++**+znnnnnnz+iii+nxn+***+i**+#++i;;;ii,:;;::::;iii****;:,
@@@@@WW@@@@@WWMxnn###*+#+##+*i*i+znzzzzzzzzzzzzzzzzzzzzzznnnn#**+nxxxnnnzz#+i*zxxxMMMMxxxn#++*iii+nnnnnz+iii+znnz*i++*;;;;+##*;;ii;::;;::::;ii*++*i;,.
@@@WWWWMW@@@WWWMzxnz#+**++#+;;*+#zzzzzzzzzzzzzzzzzz####zzznnz+i+#znnnnnzz+iii#nnnnxxxxxxxxn#+****#nnnnz#*i;*#znzz#z#+*i**+###+*i*ii::i::,,::;*++i;::,,
@@WWW@@WW@@@@WWMnnnzz##**+*i:i+########zzzzzzzzz########zznnz+*++#nnnznz+i;i*zzznnnnnnnnnnnnzz##znnnnnz+ii*+zzzzzzzz##**##++###++*i;,:,,,:,:::ii;:::,,
WW@@@@@@@@@@@WWWWMxxnz##+*;:;i*++++#####zzzzzzzz#######zzznnz+**++nzzzz+i;;*#zzzzznnnnnnnnzzzzzzznnnnz+i;i+#zzzz##z##+ii+++++###+++*****i:,:;;ii::::,:
@@@@@@@@@@@W@WWWWWMMxn##i;;:,,:i**+*++####zzz#zz#######zzzzzz*i*++zzz#+*i;*+#####zzzzzzzzzzzzzzzznzz#*iii+########z#+i;;*+++++++++++###+i;*++++*;::,,,
@@@@@@@@@W@@@WWWWWWMMxn#+*i;,,..,:;i**+++###z####z####z#zzzzz+****z###+*i*+###################zzzzz#+i;i++##########*;;i*++++++++++######++####+*i;::,
@@@@WW@@@WWW@@@WWWMMWMxz++i;:,,,....,:;i**+###########z#zzzzz#+*i*#z+****+#####++#############zzzzz#*ii*+###########+**+++++++++++++##########++**i;::
@@WWW@@WW@@W@WWW@WnxWWMx#*i;::::,,,,,...,,:;*++##########zzzzz+*ii###+#######+++++++##########zzzz#*ii*+############++++++++++++++++#++++++++++****ii;
@@WWWWWWW@W@@@@@WWWW@WWMn*iiiii;;;;::::,,,,..,:;*++#######zzzz#+ii####zzzz###+++++++##########zzz#+i;i+############+++++++++++++++++++++++++++*****iii
WWW@WWWWWW@@@@@@@@@@@@@Wz+********iiii;;;::::,,,,,;i++####zzzz#+i*#############+++############zzz#*ii+############+++++++++++++++++++++++++******iiiii
@@@@@@@@W@@@@@@@@@@@@@@Wxz+++++++++++****iii;;;::,,,,:;i*+#####*i+###############################*ii*#############+++++++++++++++++++++++******iiiiiii
WW@@@@@@@@@@@@@@@@@@@@@@WMnz#++++++++++++******ii;;:::,,,:;i+###+###############################+i;*+#############++#+++++++++++++++*********iiiiiii;;
MxWW@@W@@@@@@@@@WW@@@@@@WWWMxnnnnnnzzzznzzzzzzzzzz##++++++***+#zzzzzzzzzzzzzzznnnnnnnnnnnnnnznnz###zzznnnnnznzzzzzzzzz#zzzzzzzzz########++++++#+++++**
nzznMMxxMMMMxxMMMMMMWMMMWWWWWWMWWMMMMMMMMMWWMMMMMMMMMMMMMMMxxxxMMMMxxxxxMMMMMMMMMMMMWWWWWWMMMMxxxxMxxMMMMMMMxxxxxxxxMxxMMMMMMMMMMMxxxxxnzzznxMxxnxnnnn
+++++##+###z##zzzzzzzzzzzznnnnnnnnzzznnnnnnnnnnnnznnnnnnnnnnzznnnnzznzzznnnnnnnxxxnnnnnxxxxxnnnzzznzznnznzzzz##+#zzzzzznnnznznnnnzzzzz#+**+#zzz#######
iii;;iiiiiiiiii*i**********+*+++++***++*++++++++#++++++#++++++++++++++++++++++++++++++#++++#+++++++******iiii;;;;i***;iiiiiiiiii*i*iii;;::::;;;;;;;ii;
;;;:,,:;:::::;;;;;;;;;;;;i;iiiiiiiiiiiiiiiiii;iii;ii;;;i***ii;ii*iii*****ii****ii;i****iiiiii;;ii;;::;:::::,,,,,,:;;:,::::::,,,,,:;::,,,,.....,,,,,::,