```               ,;.     `,:,`                   ``````.```.....```````              ```:;;;;;:;;;;;i,,  ``````   ```    ````....,,,,
                   ` `            ::.        .,,`                 ``````````````````````              ```;;;;;;:;;;;;i:,``````     `  ` `````......,,,
                      ````        ,:.         ``.:.               ````     `````````````          ` ````.;;;;;::;;;;;i:.````````      `````....`````..
                          `````   ,:.            `.`               ```      ```````````         `````````;;;;;::;;;;ii:.````````   ````````````````...
                             `````,:.                               `        `   ```````     ````````````;;;;;:::;;;i;:.```````` `````````.``   ``....
                                `.,:.                           ```         ```      `      `````````````;:;;::::;;;i;:.`````````       ```     ``...;
                                  ,:`                           ```      `                  ` ```````````;:;;::::;;;i;:. ``````     ``        ```..,ii
                                 `,:`                       ````````                ``` `  `     `````.`.;:;;:::;;;;i;;.    `       ```       ````,iii
                                 `,:`                      `````````````````         ```````      ```..:,i;;;:::;;;;i;:`    `      `              ;iii
                                 `,:`                     ``````````````````````    ```````        ``,,n+i:;;:::;;;;i;:`                         .iiii
                                 `,:`                 ` ```````````````````````````````````       ``:::n+;:;;:::;;;;i::`     ``                  :iiii
                                 `,:`               ` ``````````.............`````````````        `,::iz*;;;;;:::;;;i::`    ```````              ;iiii
                                 `,:`               ````````````............`````` ``````         .:::i#ii;;;;:::;;;i:;.````````````````         ;iiii
                                 `,:```          ```.``````````..........```                     `::::i+i*ii;;:::;;;i:;.```````````````          ;iiii
                         `   ````.,;``````````````........`.........`````                        `::::i*;+ii;;::::;;;;;.`````````````````  `     iiiii
                        `````````.,:```````.........,..............``                 `  ```    ``:::;ii;+ii;;::::;;;;;.```````  `````        ```iiiii
                       ``````````,,:``````..........,..........``````               ````````   ``.:::;*i;#ii;;:::;;;i:;..;```````             ```iiiii
                      ``````````..,:...`............;........`````                   ``        ``.;+*;#**#ii;;:::;;;i;;:;n.   ``               ``iiiii
                      ``````..``..,:.......````````.:........```                           ``````.;ii;*;##i;;::::;;;;;::iz,``  `                 iiiii
                        ````````..,:.......`````  ,;*i.````.```` `````              ``  `````````.:;i;+i#+i;;::::;;;;;;;*+,````   ````.,     ````iiiii
                         ``````...,:.......```   `,..,,  `````  `````````           ;*` `````````.:;*;#i#+i;;::::;;;:;;;i*:::#`` `````:i.````````**iii
                           `` `...,:.......```` ``,..:,`` ```````````````           :+` ```````.`.:;*;z#++i;;;;;;;i;;;;;ii;;;z,``````.i*: ```````iiiii
                           `  .:..,:.......```...`.`.,,:.```````````````            `#, ``````...,;;*;*#++;;::::;;i;;;;;ii;;;#:.......;;,,..`   `iiiii
                            ``:i:,,:...```````,,.` `...,,:.```````````````         ``ii ``````...,:;*;i#++;;::::;;i;;;;;ii;;i+ii;;,,:;iii;;i;.  `*iiii
                         `````:i,,,:`````````.,.`` ``..:::.```````````````        `,,:i;,``..,*..,:i*;i#+*;i;::;;;i;;;;i*iiii*iiiii*+*i++;,;:. `,*ii;i
                        `````.,;.,,:```` ``.+;,,.` ``..:;;.   ``..```````         ,,.:i+;..,,i+:,:;:;;i#+*;ii;:;;;i;;;;*#iiii*;:::::;:;ii;,..,.;i*i;;i
                   `     ` `.*###;,:```  ..;zi,..```.,;;;i:`````.. `````         .,,:;;:;;::,i::::+;::*++*ii******i;;;;iz#*i*i*****iii;;i;;;;:.++*ii;i
                   `  ` `` ` `::;,,:```.,,,i#,,...*+..,:;;:,:,:,..```    .:,`````::::;;:ii:::*;;;;*ii******iii;;;;ii;;;;+z**+iii******,*+;ii;,,*#*i;;i
       `    ```...`````````````.:,,:``.,,,,*#,,.:;xn:`,:;;;:;;:,:::.  ``.;***i;iiiiiiiii;;;;;;;::::;;;;;;;iii;;;;;*;;;;;+z**z*::::::##;+#++++*+##++***
       ``  `````.:..``````````,;,,,,```,:i;*+*:.:ixn:.:;i*:+#;,.:;;.``.`,,*iii;;;;;::::::;;;;;iiii*********iii;;;:*;;;;;+#ii+ii;;;::+#;znzz##+++++++++
