;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::::;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiii
;;;;;;;;;;;;;;;;;;;;;;:::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iii;
;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i
;;;;;;;;:::;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:::;;::::;;;;;;;;;;;;
;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;:::;;;;;;;;;;;;
;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::i#nxz+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;
;;;;::::::::::::::::::::::::::::::::::::::::::::::+xMMni::#WWWWWWx*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;
;;;;::::::::::::::::::::::::::::::::::::::::::::iMW@@@@WnzWWWMMMW@W*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;::::::::::::::::::::::::::::::::::::::::::iMWWWWMMW@@@MxxxxxMWM;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;::::::::::::::::::::::::::::::::::::::::xWWWMxnnxM@WxxxnxnMM@+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;::::::::::::::::::::::::::::::::::::iWWMnnnnnnnMWxxxnnxxxW#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;:::::::::::::::::::::::::::::::::::*WWxnnxxzznxWxnnnxxxxWz:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;::::::::::::::::::::::::::::::::::::*WWxnxxxnnxMMxnzznnxMW#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;::::::::::::::::::::::::::::::::::::::+xMnnnxxnnMMxxxnnnnxMW+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;::::::::::::::::::::::::::::::::::::innxnnznnnnxxnxMxnnxxMWi::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;::::::::::::::::::::::::::::::::::#nnnnnzzznnnnnznnxMMMMW:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;:::::::::::::::::::::::::::::::;nnnnnnzzzznxnxnnnxxMMzM:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
**;;;;;;;;;;;;;:::::::::::::::::::::::::::::#nnxxxnznnznxnxnnnxnxMWM::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
zz#z##ii;;;;;;;;;;;::::;::;::::::::::::::::*nnnxxxnzznnnxxnnnxxxMxWWi:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
zz#Mzz#++*;;;;;i;;iiiii*ii*ii**iii;;::::::;znnnxxnnnzznxxMnnnxx@Mx@W+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
nz#Mz##z###############++++##+++++++**i;;;+nnnnnxznnnzznMxnnxW@@xxWW#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
nnznz##zz#z#z#z##########+++++++++++++++++znnnnxxzznnnxMMnMMW@@WxxWM+;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;
WMMMxnnzn#z#zzzzzz#######+++##+++#+++#+###nnnxxxxzzzzzxxxxM@@@@MxxWM+;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;
WWWWWMMxxzznxMxzzz####+##+##+####++++++++znnnnnxxnnzzzxxxxMWx@@xnnMM+;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;
MMMxxxxxxnzzzzz#######+++++######+#zzz++#znnnnnnnnnxnxxxxnnxnM@xnnxW+;::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;
#zzznnnnnnnz#++*iiiii*********+++++znnnzznnzzzzzzznnnnnnnxxnnnWxnnzW+;::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;
iiiiii;;;;;;;;;;;;;;;;;;;;;;i;;iiiiznnnnnxnnzzzzzzzznnnnnnnnnnxWxx#W#i;;;;;;;;;;;;;;::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;innnznnxxxnnnnnnnnzzzzzzznnnnWMx#Mz#+**iiiiii***ii;;;;;;;;;;;;;;;;;;;;;+zz#zzz#zzxnnnz#+###+i;;;;;;;;;;;;;;;;;;;;;;;
iiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;#nnnnzznnzzzzzzzzzzzzzzzznnnnMxxzMz*iiii***++##++###+++*ii**+++**i;;;*xMxnnnnxzzznMMMxnnnnnxnnz##+i;;;;;;;;;;;;;;;;;
iiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;#xnnnnznzzzzzzzzzzzzzzzzzznnxxMxnx+i;;;;;;;;;;iiiiii**++############zxMMnnnxnxnzznxxMnxxnnnxxnxxnnnz+i;;;;;;;;;;;;;;
iiiiii;i;;;;;;;;;;;;;;;;;;;;;;;;;*zxnnnnnnzzzzzzzzzzzzzznnnxxxnnxxxM*i;;;;;;;;;;;;;;;;;;iiiiiiiiiii***+znxnnnnnxnnnnxxxnnnnnnnxnxxxnnnnz+**;;;;;;;;;;;
+**i**iiiiiii;;ii;;;;;;;;;;;;;;;izzznnnnnxnnnnnnnnnnnnnnnxxxnzznxx#xii;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiii***+++#zznxxnxxnnnnxnxMxnnxnnn#i;;;;;;iiii
xnz#zz++++++**i**iiiiii;;;;;;;;;#z#zzzzzzzz##zzzzzznnnnnnzz###zzzzzni;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiii*****++++##zzznnnnnnnnz*i#znnnnznn
WWWWWMMxxnnnzz++#****+*ii*ii;;;+z##zz##zzzz##################zzzzznzi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiii*************+++++####nnxxMMMMM
WWWWWWWWWWWWWWMxnzz+##+*****iii###zzz#zzzzz##################zzz#zn#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiii*****************+++++++##z
WWWWWWWWWWWWWWWWWMMMxxxz##z#++####zzz#zzzz###################zzzzzn#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;;iii;;iiiiiiiii***********+*+++++
@@@@WWWWWWWWWWWWWWWWWWWMxxxnnznz##zzzzzzzzz##################zzzzzz#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiii******
@@@@WW@@WW@WWWWWWWWWWWWWWWWWMxxnnz#zzzzzzzz#z################zzzzzzzii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiiiiiii
@@@@@@@@@@@WW@@WWWWWWWWWWWWWWnxnnnnzzznzzzz#z##zxz#####n####zzz#zzzz*i;ii;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiiii
@@@@@@@@@@@@W@@W@@WWWWWWWWWWxxxnnnnnnnMnzzz#zz#nx#####zxz###znn#zzzz##++++i**iiiii;;;ii;;i;i;;i;;;;;;ii;;;;;;;;;;iiii;;iiiiiiiiiiiiiiiiiiiiiiii*******
@@@@@@@@W@@@@@@@@@@@@@@WWWWMnxxnnnxMMznzzzz#nzzxz#####xx####nMn#zznnzMxxxxnnnzz#++****+ii**i;iiiiiii;iiiiiiiiiiii;;ii;iiiiiiiiiiiiiiiiiiiiiiiiiiiiii**
@@WWWWWWWWW@@@@@@@@@@@@@@@WxxxxxxxWM#znxzzz#MznxnxxzxnMMnxxznnn##znxxMWWWWWWWMMMMxzznznz##+**+**i*iiiiii*ii***iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
WWWWMMMMWWWW@@@@@@@@WW@WWWWxxxxxxMWzznxMxzzzMnMxMxMxMxMMMnxzxMMWMxnxxxWWWWWWWWWWWWWWWWWMMxnnzz#z#z++#+++#+++++**i*iiiiiiii**i***iiiiiiiiiiiiiiiiiiiiii
WMMMxMxMMWW@WWW@@@@WWWWWWWMxxxxxMWx#nxxMMnzzMxxMnzMxMMMMMnz#xMMMMxnxxxWWWWWWWWWWWWWWWWWWWWMMWMMMxMMxMxnxxxnnzz##+#+****iii+i*+***iiiiiiiiiiiiiiiiiiiii
MMxMnMxxMWWWWWWWWWWWMWWWWWWMMxxxxMnnxxxMMxzzxMxx#zxMMxMMnMn#xxxxnnnnxxMWWWWWWWWWWWWWWWWWWWMMMMMMxMMMMMMWWWMWMMxxnxzz###iii+i*+*****iiiiiiiiii***iiii**
xxxxxxMMMWWWMMWWMWWWMMWWWWWMMxnnxMxxxxxxMMnzxMMxnMMxnxMMzxzzxxnnnnnnnxxWMMWWWWW@WWW@WWWWWWMWWMMMMMMMMMMMxMWWMWMMMWMMxxx#++#+##+##++****iiiiii****ii***
xMxxMnMMMMMWMWWWMWWWMM@WWWWMMMxnnxxnnnxxMMxznMxMMxxn#nMMMnnxnnnnnnnnnxxxxxMWMWWWWWWWWWWWWWWWWWWWMMMMxxxnznMMxxnxznnxzzn##z#+##+++++*++***iii**********
xMMMMxMMMWWWWWWMMMMWxMWMWWWMWWxnnxxnnxxxxMMn#n#######xxz##nxnnnnnznnnMnznnnxxMMMWWWWMWWWWWWWWWWWMMMMnnn###nnzz##+#+#+++*++#++###+++**********+****+++*
xMMMWMMMWWWWWWWxMWMMMMWWMMMMWWMxnxxnnnxxxxMn#########xn###nxnnnnnzznnx##nzzxznxnMMMMxMMMMMMMMxxMxMxMnnn#zzzz#zz#+#+++++*+##+##z#+##+*+******+++****+#+
MMxMWMMMWMMWMWWnMMMxxMMWMMMMMMWMxnxnnnxxxxxn#########zz###xxxnnnzzznnzz#xz#n##zzxxxxxxMxxMxMxxnxnxxxznnznnnnznnzzn#z#z#+#zz#zzzz###+*++*******+++*+++#
xMMMMxxMMMMMMWMnxMxMxMWWMMxxMxMMMxnnnnnxxxxn#############zxMxxxnzzznnzzzMnzz#+##nxnxnnxxMMxxnnnnnxxnnnzzxxxxnxxnnxnnnxnnnnnMMxxnnzz++##+++++++++++#+#+
MWMMMxxMWMxMMMxnMMxxxMMMMMxMMMMxWMnnnnnnxxxn#######zz###zzzMMMxnzzznnznnMnzz####nxxxnzxxMxxxznnnnxxxxxznxxxMxMMxxMxMxMxMxMxxMxMxxxn##z#z##+++#####z#z#
WWWMMnMMWWMMxMMxMMMMMMxMMMxxMMMMMxnnnnnnxxMzzzzzzz#zzzzzznxxxxxnnzzznzxnxnzn####nMxxxnxxMxnxzxnnMxxMxx#nxMMMMWMxMWMMMWMMMWWWWWMMMxxzzznnzzzzzzzzznnznn
WWWMMxMMWWWxxMMxMMMMMMxMMMMxMMMMMxnnznnnxxxzzzzzz#zzzzzznxnnnMxnzzzznnnnnzzzz###xxxMxnMxMxxMxMxxMxMMxxzxMMxMMWMMWWWWWWWWMWWWWWMMMxxnnnxxxnxxxnnxxMxnMx
@WWWMxMMWMWMxWMMMMMWWWMMMMMMMWMMMnnnznnnxMxnnnzzzzzznnnxxnnxxxxnzzzznnnnnznzz#+znxMxxnMxMMxMMMxxMxMMxxzMMMMMMWMMMWWMMWWWMWWWWWMMMMxnnxMMMxMMMxxMMWMWWW
@@@WWWWWWWWMMWWWMWWWWWMWWWMWWWMWMzznznnnxMxxxxxnnnnnxxxMxnxnzxxnzzzznnznnznznz#znxMMxxMxMMxMMMMMxxMMxxxMMMxMMWxMMMWMMWWWMWWMMMMMMxxnnWMMMMWMWMWWW@W@WW
@@@W@WWWW@@WW@WWMWWWWWWWWWWWWWWWxzzzznnxMxMMMxxnnnxxxxxMMnzzzxMnzzzzznnnxnnnxn#znxxMxMxMMMxMMMMMMxMxMxxMxxMWMMxxMMMMWWWWMWWMMMMMMxxxxMWMWWWWWWWW@@@@@@
@@@@@@@WW@@W@@@WWW@WWWWWW@WWWWWWzzzzznnxMMMMMxxnnnnnxMxnzzzzzxMnzzzzznnxxxxxxnnnnxxMxMMxxMMMMMxMMxMxMxxMxxxMMxMMMWMWMMWWMMWMMWMxxxMxxWWWWWWWWWWW@@@@@@
@@@@@@@@W@@@@@@@@@@W@W@@@@WWW@WMzzzzznnxxznznxxxnxxxxz#zz#zzznMnzzzzznnMMMMMMnxnnxxMxMMMxMMWMMxMMxMxMxMMxxxMxxMxMWWWMWWWWMWWMWMMMMWMMWWWWWWW@@WW@@@@@@
@@@@@@@@@@@@@@@@@@@W@@@@@WW@@@Wxzzzzznnxnzzzzzzxxnzzzzz#####zzWnzzzzznnMMMMWMxMxnxxxxMMxxMMWMxMMMxxxxxxMxxxxxnxxMWWMMWWWMMWWMWWWMWWWWWWWWWW@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@W@@@@WWWWWWWnzzzzznnxnzzzzzzzzzzz#zzzz###z#MnzzzzznxWWWWWWMMMxxxxxMMMMMMMMxxMMxxMxxxxMxnnnnnxMMMWMWWWWMWWMWWWWWWWWWWWW@W@@@@@@@@@@@
@@@@@@@W@@@@@@@@@@@@@@@WW@W@@@@nzzzzznnxnzzzzzzzzzzzz##z#zzzz#WxnzzzznxWWWWWWMWMMMMxMMMMMMxMMxxMMxxMMMxnMxnxnnnxMxWWMWWWWWWWWWWWWWW@@WWWW@@W@@@@@@@@@@
@@@@@@W@@@@@@@@@@@@@@@WW@@W@@@Wnzzzzznnxnzzzzzzzzzzzzzzz####zx@MnzzzzznWWWWWWWWWWWMMMMMxMxnMxxMMMMMMWWMxxnnxnnxxMxMMWWWWWWWWWWWW@@W@@@WWW@@@@@@@@@@@@@
@@@@@@@@@@@@@@@W@@@@@@@W@@@@@@Wzzzzzznnxzzzzzzzzzzzzz#z###zxWW@WnzzzzznW@WW@WWWWWWMMMxMMMMxxMMMMxxxMxxxxxxnxxnxMxxMMWWW@WWWWWWWW@@W@@@@W@@@@@@@@@@@@@W
@@@@@@@@@@@@@@@@@@@@@@@W@@W@@@MzzzzzznnMxnzzzzzzzzzz###zzn@@WW@@xzz#zzn@@@W@WWW@WWMWMMMMMMxMMMMMMxMMMMxxxxnxxnMMxMMMWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@@W
@@@@@@@@@W@@@@@@@@@@@@@@@@W@@@MzzzzzznxW@@WMxMMxnznnxxxxxnWWWW@@MnzzzznW@@W@W@@@@WWWMMMxMMxxWMMMMMMMMMxMxxxMxxMMMMWMWWWWWWWWWWWW@@@@@@@@@@@@@@@@@@@@WW
@@@@@@@@@W@@@@@@@@@@W@WW@@W@@@xzzzzznnxWW@@WWWWMnxMWWWnz##xMMM@@WnzzzznW@W@@W@@W@WWWMMMxMMMMMMMMMMWMMMMWMMxMMMWWMWWMWWWWWWWWWW@@@@@@@@@@@@@@@@@@W@@@@@
@@@@@@@@@W@@@@@@@@@@@@W@@@@@@@xzzzzznnWWW@@WWWWMxxxWWx####nMMx@@@nzzzznW@@@@@@W@@WWWMMWxMMMMMMxMMMMMMMMWWMxMMMWWWWWWWWWWWWWWW@@@@@@@WW@@@@@W@@@@@@@@@@
@@@@@@@@@@@@@@@@W@@@@@W@@@W@@@nzzzzznxW@W@@WWWWMxxxWMxz###zMMx@@@xzzzznW@@@@@WW@WWWWMMMMMWWMWMxMMMWMWWWWWWWWWWWWMWWWWWWWWWWWW@@@@@@WWW@@@@@W@@@@@@@@@@
@@@@@@@@@@W@@@@@@@W@@@@@@@@@@@nzzzzznM@WW@@WWWWWxxxMMxz###zMWM@@@Mzz#znW@@@@@@W@WWWWWWWMMWMMMxMMMMMMWWWWWMMWWWWWWWWWWWWWWW@W@@@@@@W@@@@W@@WWWWWW@@@@W@
@@@@@@@@@@W@@@@@@@W@@@@@@@@@WWnzzzzznW@WMWWMMMxxzzzxMMxnzznWWW@@@WnzzznW@W@@W@WWMWWWW@WWWWWWWMMMWMWWWWWWWWWWWWWWWWWWMWWWWWWW@@@@@@@WWWWWWWWWW@WWWW@WW@
@@@@@@@@W@WW@@@@@@@@@@@@@@W@WWzzzzznx@@@WWMxxxxnzzzMMMxnzzzWWW@@@@nzzznW@@W@@WWWWWWWW@WWWWMWWWWWWWWWWWWWWWW@WWWWWMWWWWWWWWWW@@@@@@@@WWWWWWW@WWW@W@W@WW
W@@@@W@@@W@@@@@@@@@@@@WWW@@@WWzzzzznx@@@WMMxxxxn##zWMMxnznnWWW@@@@xzzzzW@@WWWWWWWWWWWWWWWMWWWWWWWWWWWWWWWWW@WWWWWWMMMWWWWWW@@@@@@@@@WWWWWW@WWW@@WWWWWW
@@@@WWWWWWWWWW@@@W@@@WW@W@@@WMzzzzznM@W@WWWxxxxnzzzWMWxnnnnWWW@@@@MnzzzM@@WWWWWWWMWWW@WWWMMWWWWW@WWWWWWWWMWWMWWWMWMMWWWWWWWWW@@@@@@WW@@WWWWWWW@@WWWW@W
@@@@WW@@@@W@@W@@WW@@@@@WW@W@WMzzzznnW@W@W@@WMMMMnnx@xWxxnxxW@@@@@@WnzzzMW@WWWWWWMMWWWWWWWMMWWWWWWWWMWWWWWMWWMMMMWWWMWWWWWWWW@WWW@WW@WWWWWWWWW@@WWWWW@W
@@@@WW@@@@@@@@@@WW@@@@@@@@@@@Mzzzznx@@W@W@@WMMMMnxx@MWxnnxxW@W@@@@@xznMxxWWWMWWMMWWWW@WWWWWWWWWMW@WWWWWWWWWWMWMMMWWMWWWWWWMMWWWWWWWWWWWWWWWWW@WWW@@@WW
@@@@WW@@@@@@WW@@WWW@@@@@@@@@WMzzzznM@@W@W@@WMMMMnxM@MWxxnxnWWM@@@@@xxWMMnMWWMWWMWMWWWWWWMWWWWWWWWWWWWWWWWW@WWWWMWWWMWWWMWWWMWWWWWW@WW@WWWWWWWWWW@@@W@@
@@@@@W@@@@@@@@@WW@@@@@@@W@@@@MzzznxWW@W@@@@WWWWWxMM@WxzzznnWWM@@@WWxWWWWxnMWMWWWWWWWWWWWMWWWWWWWWWWWWWWMMWWWWWMWWMWWMMWWWWWMWWWWWWWWW@WWWWWWW@@@@WWW@@
@@@@@W@@W@@@@@@WW@@@@@@@WW@@@xzzznxWW@WW@@@@WWWWMMM@Wx#####MMM@@@@WW@WWMxxnnMWWMWMWMWWWWMWWWWWWWWWWWWWWWMMMWWWWWWWWWMMWWWWWWWWWWWWWWWWWW@WWWW@@@@@WWWW
@@@@WWW@W@@@@@W@WW@@@@@@WW@@@xzzznMWWWWWW@@@WWWWMxx@Wx#####MMM@W@@W@@WMMxxxnnWWWWWWWWWWWMWWWW@WWWWWWWWWWWWMWMMWMWWWWMMWWWWWWWWWWWWWWWWWWWW@WW@W@@@WW@@
@@@@@@W@@@@@@W@@WW@@@W@@@W@@@nnzznWWWWWWWW@@WWWWnzxW@xz####MMx@@WWWWWMMMWMxxxMWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWMMMWWWWWWWWWWWWWMWWWWWWWWWWW@@@@@WW@@W@W@@
@@@@@WW@@@@W@W@@WW@@W@@@@W@@WnzznnW@WWWW@WWWMMMxnzxW@Mz####MMMWWWWWMMMMMWWMMWMWWWWWWWWMMWWWWWWWWWWW@WWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@W@@@W@@@@
@@@@@WW@W@@W@@@@WW@@WW@@@W@@Wznnnx@WWWWW@WWWMMxxnzxW@WxnnznWWMWWWWWMMMMMMMWWMWWWWWWWWWMWMWWWWWWWWWWWWWWMWWWWWWWMMMMWWWWWWWWWMWWWWWWWWWWW@WW@@W@WW@@@@@
@@@@@WW@@@@WW@@@WWWWWW@@@W@@MxWWMM@WWWWW@WWWMMMxxnMWWWxnnnnWWMW@@WWWWWWMMMMWWWWWWWWWMWMMMWWMWMMMMWWWWWMWWWWMWWMWWWMWWWWWWWWWWW@WWWWWWWW@@WW@@@@@WW@@@@
@@@@@WW@W@WWW@@@WW@@@W@@@@WMxxMWWW@WWWW@@W@@WMMMMxxWWWMnnnnWWWM@@WWWWW@WW@@WWWWWWWWWMWMWWWWWWWWWMWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@@@@@@@