;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiii
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiii
;;;;;;;;;;;;;;;;;;;;;;;::;:;;;;;;;;::;:::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiii
;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii;;
;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;:;:::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;
;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;::::;;;;;;;;;;;;
;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;::::;;;;;;;;;;;;
;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::i#nxz+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;:::::::::::::::::::::::::::::::::::::::::::::::+xMMni::#WWWWWWn*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;:::::::::::::::::::::::::::::::::::::::::::::iMW@@@@WnzWWMMMMW@W*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;
;;;;;::::::::::::::::::::::::::::::::::::::::::iMWWWWMMW@@WMxnxxxMWM;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;::::::::::::::::::::::::::::::::::::::::xWWWMxnnxM@MnxxnxnMM@+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;:::::::::::::::::::::::::::::::::::::iWWMnnnnnnnMWxxxnnxxxW#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;:::::::::::::::::::::::::::::::::::::*WWxnnxxzznxWxnnnxxxxWz::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;::::::::::::::::::::::::::::::::::::*WWxnxxxnnxMMxnzznnxMW#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;
;;;;;;;:::::::::::::::::::::::::::::::::::::::+xMnnnxxnnMMxxxnnnnxMW+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;
;;;;;;;;:::::::::::::::::::::::::::::::::::::innxnnznnnnxxnxMxnnxxMWi:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
;;;;;;;;;;:::::::::::::::::::::::::::::::::::#nnnnnzzznnnnnznnxMMMMW::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
;;;;;;;;;;;;::::::::::::::::::::::::::::::::;nnnnnnzzzznxnxnnnxxMMzM::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
**;;;;;;;;;;;;::::::::::::::::::::::::::::::#nnxxxnznnznxnxnnnxnxMWM::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;
zz#z##ii;;;;;;;;;::::::;::;::::::::::::::::*nnnxxxnzznnnxxnnnxxxMxWWi:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;
zz#Mzz#++*;;;;;i;;;ii;i*ii*ii**iii;;::::::;znnnxxnnnzznxxMnnnxx@MxWW+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;
nz#Mz##z###############++++##+++++++**i;;:+nnnnnxznnnzznMxnnxW@@xxWM#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;
nnznz##zz#z#z#z##########+++++++++++++++++znnnnxxzznnnxMMnMMW@@WxxWM+;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
WMMMxnnzn#z#zzzzz########++++#+++++++#+#+#nnnxxxxzzzzzxxxxM@@@@MxxWM+;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;
WWWWMMMxxzznxMxzzz###++##+##+#+##++++++++znnnnnxxnnzzzxxxxxWx@@xnnMM+;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;
MMxxxxxxxnz#zzz#######+++++######+#zzz++#znnnnnnnnnxnxxxxnzxnM@xnnxW+;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;
#zzznnnnnnnz#+**iiiii*********+++++znnnzznnzzzzzzznnnnnnnxxnnnWxnn#W+;:::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;
iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiznnnnnnnnzzzzzzzznnnnnnnnnnxWxx#W#i;;;;;;;;;::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
iiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;innnznnxxxnnnnnnnnzzzzzzznnnnWMx#Mz#+**iiiiii***ii;;;;;;;;;;;;;;;;;;;;;+zz#zzz#zznnnnz#+###+i;;;;;;;;;;;;;;;;;;;;;;;
iiiiii;i;;;;;;;;;;;;;;;;;;;;;;;;;;#nnnzzznnzzzzzzzzzzzzzzzznnnnMxxzMziiiii***++##++##++++*ii**+++**i;;;*xMxnnnnxzzznMMMxnnnnnxnnz##+i;;;;;;;;;;;;;;;;;
iiiiiiii;;;;;;;;;;;;;;;;;;;;;;;;;;#xnnnnznzzzzzzzzzzzzzzzzzznnxxMxnx+i;;;;;;;;;;;iiiii**++############zxMMnnnxnxnzznxxMnxxnnnxxnxxnnnz+i;;;;;;;;;;;;;;
iiiiii;i;;;;;;;;;;;;;;;;;;;;;;;;;*zxnnnnnnzzzzzzzzzzzzzzznnnxxnnxxxM*i;;;;;;;;;;;;;;;;;;;iiiiiiiiii***+znxnnnnnxnnnnxxxnnnnnnnxnxxxnnnnz+**;;;;;;;;;;;
+**i**iiiiii;;;;i;;;;;;;;;;;;;;;i#zzznnnnxnnnnnnnnnnnnnnnxxxnzznxx#xii;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiii***+++#zznxxnxxnnnnxnxMxnnxnzn#i;;;;;;;;ii
xnz#zz++++++**ii*iiiiii;;;;;;;;;#z#zz#zzzzz##zzzzzznnnnnnzz###zz#zzni;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiii*****+++##zzznnnnnnnzz*i#znnnnznn
WWWWWMMxxnnnzz++#****+iii*ii;;;+####z##zzz###################zzzzznz;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiii**************++++####nnxxMMMMM
WWWWWWWWWWWWWWMxnzz+##+*****iii####zz##zzz###################zzz#zn#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiii*******************+++++##z
WWWWWWWWWWWWWWWWWMMMxxnz##z#++####zzz#zzzz###################zzzzzn#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;;ii;;;iiiiiiiii*************+++++
@W@WWWWWWWWWWWWWWWWWWWWxxxxnnznz##zzz#zzzz###################zzzzzz#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiii;iiiiiiiiiiiiiiii******
@@@@WW@@WWWWWWWWWWWWWWWWWWWWMxnnnz#zzzzzzz###################zz#zzzzi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;iiiiiiiiiiiiiiiiiiiiiiiiiiii
@@@@@@@@@W@WWW@WWWWWWWWWWWWWWnxnnnnz#znzzzz#z##zxz#####n####zzz#zzzz*i;ii;;;;;i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiiiiiii
@@@@@@@@@@W@W@@W@@WWWWWWWWWWxxxnnnnnnnMnzzz#zz#nx#####zxz###znn#zzzz##++++i**iiiii;;;ii;;i;i;;i;;;;;;;i;;;;;;;;;;;iii;;iii;ii;iiiiiiiiiiiiiiiii*******
@@@@@@@@WW@@@@@@@@@@@@WWWWWMnxxnnnnMMznzzzz#nzzxz#####xx####nMn#zznn#Mxxxxnnnzz#++*i***ii**i;iiiiiii;ii;iiiiiiiii;;ii;iiiiiiiiiiiiiiiiiiiiiiiiiiiiii**
@@WWWWWWWWW@@@@@@@@@@@@WW@WxxxxnxxWM#znxzzz#MznxnxxzxnMMnxxznnn##znnxMWWWWWWWMMMMxzznznz##+**+**i*iiiiii*ii***iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
WWWWMMMMWWWW@@@@@@@@WW@WWWWxxxxxxMW#znxMxzzzMnMxMxMxMxMMMnxzxMMWMxnxxxWWWWWWWWWWWWWWWWWMMxnnzz#z#z++#+++#+++++**i*iiiiiiii**ii**iiiiiiiiiiiiiiiiiiiiii
WMMMxMxMMWWWWWW@W@@WWWWWWWMxxxxxMWx#nxxMMnzzMxxMnzMxMMMMMnz#xMMMMxnxxxWWWWWWWWWWWWWWWWWWWWMMMMMMxMxxMxnxxxnnzz##+#+****iii+i*+**iiiiiiiiiiiiiiiiiiiiii
MMxMnMxxMWWWWWWWWWWWMWWWWWWMxxxxxMnnxxxMMxzzxMxx#zxMMxMMnMn#xxxxnnnnxxMWWWWWWWWWWWWWWWWWWWMMMMMMxMMMMMMWWWMWMMxxnxzz###iii+i*+*****iiiiiiiiii***iiii**
xxxxxxMMMMWWMMWWMWWWMMWWWWWMMxnnxMxxxxxxMMnzxMMxnMMxnxMMzxzzxxnnnnnnnxxWMMWWWWWWWWWWWWWWWWMMWMMMMMMMMMMMxMWWMWMMxWMMxxx+++#+##+##++****iiiiii***iii***
xMxxMnMMMMMWMMWWMWWWMMWWWWWMMMxnnxxnnnxxMMxznMxMMxxn#nMMMnnnnnnnnnnnnxxxxxxMMWWWWWWWWWWWWWWWWMWWMMMMxxxnznMMxxnxznnxzzn##z#+##+++++*++***iii**********
xMMMMxMMMWWWWWWMMMMWxMWMWWMMWMxnnxxnnnxxxMMn#n#######xxz##nxnnnnnznnnMnznnnxxMMMWWWWMWWWWWWWWWMWMMMMnnn###nnzz##+#+#+++**+#++###+++***************+++*
xMMMWMMMWWWWWWWxMMMMMMWWMMMMWWMxnxxnnnxxxxMn#########xn###nxnnnnnzznnx##nzzxznxnMMxMxMMMMMMMMxxMxMxxnnn#zzzz#zz#+#+++++*++#+##z#+##+********+++****+#+
MMxMWMMMWMMWMWWnMMMxxMMWMMMMMMWMxnxnnnxxxxxn#########zz###xxxnnnzzznnzz#xz#n##zzxxxxxxMxxMxMxxnxnxxxznn#nnnnznnzzn#z#z#+#zz#zzz####+*++*******+++*+++#
xMMMMxxMMMxMMWMnxMxMxMWWMMxxMxMMMxnnnnnxxxxn#############zxMxxnnzzznnzzzMnzz#+##nxnxnnxxxMxxnnnnnxxnnnzzxxxxnxxnnxznnxnnnnnMMxxnnzz++##+++++++++++#+#+
MWMMxxxMWMxMMMxnMMxxxMMMMMxMMxMxWMnnnnnnxxxn#######zz####zzMMMxnzzznnznnMnzz####nxxnnzxxMxxxznnnnxnxxxznxxxMxMMxxMxxxMxMxMxxMxMxxxn####z##+++#####z#z#
WWWMMnMMWWMMxMMxMMMxMMxMMMxxMMMMMxnnnnnnxxxzzzzzzz#zzzzzznxxxxxnzzzznzxnxnzn####nMxxxnxxMxnxzxnnMxxMxx#nxMMMMWMxMWMMMWMMMWWMWMMMMxxzzznnzzzzzzzzznnznn
WWWMMnMMWMWxxMMxMxMMMMxMMMMxMMMMMxnnznnnxxxzzzzzz#zzzzzznxnnnMxnzzzznnnnnzzzz###xxxMxnMxMxxMxMxxMxxMxxzxMMxMMWMMMWMWWWWWMWWWWWMMMxxnznxxxnxxxnnxxMxnMx
@WWWMxMMWMWMxWMMMMMWWWMMMMMMMWMMMnnnznnnxMxnnnzzzzzznnnxxnnxxxxnzzzzznnnnznzz#+znxMxxnMxMMxMMMxxMxMMxxzMMMMMMWMMMWWMMWWWMWWWWWMMMMxnnxMMxxMxMxxMMWMWWW
@@@WWWWWWWWMMWWWMWWWWWMWWWMWWWMWMzzzznnnxMxxxxxnnnnnxxxMxnxnzxxnzzzzznznnznznz#znxMMxxMxMMxMMMMMxxMMxxxMMMxMMWxxMMWMMWWWMWWMMMMMMxxnnWMMMMWMWMWWW@WWWW
@@@WWWWWW@@WW@WWMWWWWWWWWWWWWWWWxzzzznnxMxMMMxxnnnxxxxxMMnzzzxMnzzzzznnnxnnnxn#znxxMxMxMMMxMMMMMMxMxMxxMxxMWMMxxMMMMMMWWMWWMMMMMMxxxxMWMWWWWWWWWW@W@@W
@@@@@@@WW@@W@@@WWW@WWWWWW@WWWWWWzzzzznnxMMMMMxxnnnnnxxxnzzzzzxMnzzzzznnxxxxxxnnnnxxMxMMxxMMMMMxMMxMxMxxMxxxMMxMMMWMWMMWWMMWMMWMxxxMxxWWWWWWWWWWW@@@@@@
@@@@@@@@W@@@@@@@@@@W@W@@@@WWW@WMzzzzznnxxznznxxxnxxxxz#z##zzznMnzzzzznnMMMMMMnxnnxxMxMMxxMMWMMxxMxMxxxMMxxxMxxMxMWWWMWWWWMWWMWMMMMWMMWWWWWWW@@WW@@@@@@
@@@@@@@@@@@@@@@@@@@W@W@@@WW@@@Wxzzzzznnxn#zzzzzxxnzzzzz#####zzMnzzzzznnMMMMWMxMxnxxxxMMxxMMWMxxMMxxxxxxMxxxxxnxxMWWMMWWWMMWWMWWMMWWWWWWWWWWW@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@W@@@@WWWWWWWnzzzzznnxnzzzzzzzzzzz#zzzz###z#MnzzzzznxWWWWWWMMMxxxxxMMxMMMMMxxMMxxxxxxxMxnnnnnxMMMWMWWWWMWMMWWWWWWWWWWWWWW@@@@@@@@@@@
@@@@@@@W@@@@@@@@@@@@@@@WW@W@@@@nzzzzznnxnzzzzzzzzzzzz##z#zzzz#WxzzzzzznWWWWWWMWMMMMxMMMMMxxMMxxMMnxMMMxnMxnxnnnxMxWWMWWWWWWWWWWWWWW@@WWWW@@W@@@@@@@@@@
@@@@@@W@@@@@@@@@@@@@@@WW@@W@W@Wnzzzzznnxnzz#zzzzz#zzzzzz####zx@MnzzzzznWWWWWWWWWWWMMMMMxMxnMxxMMMMMMWWMxxnnxnnxxMxMMWWWWWWWWWWWW@@W@@WWWW@@@@@@@@@@@@W
@@@@@@@@W@@@@@@W@@@@@@@W@@@@@@Wzzzzzznnxzzzzzzzzzzzzz#z###zxWW@WnzzzzznW@WW@WWWWWWMMMxMMMMxxMMMMxxxMxxxxxxnxxnxMxxMMWWW@WWWWWWWW@@W@@@@W@@@@@@@@@@@@@W
@@@W@@@@@@@@@@@@@@@@@@@W@@W@@@MzzzzzznnMxnzzzzzzzzz####zzn@@WW@@xzz#zznW@@W@WWW@WWMWMMMMMMxMMMMMMxMMMMxxxxnxxnMMxMMMWWWWWWWWWWWW@@@@W@@@@@@@@@@@@@@@WW
@@@@@@@@@W@@@@@@@@@@@@@WW@W@@@MzzzzzznxW@@WMxMxxnznnxxxxxnWWWW@@Mnz#zznW@@W@W@@W@WWWMMMxMMxxWMMMMMMMMMxMxxxMxxMMMMMMWWWWWWWWWWWW@@@@W@@@@@@@@@@@@@@@WW
@@@@@@@@@W@@@@@@@@@@W@WW@@W@@@xzzzzzznxWW@@WWWWMnxMWWWnz##xMMM@@Wnz#zznW@W@@W@@W@WWWMMMxMMMMMMMMMMWMMMMWMMxMMMWWMWWMWWWWWWWWWW@@@@@@@@@@@@@@@@@@W@@@W@
@@@@@@@@@W@@@@@@@@@@@@W@@@@@@@xzzzzznnWWW@@WWWWMxxxWWx####nMMx@@@nzzzznW@@@@@@W@@WWWMMWxMMMMMMxMMMMMMMMWWMxMMMWWWWWWWWWWWWWWW@@@@@@@WW@@@@@W@@@@@@@@@@
@@@@@@@@@@@@@@@@W@@@@@W@@@W@@@nzzzzznxW@W@@WWWWMxxxWMxz###zMMx@@@xzz#znW@@@@@WW@WWWWMMMMMWWMMMxMMMWMWWWWWWWWWWWWMWWWWWWWWWWWW@@@@@@WWW@@@@@WWW@@@@@@@@
@@@@@@@@@@W@@@@@@@W@@@@W@@@@@Wnzzzzznx@WW@@WWWWWxxxMMx####zMWM@@@Mzz#znW@@@@@WW@WWWWWWWMMWMMMxMMMMMMWWWWWMMWWWWWWWWWWWWWWWWW@@@@@@WWW@@WW@WWWWWW@@@@W@
@@@W@@@@@@W@@@@@@@W@@@@@@@@@WWnzzzzznW@WMWWMMMxnzzzxMMxnzznWWW@@@WnzzznW@W@@W@WWMWWWW@WWWWWWWMMMMMWWWWWWWMWWWWWWWWWWMWWWWWWW@@@@@@@WWWWWWWWWW@WWWW@WW@
@@@@@@@@W@WW@@@@@@@@@@@@@@W@WWzzzzznx@@@WMMxxxxnz#zMMMxnzzzWWW@@@@nzzznW@@WW@WWWWWWWWWWWWWMWWWWWWWWWWWWWWWW@WWWWWMMWWWWWWWWWW@@W@@@@WWWWWWW@WWW@W@W@WW
W@@@WW@@@W@@@@@@@@@@@@WWW@W@WMzzzzznx@@@WMMxxxxn##zWMMxzznnWWW@@@@xzzzzW@@WWWWWWWWWWWWWMWMWWWWWWWWWWWWWWWWWWWWWMWMMMMWWWWWW@@@@@@@@@WWWWWW@WWW@@WWWWWW
@@@@WWWWWWWWWW@@@W@W@WW@W@@@WMzzzzznM@W@WWWxxxxnzzzWMWxnnnnWWW@@@@MzzzzM@@WWWWWWWMWWW@WWMMMWWWWWWWWWWWWMWMWWMWWWMWMMWWWWWWWWW@@@@@WWWW@WWWWWWW@@WWWW@W
@@@@WW@@@@W@@W@@WWW@@@@WW@W@WMzzzznnW@W@W@@WMMMMnnx@xWxxnxxW@@@@@@WnzzzMW@WWWWWWMMWWWWWWWMMWWMWWWWWMWWWWWMWWMMMMWWWMWWWWWWWW@WWW@WW@WWWWWWWWW@@WWWWWWW
@@@@WW@@@@@@@@@@WW@@@@WW@@@@@Mzzzznx@@W@W@@WMMMMnnx@MWxnnxnW@W@@@@@nznMxxWWWMWWMMWWWWWWWWWWWWWWMW@WWWWWWWWWWMWMMMWWMWWWWWWMMMWWWWWWWWWWWWWWWW@WWW@@@WW
@@@@WW@@@@W@WW@@WWW@@@@@@@@@WMzzzznM@@W@W@@WMMMMnxx@MWxxnxnWWM@@@@@xxWMMnMWWMWWMWMWWWWWWMWWWWWWWWWWWWWWWWW@WWWWMMWWMWWWMWWWMWWWWWW@WW@WWWWWWWWWW@@@W@@
@@@@@W@@@@@@@@@WW@@@@@@@W@W@@xzzznxWW@W@@@@WWWWWxxM@WxzzznnWWM@@@WWxWWWWxnMWMWWMWWWWWWWWMWWWWWWWWWWWWWWMMWWWWWMWWMWMMMWWWWWMWWWWWWWWW@WWWWWWW@@@@WWWW@
@@@@@W@@W@@@@@@WW@@@@@@@WWW@@xzzznxWW@WW@@@@WWWWMMM@Wx#++##MMM@W@@WW@WWMxxnnMWWMWMWMWWWWMWWWWWWWWWWWWWWMMMMWWWWWWWWWMMWWWWWWWWWWWWWWWWWW@WWWW@@@@@WWWW
@@@@WWW@W@@@@@WWWW@@@@@@WW@@@xzzznMWWWWWW@@@WWWWMnx@Wx#####MMx@W@@W@@WMMxxxnnWMWWWWWMWWWMWWWW@WWWWWWWWWWMWMWMMWMWWWWMMWWWWWWWWWWWWWWWWWWWW@WW@W@@@WW@@
@@@@@@W@@@@@@W@@WW@@@W@@@W@@@nnzznWWWWWWWW@@WWWWnzxW@xz####MMx@@WWWWWMMMWMxxxMWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWMMMWWWWWWWWWWWWWMWWWWWWWWWWW@W@W@WW@@W@W@@
@@@@@WW@@@@W@W@@WW@@WW@@@W@@WnzzznWWWWWW@WWWMMxxnzxW@Mz####MMxWWWWWMMMMMWWMMWMWWWWWWWMMMWWWWMWWWWWW@WWMMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@W@@WW@@@@
@@@@@WW@W@@W@@@@WW@@WW@@@W@@Wznnnx@WWWWW@WWWMMxxnzxW@WxnzznWWMWWWWWMMMMMMMWWMWWWWWWWWWMMMWWWWWWMWWWWWWWMWWWWWWWMMMMWWWWWWWWWMWWWWWWWWWWW@WW@@W@WW@@@@@
@@@@@WW@@@@WW@@@WWWWWW@@@W@@MxWWMM@WWWWW@WWWMMxxnnxWWWxnnnnWWMW@@WWWWWWMMMMWWWWWWWWWMWMMMWWMWMMMMWMWWWMWWWWMWWMWWWMWWWWWWWWWWW@WWWWWWWW@@WW@@@@@WW@@@@
@@@@@WW@W@WWW@@@WW@@@W@@@@WMxxMWWW@WWWWW@W@@WMMMMxxWWWMnnnnWWWM@@WWWWW@WW@@WWWWWWWWWMWMWWWWWWWWWMWWWWWWWWWWWWMWWWWWWWWWWWWWWWWWWWWWWWWWWWWW@W@@@@@@@@@