```  ````````````:`.`` `````.;:``,,,` `,*zzzzz;,;ixz:,:::i;xz;,,,:;``..,.,++++++++****i****iiiiiiiiii*i***iiiii;;:*i;;;;###*ii*#znnnnninxxxxnnnznz####
``````````````...:`.```````:*+.``,,,  `,+**###::i*n+:::::;ix#;,..i;....:.,*zzz##+#+++*****************ii*iiiiii;;:#*;;;i++nz+#znnz+#znxxxxxMnnMMnxxxxx
``````````````,i;i**```````,:*:`,;:.  `,+**+++:;izz;.,,,:iiz+;,,,+*i:,,;i**zxMxxnxxxxxxxxxxxxxxxxxxxxnznnnz##+**iini;;;i#znnnn#++i;;i+#nnxWWx;+MxMMMMW
``....````````.i;i+#.``....`.i;**+#;```;***+++i#n#*+#+;+*;;;;:,,i#znxz+i+#*zzxxznn#MMMMMMMMMMMMMMMMMMz+xxxnnzz###+#i;;;i+nznnni;;;;i**+xMxMnz#+i#nxxMM
`,#i,,..``````,i;i+#`.,,..,..i**++*zz#++++*i*:;*;,,i*i*nn+MxxzzzzznMMxn*+#+#zn#:;;#nxMMMMMMMMMMMMMMMMn+nxxnnzz##+nni;;;i+nnnxx#+.```.+zMMMMx++*+iixWWW
i#+iii#++*ii;;:::,,,.....:i;;***+++#zz+zz**;i:::;;*###;**+i:.``zxznxMMMz++*+zn#**i*+#nxnzz+#nxxznz#****#xn###+*ii++i;;;iznnxxx#*;.```,nMMMMMxz##++#znx
:;*zn+i*znnxxxxxxnnnnzz##+##MMnxMMMMxnznx#*:;+i:,,+#zz**zz;```.x#*++xMxnz*;+#+;i++**#z#*ii+++#ii++###+#z*i****i;,:;*+*ii+xnnxxi+nxi*.;#zMWMMzzznnnzz##
+zxMxznz+*+##########zzznz+ixz+#*ii;::i;*i*i:ii:,,*#zzz*+#;.``;z;,,;i*+xnx##i:;+*nxnn+iii+*ii**+*izxxnn*++i;;:::****iii**zxxnx+#nxxMx+:+zxx#i*i*#n###z
+**z#nzz#z#iiiii;:;;;i**+*;;;i;+;;::::;;*i+*i;i:i*#;*#n#zz#:i+*+:,,,,;*xMz..``..,;+nzziiiiii;i**ii#zxnn***;:ii*::iii***i#xnnzn*zMWMMM*,,*nn#znnzzxz###
M+:*znznxMx#M#;.,......,,:::.`..,:;iii;i;i*;;:*xMMz.``*#nMWWx#:ii##;+z#z+#:::,,,,,..:i;iiiii;;iiii*#*iii**iii+z#iiiii*ii+;,,,;iMWMnWMn*,,:;zxxxxx#n+#z
WM*+i#+#Mx#nxnxz*;;::::::,:::,...i+****##**++i+zzMx*::;xWMWWz#::::::ii+#+#z+zzzz+,;iiii*ii;;;;;;;ii**#z+++***zn#+z;;ii;;:,,..:iznnnMnzxxMnzxMMxnx#+++#
znz+iii+z#z#nxnizMWxxxxMz#*#xnii++ii;::##zi***#xxMnn+*zWWWWWinz*;:::i;+++##;iinx#``i;i*M+i;;;;;i;iiii*i;ii*i*#nzzni;:i;;..ziin#MMMnMxMnnnxMMWWWWxz###n
+nnzn+i++###nxn;nxMMxxnMz+;;n+;*ni:::::;i;;:.:nMMni*i+zWn@WM*#z*;i;*+*zx#+##+,#n;``.,..nz;;;;;;ii;ii;*i;;;,,+#z#zz;;;:;;++nznxz#znz+xxMMMMWWW@W@xnzz#z
xxxxxxz+nx##nMxxMWWWWMzMn#;i;;ixx+:::::ii*i;;:*xzznxMxMxMMnz*i*#i;i*#*xM##xMx+*##+i,,,.nx*;;;;;ii;ii;*i;;:,i+zz*zMi;;;ii+znzxn#:i+`:#MWWWWWWWMMWxnz##z
MnxMnxnxMx##nxxnxxMWWMMzz#i;::*MMz:;i:;;*##++*;#zxn+#xxn#n#*+#n#ii:ii#xx#zMMMxnz+**i*;ixnz;;;;;ii;ii;*i;;:.*i##znM+;;;;;+**iii*zzz#n+MWWWWWWWMxMxnn###
WznnnxMxMxz#n##znnxnnnnxzz;;:::++i:;*::;i#zzz#*;*xzzzxnzxxzznnn#:*i:*zWx#xMMxMxz+*+z++xMz+;;;;iiiiiii*;;;;..:*+zMW+i#;;;i.```,#xMMMWnnxMxxnMMxxzxnz###
#+zn#znM##zznz+++zxxxnxx#*;;;:;;;::;;:;;;*+##+*zxz.:,:z#znznxnxx::+#+zznzMMMMWMn#*+#i**iiiiiiiii#*iiii;;;;:;+zx#WM+n#i;;:,i,,,#W@WWWMMMMMnxxxxxzz+*+#z
;+;:+#nxn#z#xMx+++nMnnxxz#;;;;;;;;:;;:;;;;iiii#nnW+``:+#nxxxxxnx#,:i*#inzxxMxWn+ii*+;;;;;;;;;;;;*;;iii;;;;;;+xzx#*z#i;;;++x*i+nWM#MWWWWWMWWxMMM*;;ii+x
i*.;zzxxWMn#nMx:#zzM##+zzz;;;;;;;;;;:;;;;;;;;;iz#z#*;i+nxxnnxxxxM;,,;;:nnnxxzz#+;*#ni;;;;;+nz*;;;;iiii;;;;;;;i;;i+n*i;;;+xMxxxnWMMMMxxMWMMMnxMM+;;;ii+
*nzMMMMMMMxzzz#;,*xWz##z#+;;;;;;;;;;;;;;;;;;;;;#zi*:``#nnnnxxnnxM#,.,,+nnxMziznz+znx#;;;;ixxzni;;;;i*i;;;;;;;;;;#xMMn#xi:znz++nxii::zxnn#zznxMM*;;;;;i
nMxWMWWMnxMxzn*..;zWxnMx:;;;;;;;;;;;;;;;;;;;;;;*:,:*i#nnnnxnnnnxMx;,:*+nxxxMznnnnzzn#;;;;ixnzxi;;;;i*;;;;;;;;;;;*zxnn#n,`````+zn.;*.+x#+nxznMMx*:;;;;;
xxxMWWWx#zMMz+:;:;+Wnz#:,;;ii;;;;;;;;;;;;;;;;;izz*;z+znnnxxnnnnxxx;;:;xnnxxxxnnnnMxx+;;;;innnx*;;;;+i;;;;;;;;;;;i+zii*iiii::##*x###in+`,;::xMxxi:;;;;;
xM@WWWWWMnxMz#n*iixWxz+::i*ii;;;;;;;;;;;;;;;;;;:;*;,,znnxxnnnnnxxxz.`:xxxnWMxnnnnxxz;;;;;ixnxMz;;;;;;;;;;;;;;;;;iin*iii;i#x*:,;zMxMMz:.```.nMxxi:;:;;;
MW@@WW@W@MxMnxWxxWWWxzz#+#i,;*i;;;;;;;;;;;;;;;;;`..:znnnxxnnnnnxxxx,`;xxxMWWxnnnxxx*;;;;i+znnnxi;;;;;;;;;;;;;;;;;;#nii***:izz#;nMxMM+zx#:,+nMWM*;;;;;;
W@@@@WWWWWWWMWW@WWWWxzznn##+++*i;;;;;;;;;;;;;;;*+nz:;nnnMnnnnnnxxnx;`ixxxMWxxnnnxxx#;;;*++*#zx#z;;;;;;;;;;;;;;;;:;i*i*MMMzzxWx*nnxMn+zzz+zixMMx*;;;;;;
@WW@@WWWx@@@@W@@@@WWznz+n#z*x#;i;;;;;;i;;;;;;;;i:iii*nnxMxxnnnnxxnxi`*nxMMMxMnnnxxx#;;;z*+*+#x#zi;;;;;;;;;;;;;;;;;;;;nxMWzznxz+n+##n#nz+*#:nxMx*;;;;;;
@W@@WW@WM@MWWWW@@@@WMnz*zi#ii;.,i***iiiii,;ii;;,```iznnMWMxnnnnxxnn*`#xMMxMMxnnnxMxxi;in*##*+x#zz;;;;;;;;;;;i;;;;;;;;zznW#;*;i#z#n#Mx*,.``.#xMni:;;;;;
W@@@@MMWWWWWW@@@@@@WM*znznnnz#*+znxnn#***i*iiii:i..,znnMWMxxnnnxxxn*`zxMMMxMxxxnxMxx+;*xz#z+zxzzni;;;;;;;;;;i;;;;;;;;++#+.i#z*iz++*x#+;:..,+nMni;;;;;:
W@@@@@@WWWWMW@@@W@WWWxMMMMMMMMMxxMMxxz++++******zz#:nnxWWMxxxnnMxnn*,nMMMMMMxxxnxMxxn;#xx#z+xxxnn+;;;;;;;;;;ii;i;;;;#n#z.` .;;;xn,:*inxzzzz*zM#;;;;;;;
x@@@@@@MxM@W@@@WW@WMWWWWWWWWMMWMMMMMxn++++*;::;:i+xxnnxWWMxxxxnxxxn*;nWMMMMMxxxxMMxxxinxM#zzMWMnz+;;;;;;;;;;iiii;;;inn#zi:````:nn+**innnzz#izx#;;;;;;;
x@@@@WMWMMW@@@@WWWWMMWWWWWWWWMWWMnWMxz*iii;;;:i*##MxnnMWWMxxnxnMnnn*+MMxxMMMMxxxxMxxx#nxn#zxMMMMz#;;;i;;iiiiiii;;;i+z+#MWxzx+,;z#+#i;#zi+,`;zx+;i;i;;;
W@@@@WxxxxMWWM@WW@MxnMWWWWWMMxxxnxWM+ii;;i;::+i++#znnxMMMxxxxxxMxnn*nWMMMMMMMxxnxxxxxxxxn+zWWMMMxz*i**+ii**+++*i;:+zz#nnMnznnz*;` `.:;,```,+i*+#iiii;i
@@@@@WnxnxxMMn@@@@MxxWWW@@Wxnnz#nWWMMMx#+#n#i#+#+n*xnxMxMxxxxxnMxnn*MMMMMMWxMxxxxxxnxxxxz+n@WW@Wnz+++++##+++###z#+##z#xMn#+*:#i. ` `::...,n+*+##iiii;;
@@@@@MxxxxxWnz@WW@Mx#WW@@@Mnnn##xWWWMMzzz#+****iz+nxxMWzMMnnxxxMxnx#WMMMMMWxMMxnnxxMxxxnz#nMWW@@Wx#++++#z#+++#nnz+*z##x##**`;*;:```;*+z##xxz####+#+#i*
@@@@@MxxMxnWnz@W@@MMMWWW@Wxznnz#WWWMMMxxn+i*++*izzzxxxW*MMxnnnxMnnnzWMMMMWWxMxxxnxxMxxxxz##zxxMW@W#+++++++++++##z#+i+#+*z*;;*;i``.;xi#xzzMz#i#z###+i*i
W@@@@xnxxnxWxzWW@@WWW@@WWWWMMxnnWWWWMMMxn*;i+i+zzMxnxxM*MxxxnnxxnnnzMMMMWWWxMMxxxxxMxxMxn#++##znMxz++++#;.,::;;iii:;ii;;**iz+*, `zzn*,,..+zn#nnnz#++##
zM@WWxnMxnMWxz@W@@WWMWMMMWW@@@WWWWWWMMMnn*++i*+zzMxxxWxixxxxnnxxnxnxMMMMMWMxMMxxxxxMMxMWz*z###zznxn#++#++::i;*+*;;ii::::ii+Mz#::#z##+.`.;z#z#xxznz#zz#
+xW+ixxMxnMMMM@W@@MMMMMMMMMW@@@@WWWWMMxxz+++iixxx#xnxMn;xxxxxnxxnxxnMMMMM@MMMxnnnxxxxxMWn+z#+##z*;xn####nxnz+iiii::;:;#i;*nxn#nnnxxnnnnzn#znznxzn#zn+z
#xW*ixMMxxMWWW@WWWMMWWW@@@WWWWWWWWWWWxMMn*+++*xxx#xxxM##xxxxxxnMxxxnMMMMM@xxMMx#+#zzMMWWxn#z+zzz+znn##++znn#z#zz#zzz##M++xn#zzzznxnzznnM#z###nnzx#zz+#
nxWnzxxWxxMWWW@W@WxM@@@@@@WWMxxxxxxxxxxxx#i#+ixzxMxxxMMMxxxxxnnMxxx#MMMMWWMxMM#+++#n@WWWxxz##z##+nxnz##;+#ii*+#*####nnxn#nni*+*;i+*;+#n#i*###zzzxzznz#
xnWxMxMWxxMW@@WWW@xxWWWWWMxxxxxxxxnnnz####i++*znMxxxxMMMxxxxxxxMxxn+MMMMWWxxMx#+++##WWWWxxzz##*##xxxn#+;+n#*#iz###+i##Mz;##;ii*:;::::++;:;ii*z*i*+z#zz
znWxMxMWxxxMMMWMWWMznxxnnnxxxxxnz####++#####+*#xxnxxxMWMxnnnMxMMMxn#WWMMMWxxxx##+++#WWWMMxnz#+*##nWxz+*;#z+i**z#nz+*znM#:#*;i;*,,:#*##i,:innnx+;:i#znx
znWnxxMWxxMMWWMxxnn+#nnxxxxxnz###++++######++;#x#zxnxMWxxxxxMxMMxxMWWWMWMWxxMn##+++#WWWMMxnzz++#znMxnz+;zxiii+z#n#+#nMx+:#;;;:*,:i#*##::.:znn##*;i+*#+
zxWnMxxWxxMMxnxnzzn#+xxxxxnz########+++++#++*:zxn#xnnxWxxxxMxMxxxnWWWMWWMWxnxn#+++++MWWMMMMnn#nnxxnznz#;zx*z*+#z#z#+xMz+;+;;;:+::i+##+:i.:zzziii+zz*++
xM@WMxMMxxxnnxMMnxMxnMxxnz######++++++++++++i:nM+xxnxxWxxxxxxxxxxxWWMMMMMWxxMz##++#+M@WWWWxnMMWWWWMxnzzi#z+z*#zzz##zMW+#iz;;;:+,,i++#+**.:#n+i,;xxn++*
MMxnnxMMxxMMMW@@Mxxxxxnz######+++++++++++++++:zxixxxxMWMxMxxxxxxnxWWMMMMMWxxM####+#+MWWWWMz#xxWWWWWWWx#+++*z*#+zz##MWW*+*n;;;;#::i###zzz++**i;;*zxz#+*
nzzzzxMWxMWMMMxnzzzz#zzz########+++++++++++#+izz#zxxnxWMxMxxxxnxnx@WMMMMMWxxM+###z##xMMMMx#+xnWWWWWWMznxz+#n#++zz#zWWM+*#n:i:*#:,*##++*z+n+.:**+zxzz+i
zzzzzzzzznzzzzzzzz########++++++++++#++++++++*#nnxMxnnWWMxxMxnnnnx@WMMMMMWnxM+++++##MnxMMn;+nnMWWWWxzzzn#+##z**zzzzWWn#izzi*;+*;;###++*+*#;.;*i;*nnn**
zzzzzzzzzzzz#############+++++++++++++#+####++++##nxnnWWMMMMxxxxnx@WMWWMMWnMM+*+++#MxxMMMx;#nnMMMMMnz#+#**+#z+*nnz+nxi+#nz++;#;:;###++i#+nz;;*;:*nzz*i
zzzzzzzz############++++++++++++++++###zz###zzz###zx+i+@MMMMxnnnnM@WWWWWMMzMM++++#xMnMxxxx;zMnxzzz#####zi+*+z+*nzz+n#+nnnznzzn;;i####xx#izxx+**;ixnz**
zzz#################+++++++++++#####++++++++++#####:,::MMMMMxxnnnM@WWWMWWMnMM#++#xMnnxxxxn*n@x########z+;;i*zzzzzz*zzz##nxxzzni;z##z#xx#;z##i:+#zxn#*+
###################+++++++#####++++++++++++++++++#*,,+:MMMMMWMMMMW@WWWMWW*i#x+++nMz#nxnnnnxxWn#########nnz#z#nzzz##zn+;iznnnnn**n+*##Mx+*z##i,*#zxnz*+
zz########################+++++++++++++++++++++++#+;;*:xMMMMMMMWW@@WMWWWx:,:**+nMz#nnnnnnnMWn##++++++++zxxxxxxnnz#nnn*:;+#znnn**z*i#*ziz*z##;:*+zxnz+*
znnzz###################+++++++++++++++++++++++####+i;ixMMMMMW@M@WWWMWMWz;::i+zxx#znnnnnnzx@Mnz#++++++#nnnxnxnnnnzznn+:;ii+#zz#z##+#+z;+*zz+;,;i*x##**
nnnzzzzzz###############++++++++++++++++++++#########zxMMMMWWWWnWWWMMMWW+ii;*zxzzznnnnnz##zxxnz#++++#####znxxxMnnnxWM;::;;******+i*zzM##+zn+i.ii#xn#ii
znzznnzzzzzz#########+++++++++++++++++++#############nMMMMMMWWxnWMMMMMWW+i*;znx#zxxxxnz#zznnnnz##++##+++++#zxMWnMMW@Wi:,,:;i;;;:+*+nnMxznnx*;;*+zx#+ii
nzznzzzzzzzzzzzz#######++++++++++++++####+++#+++##+##nMMMMMWWWzzMMMMMMWMn*i;#zn#znnnzznnxxxxxnnz#z#+++++++##znxxWWWWM#::::::::::.,i##:;+zn#::;*i+x#+*+
zzzzzzzzzzzzzzzzzzzz###+++++++++######+++++++########nMMMMMWWM##MMMMWWWMzi+#zx##znnznnnnnnnxnnnzz#++++++++######nnnzz+;z+*;::::,````.``izn#i,;i:;nz+##
zzzzzzzzzzzzzzzz#zzzz#zz##++#####+++++++++##+########xxMMMMWWx##MMMWMWWn#:*nMn+znWWMxnnnnnnnnnn###+##################z+nMMWMxnz;,.,`,*;#nnn**++*+++*ii
zzzzzzzzzzzzzzzz##zz###z####z###+++++++#++###########xxMMMMMWz#zMMMMWMWn#;*#xMMMMMMMxnnnnnnnnnz#++###++###############+###znnxMMMMMxz##z#+znnMxnx**:,,
zzzzzzzzzzzzzzzzz#######z###########+#+#+##+++####+##xxxMMMWM##zMMMWMWWz#*+#znnznnnnnnnnnnnnnz###z#+++++###############+######nnxxxxxMWW@@Wx#W@@xiii;:
zzzzzzzzzzzzzzz####zz######+############+###+++######xxxMMMWn++zMMWMMWW#+ii+##znnnnnnnnnnnnnnz#z##++++++###############+#####z####zznxxxnnMxzWW@Wxxnnn
zzzzzzzznzzzzzz##zzzzz#######################+######zxxMMMWW#++nMWMMWWM#+:;+##nnnnnnnnnnnnnnnz##+++++++++++++++#######++++#####nz########zxnxMMWWWWMxn
zzzzzzzzzzzzzzz#z#zzzzz#############################zxMMMMWM+++nWMMMMWx#i;#z#znnnnnnnnnnnnnxz#+++++++++++#+++#+#############++#z#++#######zxxxMMMMMMnz
nnzzzzzzzzzz##z#zzzz#z#####################z#####zz#nxMMMMWx+++xMMMMMWz+#*zzznnnnnnnnnnnnxnz##++++++++++++#+##################z###########zxxxxxxxxxxz
nzzzzzzz#zzzzzzzz#z######################z########z#xxMMMMWz+++MMMMMWM##x+n#znnnnnnnnnxxnnz###++++++++++++++##+##############++############nxxxxxxxxxx
zzzzzzzzzzzzzzzzzz##z#####z###############z#########xxMMMWW#+++MMMMMWM++i;**znnnnnnnnxnnzzz#+++++++++++++++++++####+++++###################znxxxxxxxxx
zzzznzzzzzzzzzzzzz###z#z###z#######################nxxMMWWMzzzzMMMMWWx++i;;+nnnnnnxxnnnzzzz#++++++++++++++++++++++++###+#+#######+#########znnnxxxxxxx
znzzzzzzzzzzzzzzz######z##zz#######################xMMMMWWnzzzzMMMWWWn+++++znnnnnxxnnnzzzz##+++++++++++++++++++++++++#++####################znnxxxxxxx
nnznzzzzzzzz##zz#zz#zzzz####z################z#####xMMMWWWzzzzzMMWMMWnz###znnnnnnnnnn#zz#+##++++++++++++++++++++###+++######################znnxxxxxxx
nzzzzzzzzzz#zz#zzz##z######z#################zz###zMMMMWWMzz##zWMMMWWnzzznxxnxxnnnnnz#zz#++##+++++++++++++++++++++#####z##+++################nnxxxxxxx
nzzzzzzzz##zz##zzzz#####zzz#############z##zz##z#znMMMWWWM##zznMWWWWWzzzznnxxxnxxxnzznnz#+++++++++++++++++++++++++++###z####+++####+#########znnxxxxxx
nnzzz#+#nzzzz###zzzz#z###################zz#####zzxMMMWWWxzz#zMWWWMMxzznnxxxnnxxxxnzznnz#++#++++++++++++++++++++++++#z######+++###+##########znxxxxxxx
nnznn++zznzzzzzzz#z#####zz##z#####z#########zz####xMMWWWMnzzzzMMMMMMnznnxnxnnxxxxnzznnnzzz####+++++++++++++++++++++#####+++##++###+##########znnnxxxxx
zznzzznzzzzzz#zzzz####z##zz###zz#############z####MMWWWWMnzzznMMMMMWznxxxxnnxxxxnzzzzzzzzzzzzz#####+#+++++++++++++#z#++##+++++++#++###########znxxxxxx
zznnzzzzzz#zzzzz#zzzz#zzz##zz#############zz##z#znMMWWWMM#zzzxMMMMWWnxnxxnnxxxnnzzzzzzzzzzzzzzz##zzzz##++++++++++###++#+++++++####+##+########znxxxxxx
nzznzzzzzzzzz#zzzzzzzzz#zz#############z###z##z#zxMMWWMMxzz#zxMMMMWMnnxxnnxxxxnzzzzzzzzzzzzzzzzz##zzz#zzz###+#++###+++##++###+++##+##+########znxxxxxx
nnnzznznzzzzzzzzzzz#z###zzzzz##zz####z###zzz#####xMWWWMMx#zzzMMMMM@Mxxnnxxnnxxzzzzzzzzzzzzz#zzz#zzzzzzzzzzzzzz####++++++++++########+########zzznxxxxx
nnnnnnzznzzzzzzzzznzz###zzz#####z###z##z##zz##zzzMMWMMMWxnzznMMMMW@xxxxxxxxxnzzzzzzzz#zzzzzzz#zzzzz#zz#zzzzzzzzzzz####++++####+###############zznxxxxx
xxzznnnzzznnzzzznzz#zzz#z#z#zzzzzzz#zz#zzz##zz#zzMMMMMMWnzzzxWMMMWWxxxxxxxnnnzzzzzzz#zzz#zzzzzzzzzzzzzzz##zzz###z#z#zzzz####++#############zz#zznxxxxx
nxnnnnnnnzznnzzzzznzzzz#zz#zzz###zzz####zzz##nzzzMMMMMMWnzzzxMMMWWWMxxxxxxnzzzzzzzzzzzzzzzz#zzz##zzzzz#z##zzzzzzz#znzzzzzzzzz###+#########zzzzzzzxxxxx
nnnnnnzznxnnzzznzzzzzz##znzzz#zz#zzz##z#z###zz##nMMMMMW@zzzzMMMWWWWxxxxxxnnzzzzznzzzzzzzzzzzzzz#zzzzzz#z#z##zzzzzzznznzzzzzzzzznzzz########zzzzznnxxxx