++++++++********************iiiiiiiiiiiiiiiiiiiiiiiii;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***********i***********************ii************************
+++**************************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii****iiii**i***********iiiiiiiii****************************
+***************************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii*****i***************
*********************ii**iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**************
********************iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii***********
***************i*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;iiiiiiiiiiiiiiiii;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii********
*********i*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii**
*****iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii;;i;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
*iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;iiiiiiiii;;i;;iiiiiiiiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii;;;;;;;;;;;;;;iiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;;;;;;;;;;;;;;;;;;;;;;iiiiii
iiiiiiiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii
iiiiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii
iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii
i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;:;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,::,::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;
;:;::::::::::::::::::::::::::::::::::::::::::::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,::::::::::::::::::::::::::::::::::::;;;;;;
::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::;;;;;
::::::::::::::::,,,,,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::::::::::::::::::::::::::::::::::;;;
:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,::,,::::::::::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,:::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,.,..,,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,..,,.,.,,,......,..,...............................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,,,.,..................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,,,,,,...............................................................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::
,,,,,,,,,,,,,,,,,,,,...........................................................................................,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,::::::::
,,,,,,,,,,,,,,,.,.........................................................................,,,,,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::
,,,,,,,,,,,,..................................................................;iiiiii****++*+#*::.........................,,,,,,,,,,,,,,,,,,,,,,,,::::
,,,,,,.......................................................................i#+++++##zzzzz##zzzz+.....................,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::
,,,..........................................................................z#z#####nzznzzz#z####...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,............................................................................z##z###zzz#zz#zzz+#zn*,.................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.........................................................................,::*nzzzz#z###z####****###z:..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................................+#######++####zz#z#++***##zz+...................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
........................................................................#####+z#**zzz#z##z#++++*++#z#...............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
........................................................................zzz##z##*+xznnz#zzz++z#+++zzz.............,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::
.......................................................................,zzz#z###*#xnnn#####+*z#++#nzz,..........,,,,,,,,,,,,,,,,,,,,,,,,:,:;;:::::::::
,......................................................,:,:::;*++++i;;;*#z###+#+*+nzznz#z##+*##++#nzn:,:*,,,,,,,,,,,,,,,,,,:::::::;;iiii;;;#z*i**+++i;
,,,,,.......................;*#........................++++++++++++++++#zzz###+#++n#znnz#z#+*+##*znnz*,*+,,,,,,;*+++++++#+#nzzz#zzznzzzzzzznnnnnnxxnn#
,,,,,,,,,,,,,,,,,,,.......:,znxi....................:,i+##+###+++#+#+**+zz####+#+zzzznnz#zz+**##*znzz#,*#::::::#zzzz##z#zznnnzzzzzznzzzznzzzzzxxxxnnnn
:,,,,,,,,,,,,,,,,,,,,,,,,,*;znn#,,,,,,,,,,,,,,,,,,,,**+++**++++++#+#++*zzz#+++++#nzznznn+*z+**#++znznz:##;::::;nzzzz#####znnnzzzzzznnzznnznnxnxxxxxxnx
iii;::::::::::::::::::::::**nnnn:::::::::,,:::,,,,,:++++++*+++##+#+#+**zzz++++#+#xzznnxn**++**#zzznznz;#z*;;;i#zzzzzzzzzznnnnnnnnnnnnnnnnxxxxnxxxxxxxx
++**+**++**********+iiii*i+nnnnniiii;;;;;;;;;iiii++++++#+#####+#+###+++nzz++++++znzzzxxz*+#++*#zznnznz*z#****zznzzzzzzzzznnnnnnnnnnnnnnxxxxxxxnxxMMMMM
##+##+++##z#*+++#**n#+z#+#+nnnnx**#++****#z+######++++#######++++###+##nz+**++*##nnz#zn#+++*+*+#zzzznz#n#+##nnzzzznnnnnnnnnnnnxxxnnxxnnxxxxxMxxxxxxMMM
##nxxz##zzz##znxz##zxxxxz##nnnnx++zz++*+zWM#######+++######+++++####nnnz#++#+**z#nzz#nxz+*+###+#zn#z#z#n#zzzznnnnnnnxxxnnnxMWWWW@@@@MxxxMMxxxMxxxxxxxM
MMMxxxxxxxxxxxxxnnnnxnxxxMnnxnnnzz#zz###xWx#######++######++++++++zxWWWzz+##++*z#znz#nn#*+z####zzzzzznzn#zzzzzznnnnnnxnxxxxWWWW@@@WxxxxxxMxMxMxxxMxxxM
nnxnnnnnnnnnnxxnxxWWWWWWWxznnznnnzzzzzzzMWnzzz###########++#####+#xWW@Wz######+###n##nnz+#z##+#zznzz#n#z#zznzzzzznnnnnnnnxxxxxxMMMMxxxxxxxxMxMMMMxxMMM
xMxxnnxxnxnnMW@WWWWWWWMxzzznnzznnnzzznxWWWzzzzzz##################MW@@Wz#z+z###z##xzznzn++z++++#znzzznznznnnnnnnnnnnnnnxxxxnxxMxxxMxxxMMMMMMMMMMMMWWWW
xxnxxnnnnMM@@@@@WWWMxnzzzzzznznnnnnnMWWWWWnnzzzzzzzzzz########+++#MW@@Wz#z#z#zznzzxznxzn##z###+zzzzzzznnnnnxxxxxxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMWWWW
xMnxnMxWW@@@@@@WWxxnnnnnnnnnznnnznnznxMWMWxnnzzzzzzzzzz#z######++#M@@@Wnzzzzzzznznxzzxznznzz###z#zznzznnnxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMMWMWMMxxMMMMMMM
WWWW@@@@@@@@WWMxnnnzzzzzzznnnnnnnnnnnzznnnnnnnnznzznzzzzz######++#M@@@Mnzznzzzzzzznzzxzxznzzzz##zznnzznnnxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMMWMxxxxxxMxxMxM
@@@@@@@@WMMMMxnnnxnnnzzzzznnnnzxnnnnnnnnnnnnnnnnnnznnnnzzzzzzz###nW@@@xnzzzzzzz#zznzzxnxnnnzzzzzzznnzznnnxxxMMxMMMMMMMMMMWWWMWWWMMMMWWWWWWMMMMMMMMMMMM
@@@@@@@MxnxxMxnnxxxnnnnnnnnnnnnnnxnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzx@@@@MnnzznzzzzzzznzznnnnnnnzzzzzzznzznnnxMxxMxMxxxxxMxxxxxxMMMMMMWMMWWWWMxMMMxMMMMMMx
#@@@@MxxMMxxxxnxxxMxMMxnnxnnnnnxnnnnnnnnxnnnxxxnnnnnnnnnnnnnnnnnW@@Wnzzzznnzzz#z##zzzxnnnnnzzz##zznnnnnnnnnxxxMMMMMMMWWWMMWWMMxMMMMMxxMMxMMMxMMMMMMMMM
##@@@WWMMMMxxxMxxxxxxxMxxxxxxxxxxnnnxxxxxxxxnxxxnxxxxxxnnnnnnznW@Wxzzzzzzzzzzzz##zzzznnnnnzzzz###zznnznnznnnxMxMMxMMMMxxMxxxxxxMxMMxMxWMMWMxMMMMMMxMWW
@@@@@@@@@@WWMWMMMMMMMxMMxMxxxxxxxxxxxnnxxxxxxnxxxxxnxnnnnznnnMW@@nzzzzzznzzzz#zz#zzznzznnnnzzzz##zzzzzznnnnnnnxxxMMMMxxxxMMMxMxxMMMMWWMxxMMxMMMMMWWWMW
WWWWWWW@WWWWWMWWWWWMxxxMxxMMMxxxxxxxxxMMMMnxxxxxxxxxxnnnnnnnM@@@Wzzzzzzzzzzz#zzzzzzzzzznnxxzzzzzzzzzznnnnnnnnnnxxMMMxMxMxMMMxxxMMMWMMMMxMWMMMWWWW@@WW@
WWMWWMWWWWWWWWWWMWWWMMMMMMxxxMxxMxxxMMMMMxxxxxxxxxxxxxxxxMM@@@@Wnnnz#zzzzzzzzzzzzzzzzzzznxnzzzzzzzzzzznnnnnnnnnnMMMMWWxMMMWMMMWWWWWMMMMMMMMMWWWWWWWWWW
WWWWWMMWWWWWWWWWWWMMMMMMMxxxxxxxMnxMMMMMxxxxxxxxxMMMMxxxM@@@@@nnnnzzzzzzzzzzzzzzzzzzzzzznxnzzzzzzzzzzzznnnnnnnnnnMWWWMWWMMMMWWWMMMMxxMWMMWMWMWWWWWWMMW
MWWWWWWWWWWWWWWWMMMMMMMMMxxxMMMMMxMMxxxxMMMMMxxxxxxW@@@@@@@@xnxnnzzzzzzzznzzzzzzzzzzzzzznxnzzzzzzzzzzzznnnnnnnxxxnxWWWWMWWWWMMMMMMMMMWWWWWWWWWWWMMMWWW
MWWWWWWWMMMWMMMMMMMMxMMMMMMMMMMMMMMxxxxxMxMMWWW@@@@@@@@###MnxnnnzzzzzzzznnzzzzzzzzzznzznnnnzzzzzzzzzzzznnnxnnxnnnnnxxMMWWWWWWWWWWMWWWWWWWWWMWWWWMWMWWW
WWWWWMWWWWWWMMWWMMWWWWMMWMMMMMMMMMMMMMW@@@@@@WMWxxnxxM@#WxxnznnzzzzzzzznnzzzzzzznnnznnznnnzzzzzzzzzzznznnnxnnnnnnnnxnnnnMMMWWWWWWMWW@WWWW@@@@@@WWWWW@W
WWWWWWMWWWWWWWMMWWWWWMMMMWMMMMMMMMMW@@@@WWWWWWMWWMW@@WMWxxnnnnnzzzzzzzznzzzzzzzzznnnnznnnzzzzzzzzzzzzznnnnnnnnnnnnnxnnnnnxMMMMMMMWWWWWWWW@@@WW@@WWWWWW
WWWWWWWWWWW@WMWWWWWWWMMMMMMMW@@@@WWMMMMMMMMxxxxxx@##nMnnnnnxnnnzznnzzznzzznnnzzzznnnnnnnzzzzznnnznzzzzzznnnnnnnnxnxxxnnnnnnMMMMMMMWWMMxMWMMW@WWWW@@@@@
MWWWWWWWWWWWWWWWWWWWMWWMMMWWWWWWMxxxxxxnnxMMxxMW@@MxnnnnnnnnnnznnnzzznnzzzznnzznznnnnxnnzzzzzzznzznnzzzznnnnnnxnxxxnxxxxxxxxxMWWWMMWWMMMWMWWWWWWWWWWWW
WWWWWW@WWWWWWMMMMMMMWWMMMxxxxxxxxxxxnnxxxxxMMW@MxxMMnnnxxnnnnnznnnnnnnnnznnnnznnnnxnxnnnzzzzzzznnnznzzznznnnnxxxxxxxxxxxxxxxMxMM@#@@@@WWWMWW@@W@@@WWWM
@@W@WWMMWMMMMMMMMMMMMMMMMMMMMMMxxMMMMMxxxM@@WWMxxxnxxxxnnnnnnnxnnnznnnnnnznnnnznxxnnnnnnnnnznzznnnznnnnnnnnnxnxxxxxxxxxxxxxxxMMMMMWW@WMW@WWWW@@@@@@@WW
WWWWMWWWWWWWMMMWWMMMMWMMMMxxMMMMMMxxxMMMW@@WMxxxMxxnxxnnnnnnxxnnnnnnnnnnnnnnnnzxxnnnnnzznnnnzznnnnnnznnnnnnnnznxxxxxxxxxxxxxxxMMMMMMWWW@@WW@W@@@@@@@@@
WWWWWWWWWWWWWWWWWMMMMMMWWWMMMMMMMMMMWW@MxxxnnxxxnxxxxxxxnnnxxnnznnxnnnnnnnnnnnnxxnnnnnnnnnnnznnnnnnnnnnxnnznnnnnxxxxxxxxxxMMMMxxMMMMWWMMMWW@@@@@@@@@@@
WWWWWWWWWWWWWWWWWWWWWMMMMMMMWWWWWWWWMxxxxMxMxxxxMMxMMMxnnxxxnnnnnxnnnnnnnnnxxxxxnnnnnnnznnnnnnznnnnnMnxxxxxznnnnxxxxxxMMxxxxMxMMMWWWWWWWWW@WMMWWMW@@@@
WWWWWWWWWWWWWWWWWWWWMWWWWW@@WWWMMMMWMMMMxxxWWMMxxMMxnnxxxxxnxnnxxnxnnnnnnxMxnnnnnnnnnnnnnnnxnnnnxnnxxxnxxMMMnnnnnxxMMMxMxxxxMMxMMWMWMWWMWWWWWWWWWMW@@@
WWWWWWWWWWWWWWWWWWWWWWWWMMMMMMWMWMMMMMxMWWxxxxxMxxxxxxMxMxnnnnxxnnnnnxxxxMMnxxxxxnxxxxnnnxnnxxxxxxxxMMnxxxMxxnnnnnxMxxxMMMMMMMMMxMMMWWWMMWWMWW@MMxWWWW
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWMMWWWWWWWWMMMxxnxxxxxWMxxxxxxnxnxnznnnxnxxMMMznxxxxxnxxxnnnnnnxMxxnxxxxMxnxxxxxxxxxnnxMxMMMMMWMWWMMMMMMWMWWMWMW@WMWWWWW@W
@W@WW@WWWWWWWWWWWWWWWWWWWWWWWWW@@@@@WWMMMMMMxxxxMxxnnxxxxxxxxxnxxnnnxxxxxxnxxxxxxxxxMxnnMnxWxnnxxxxMMxnxxxxxxxxxnxnxxMMMMxMxMWWMMMxxMMMW@@@@WW@@@@@@@@
W@@@WW@@WW@WWWWWWWWWWWWWWWW@@#####@@WWWWWWWWWWWMxxxxMMMxMMMxMxxxxxxxxxxxxxxnnxxnxxxMnnnxxnWxnnxxxxxMxxxxMMMxxxxxxxxMxxxMMMMMMMMMMWMMMW@@@@WWWW@@@WMWWW
WWWW@@WWWWWWWWWWWWWWWW@@@@@WMMMMxxxxMMMMMWWWMMMWWWMMWWMWWMMMxMMMxnnxxxMMxxxnxxxxxMMxnnnxxMxnnnxxxMxWMxxxxxxxxxMxMMxxMMxxxxxxxMMMMWMMW@@WWM@MWMW@@MWWW@
@WWWWWWWWW@WWWWWWWWWWW@WWMMMMMMMMWWWWW@#####@WMMMMMWWMMxxxxMWMMxxxMMMxxxxxxnnxnnxxnnnnnMMMxnxxxxxxWMxxxxxxMxMMMMWMMxxxxxxxMMWMWMWMMMMWWWWWWWWMMW@@WWW#
W@@WW@@WWWWW@@@@@@WWWMMMWWWW@WW@@WW@#@@WWMMMMMMMxMxxxMMMMMWMMxxxMMMxMMxMxxxxxxMMMxnxnxWWMMxnMxxxMWMxxxxxxxMMMxxxxxxxxxMMMMMMMWWW@WWWWWW@@@@@WW@#@###@@
@@@@@@@@@@WMWW@W@@WWWW@W@WWWWWMWW@@WWW@WWWMMMWWWWWMWWWMMWWWWWWMMMMMWWMxxxxnxxxMMxxxMxMWxxMMMMxnxWxnnxxMMMWWWxxMWMMxMxxMMMWWW@@W@#WW@@@@W@#@@@#######@@
WW@WMW@@@@@@@WMMWW@@@@@@@WW@@WWWWMM@#WMWW@WWWWWMW@WMMWWWMWWWWWWWWWMMMWWMMW@@@@WxMMMW@@WMxMWWxxxWMxxxxxxMW@WxxMMxxMMWMM@@WWWW@@@#WW@#@WWW###########@WW
@@##@@@@@@@@##@WW@@@@@@@@@WWW@@###WW@WWWWWWWWWWWMMWWWWWWWMMMMMMWMMMMMxxMWWMxxMMMMMW##@WMMxMMxxM@MxxnxxM@@MxxxMxMMMMWW@@@@@@##@@@@@##@WM@##@W@@@W@@WWWM
###############WWWW@@@@@@@@@@@WWWWW@@@WW@WWWWWWWWWWWWWMMMMnnnnnxMMxxxnnMWWWWWMMWWW@@MMMMMxMxxxWMxxMMMW@@WMMMMW@@WWWMW@@##@@@@WW@WW@@@@M@@@@WMWMMWMMWMM
###############@#@@@@@@###@@#####@W@#@@@@@WWWWWWWMMMMWW@WWWWWWWMMMxnxMW@@WxMMMWWW@WMxMWW@xMxxxMMMMWWW@@WWMMM@@WMMW@@###@@@WWWWW@@@WW@WW###@WMWWMMWWWWM
###@##########################@WWMMWW@WWW@@WWMMMMWW@WMMxM@WW@@WxxMWWWW@MxxxM@##WMMxMWWWWMxWWMMMW@W@WW@@@WMM@@@M@###@@@@WWWWW@@###@@@@@@@@@#@@@@WW@@WWW
W@WMW@@@@M@@@WWW@@W@@W@@WWWWWWWWWWMW@@W@@WMMW@@W@@MMMMMMMWWWWMMWWWWWWWWWWWW@@MxnxxxMxMxxxxW@WMW@WWWWW@WWMM@@####@@@WWWMMMW##@W@@@WMWWWW@@WWWMW@@@#@@@W
WWW@MxxxWWMxxMMW@@@@WMMMWWMMWWWWWWWWW@@@W@@@@W##WWWWWMWWWxMnMMMWWWWWWWWWWWWWMxMMMMWMWMxxxxxMMWWWWMWW@@MMx@####@WWMWMMMW@@@@@WW@@@@WMWWWWWMMWWWWWW@@@W@
WMMMMMMMWW@@@@WWMMMMMMMWW@@@@WWWWWWMWW###@@@#####@WW@@@@@xMMMWWWWWWWWWWWWWWWMMWWW@WWWWWWW@WWW@WWWM@@WxMW@#@@##@@WWWW@####@@WW@@@@@WMW@@##@W@@@@@W@#WW@
MMMMWWWW@@@WMMMWWWMMW@@@#@WMMWW@@@@##@W@@@@##@W@#@@######@WWWWWWWWWWWWWWWWWWWWWWW@WW@@@@WWWMWWMWWW@WM@####@@W@MMWWM@#@@@@@@WW@@@@@MxM@@#@@W@@@@@W@@W@@
W@@@@@WMMMWWWWWMMWMMM@@@WWWWWWWWWW@#@@@@@@@@W@@MW@@@@@WWW@WWWWWWW@WWWWWWWWWWW@@@WWW@@@WMWW@@WWWWW@#@########@@@WMMW##@@@@@@WW@#@@@MMW@@@@@@WW@W@W@@@@#
@@@@@WW@@@@@WWWWW@WWM@@W@@##@@@W@@W@@WMM@@@@@@W@@@@@@WxMWWWWWWWWWWW@@@@@WWWWWWWWMW@@WMMMMMxxMWW@@########@#WWWMxM###@@@@@#WMMWWW@WMMW@@@@@@@@@@@W@@@##
@@@@@@##@@@@@@@@@@@WWMW@@@###@#@@##@@WWWMMxxM@@@@@@@@@WMWWW@WWWW@WW@W@W@@@WWW@@WMWWMMMxxWWWWW@@###########@@MMMM@#########WMW@@@@MMMWW@@@@@@@@@@W@@@@@
@#@@@@@@@@@@@@@@@@WM@###@@@@@@@WMMMMMWMMMMWWMMWW@@WWMW@@W@WW@W@@@@@@@@WMMMW@@@@@##WMxxMWW@@@########@@WMWWMxMWW@#####@##@@WW@@@@@@WWW@@@@@@@@###@@@@@@
@@@@@@@@@@@@@@@@@WW###########@WWMWMW@@@@@@WWW@WW@@W@WWW@@@W@@@@@@@@WWWW@WW@W@@@###@WW@#@WW@#####@@WWMxWMMMMWW@##@@WWM@@@@@###@@@@@@@@##@@@@@#####@@@@
@@@@@@@@@@@@@@@@@##@@@@####@W@@@@WWW@@@#@#@@@#@@#@@WM@#@WW@WWWWWW@@@@@@###@@@@WWW@@@#W@#@@W@@WWMMxxxxMWWMWWWW@@WWWW@@@@MMMMWW@@@@@@@@@@@@@###########@
@@@@@@@#@@@@@@@@#WWMx@@MMMMW@WMMMW@@@######@@#@@@####@W@@WW@W@@WWWMWW@@@@###@@WWMMW@@W@MMWWWMMMWWWWW@W@@@@@@@@@@@@@@@W@@@@WMWWMW@@@@@@@@@@@W@@@@@@@@@@
@####@@@@@@@@##WMMMMMMWMxMxMMWMMWWW########@WWWWMWW@@##@@@@@@W@@@WWWWMMMW@####@WMMMxxWW@WWW@@@@@@@@@@@@@@@@W@@@@@@@@@@#@WWWW@WMWWW@@W@@@@#@#@@@#@@@@##
#@@@@@@@@@@@@@@WWW@MxMWWWWWWW@@@@@@@@@@@@@@@WMxMxxMW@@@#@@@@@@W@@@@@@WWWMMxM@###WWW@WW@@W@@@@@WW@@@@@@@@@@@@@@@@@@#@@WWMMMW@WWW@@W@###@@##@###########
##@@@@######@@@@@@@WWW@@@@WWW@@##@MMMW@@@WMMMWMxxMW@####@@##@@@@@@@@WWWMMxMxMW@##@@@@@WW@@W@@W@@@@@@@@@@@@@@@@#@#@@WMWWW@@@@@@#@@#@@@@@@@@@########@@@
#########@@@@@@@@@@#@@@@@@###@@@@WMMMM@@WWMxxW@@WWWW@WW@####@@@WMMMMMMMMMMMMMMxx@@@@@W@W@WWWWWW@@W@@W@@@@WW@@@@@WMMWWW@@@@####@@@####@@@@@##@@#@@@@@@@
#####@@@@@@@@@@###@@WW@@@@@@@@@@@@W@@WMMMW@@WMW@@W@@@@@WW@@@@WWWWW@@@@@@@@WWWMMMMW@@@W@@@@W@@@@@@@@@WWMW@W@@W@WWWWW@@#######@#@#@@@@@@@@@@@###@@##@#@W
########@@@@###@@#@@@@@@WWWW@@@@WW@WW@WWMW@##@W@@@WWWW@WMMWW##@@@@WWW@@@@@@@@WWW@@@@@@@@@@@@@@@@@@WMMW@Wx@####@WWW@######@##########@@##@@@###@@@@@@@@
###@##@@@#@@@@@@@@@@@@@@@WWWW@@@@@@@#@@WMMWWWW@##@MMMMW@@WMMM@##@@@@@WWW@@@@@@@@@@@WW@@@@WW@WWW@@WWWW@WW###@WMMWW@##@@##############@@####@@@@W@@@@@@W
@##@@@@#@#@@@@@@@W@@@@@@#@@@@@@@###@@@WWWWWWWWWWW@@WWWW@@@WWW@@@@@@@@@@@W@@@@@@@@@@@@@@@@@WWWWWMMW@@@@@@@#@W@#@@@#################@@@@@#####@@@@@@@@@@
@@@@@####@@@@@@@@##########@@@@@@@WWWW@@@@@@@@@WW@@@@@@@@#@@@@@@@@@@@@@@@@@W@W@@@@@@@@@@@@#####@WWMW@@@@@####################@###@@#@##@@@@W@@@@@@@@@@
@@@#@@@@@####@@@###########@@@@@WMW@WWW@@@@@@@@@@W@@@@@@@@#@@@@@@@#@@@@@@@@@@@@W@@@@@@@@@@@@@@###@@WW@@@########@#########@#####@@########@@@@@@##@###
@@@##@###########@@@@@@@@@@@@@@@W@WW@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@W@@@@@########@W@@@@@#######@#@##@@@###@###