```````````                                            ```.,:,.`````                                          `````
``````````                                      ` ````..,,:,i*i,...```                                        ` ```
```````````                                    ````,;i+**#++###+*;;:,,`                                      ` ````
`````````````                                  `,;***####znnnzzzz#+*;,,.````   ``                             `````
`````````````                                `.;+#zz#nnnnnznnnzzzz##++**;:,,.`````                     `` `````````
```````````` `                            ```:*#zznxnznnnnnnnnxxnnzzz#####+++i:.`````````` `         ``````````````
``````````````                            `.i#znxnzxxzznznxMMMxxxnnznnnzzzz##+***;;,..``` `      `   ``````````````
``````````````                          `,;*#znMxxxxxnnxnxxMMxxnzzzzzznnnzzzzzzz#++i:,,,````       ````````````````
```````````````                       `,*++###xnxxxxxnxxxxxxzzzzzzzzznnxnnxnnzznz###*i;;.``````    ````````````````
``````````````                  ``  `.i*++#zzzxxxxxxxnnxxnnzzxnnnnzzzzzxMxnnxxxnznz#+;*;:.`````` ``````````````````
```````````````             `   ````,*++++###znnxxxMxxnxnnnxxnxxxxnznnzzznxxxxxnnnnnz+**;,`` ``  ``````````````````
````````````````             ```.:;*+#**+####nnxxxMMxnnnnxxxxMMnxxxMMMnxxnxxxxxnnnzzzz#+*;`` ``  ``````````````````
`````````````````````        `.i***#+++++###zznnnxxxzznnnxnxxxMMMMMMMxxnxxnznnxxxnnnzzzz*;,````      ````` ````````
```````````````````````` `  `.ii*+#++#+#zzznxxxxnnnnnzzzxnxnxxxxMMMxxxnznzzzzzzznnxxnnzz#*:..```       ````````````
`````````````````````````  `,ii*+##+#+znnnxxMMxxxnn#nzznnnnnxxxxxMMMxxxnnz#znnxxxxznxnn#+*,.````````     ``````````
```````````````````````   `.;i*+++#z#znnxMMMxxnnzzzz###zznnnxnxxxxxxxxnxMnnnxnxxxxxnzzzzz+:.```````` ` ````````````
``````````````````````` ```:*++##zz##znxMMMMxnzz#z#z##+#z#znnnxxxnxMxxxxMMMMWMMMMMMMMMxxnz*..``````````````````````
``````````````````````````:*+#zzz#z##nxMWMMnzzz###+++#++##z#znnnnnxMMMMMWWWWWWWMMMMxMMxxxn#;.``````````````````````
`````````````````````````,*+zzzzzzz#nxMMMxnzz##++***+++**+##zzz#nnnxxMMMMMMMMMMWWMMxnzznnnni,``````````````````````
````````````````````````.i+zzznznn#nMMMMMnz##++***ii***i***++#+##zznnxxxxMMMMMMMMxMMMxz#zzn#,.`````````````````````
```````````````````````.i#znzznnnnnxMWMxnz##+**iiiiiiiiiiiii**++#####znnxxnxMMMMxxnxMMxn###z:.`````````````````````
```````````````````````;#zzznnnnnzMMWMMxn#+**ii;;;;;;;;;;;iiii******++##zznxxxMMMxnzxxMxnnz#*.`````````````````````
``````````````````````,+zznnxnznnxMMWMxn#+*ii;;;;;;;;;;;;;;;;;;iiiiii**+++##znnxxxnzzznMxxn#+:`````````````````````
``````````````````````;+zznxnznnxMMMxxn#+*ii;;;;;;:;;;;:;;;;;;;;;;;iiiii****++##zxxnzn*xMxxn+i`````````````````````
`````````````````````.+z#nxxnnnxxMMnnz#*ii;;;;;;:::::::::;;;;;;;;;;;;;;iiiii***+++znnnzzxnxx+*.````````````````````
`````````````````````;##nnnxnxnMMMnz#+*i;;;;ii;:::::::::::;;::;:;;;;;;;;;;;;iiii***+#znnz#xxz+,````````````````````
````````````````````,#zznnxnxxxMMxz#*ii;;;;;*i:;::::::::::::::::::;;;;;;;;;;;;iiiii**+##++#xz#i.```````````````````
```````````````````.*##znxxxMMxMxn#*i;;;;:;;;;::::::::::::::::::::::;;;;;;;;;;;;;;iii**+***nzzi,```````````````````
```````````````````;+#zxxxxMMMxxz#*i;;;:::;:;:::::::::::::::::::::;:::;;;;;;;;;;;;;;iiii**i+zz+,```````````````````
``````````````````.++#nnxnMMMxnz+*i;;;;::::;::;::::::::::::::::::::;:;;;;;;;;;;;;;;;;;iii*i*#zzi```````````````````
`````````````````.:##nnnxMxxnnz+*i;;;;;::;:;:::::::;::::::::::::;;:::;;;;;;;;;;;;;;;;;;;iiiii+n#.``````````````````
`````````````````.i+zxznxnnxnz+*i;;;;:::;;:;;:;;;;:::::::::::::::;::;;;;;;;;;;;;;;;;;;;;;ii;;inn:``````````````````
`````````````````.*+nnnxnxnnz+*i;;;:::::;;;;;;;;;;;;;;;:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:zx+.`````````````````
`````````````````:*+xnxnxnxz+*i;;::::::;;;;;::;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:*xz,`````````````````
`````````````````;+#nxnnxnz#*i;;;::::::;;::;;;;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;i;;;;;:;zn,`````````````````
````````````````.*+nnnxnnz#+*i;:::::::;;;:;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;;;;;;;;;;;:*z,`````````````````
````````````````.*+nznnnz#++*i;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;z:`````````````````
````````````````,*#znnnzz#+*ii;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii;;;;;;;;+i`````````````````
````````````````,+#zzzzzz#+*ii;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i;i;;;;;;i+`````````````````
````````````````,+#zzzzzz++**;;;::;;;;;;;;;;;;;::;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;i;i;;;;;+.````````````````
````````````````:+##zz#n##+*i;;;::;:;;;;;;;;;::;;;;;;;;;;;;;;;:::;;;;;;;;;;;:;;;;;;;;;;;;;;iii;;;*,````````````````
````````````````:+##zznz##+*i;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;iiii;;i:````````````````
````````````````:+#zznzzz#+*i;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::;::;;;;;;;;;;;;;;;;:;;;;;;;;;;;iiii;;;;````````````````
```````````````.,+#z#nzzz#+*i;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i````````````````
````````````````:*+zz##z##+*iiii;;;;;;;;;;;;;;;;;;;;::;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i.```````````````
````````````````:*z###zz#+**iiiii;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;i;;;;;;;;;;;;;i.```````````````
````````````````;+z#+zzz##+*iiiii;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ii;;;;;;;;;;;;iii*ii;;;;;;;;;;;i,```````````````
```````````````.;+z#zznz##+**ii;;;i;;;;;;;;;;;;;;;;;;;;;:;;;iiiiiiiiiiiiiii;iiiiiii**iiii;;;;;:;;;;,```````````````
```````````````.i#z#nzzz##+*iii;;;;i;;;;;;;;;;;;;;;;;;;;;;iiiiiiiiii*iiiiiiiiii********iii;;;;;;;;;:```````````````
```````````````,*#zzzzzz##**iii;;;;;;;;;;;;;;;;;;;;;iiiii************iiiiiii*ii***+*+*****iii;;;;;;:```````````````
```````````````.*z#nznzz##+*iiiii;;;;;;;;;;;;;;;;iii****+*++++*++******i*********+++++##+++**i;;;;;,```````````````
```````````````.+zzznzzzz#+*iiiii;;;;;;;;;;;;;iiii**++##zz#z####++++*********+*+++++##zzzzz#+**ii;;,```````````````
```````````````.#zzznznzz#+*iiiii;;;;;;;;;;;;ii**+#zzzzzzzznzzzz+##++*******++++++##zznnnxxnnz#++*i,```````````````
```````````````.#nnnnnzn##+ii;iiiiii;;;;;;;;ii*+#z#zznnxxnnnnzznz##+++++++++*+++###znxxxMMxxxn##+*i;.``````````````
```````````````.znzznnnz##+i;;;;;;;;i;;;*iii*+#z#zzznxxxMMxxnnnnzzz####++++++#####znnxMMMMMMxxnnz#+i.``````````````
```````````````.#nnznnnzz#*i;;;;;;;ii;;ii**++#zzzzznnxxMMxMxxxxnnnzzzz####++####zznxxMMWWWMMMMMxnnz+,``````````````
```````````````.#znnnnxzz+*i;;;iiiiiiiii**+#zzz######zznnxxxMxxxxxnnzzzz######zzznxMMMMMMMMxxnnnnnnz;.````````.`...
```````````````.+znxxxxzz+i;;;;;;iiiii**+#zzz###+++++++##znxxMMxxxxnnnz##+####znnxMMWWMxnnzz###znxxnz##++*i;;.....,
```````````````.*nxxxxnnz+i;;;;;iiii**++#zzz##+++******+##znxxMMMxxxxnzz######znxMMWWMxnzzznxMMMMMWWMxxxnnnzz,....i
```````````````.;nxxMxnnz+i;;;iiiii***##zzz#++++******++##znnxxMMMxxxnnz#+++##znMWWWMxxxMMWWMWMxnnzz**zMWWWWW+;..;#
```````````````.:#nMMxxxz+i;;iiiiii**+#zzz##+++##zzz#zzznnxxxxxMMMxxnz##++++++zxWWWMMMMWWWWMMxxxxxxxMWWWWWWWM+z.:#n
``````````````,;i*#nnxnzz#+****iiii**#znnnnznnxxxxMMWWWWWWMMMMMMMMMxxz#+**i**+#xWWWMMM@WMWW@@@WWMMxxM@@@@@@@nn*,*zn
`````````````.;i**+zzxnzzznnnznznnMMWW@Wz##zz#zxxMMMMMMMMMMMMMMMMWWWWMxn####znnxMMMWWMMW@@@@@@@@WMxx#*zMMz*****:znx
`````````````:+##+*+##xxz#znznnnMxW@xzz+zzzznxMWW@@@@@@@@@WWWWWWWMxxxMWWWWMMMMMWWWWMMW@@@@@@W@@WWWxn*;xMMzi;;i#*zxx
````````````.*zxxn#++zxxn###zznxxxnn##znxxnnxWWW@@@@@@@@MMW@WWWWMMxxnnnxWWWWWMMWWWMMWMWWWWWWMWWWWWxn**MMMzi:+xz##MM
.```````````,#xxxzz#+#xxn+**+#nxxx#+zznnnxxxMWWWWW@WWWWWMMMMMMMMnnnnnnnzxWMxMWWWMMxxxxxxxxxMMMMWWWxn+zWMn*,#WMz#*xx
....`.`````.;#nxz+#z#+xxn*i**+#znx+#nnnnnxxMWMMMMMxxxxxxxxxxxxnnnnnnnnnnxMWMnznMWWxxxxxxxMMMMMMMMMxz#nn*,ixW@Mn#:nn
............i#nz#*+#z#nnz*ii**+++**+znnnxxMMMxxxxxnxxxxnxxxxxxxxnznznnxMMWn+ii*+xWxxxxxMMMMMMMMxxnnz#;,,*M@WWx+*,i;
............*#zz+****##n#iii********zzzznnxnnnnnxxxxxxxxxxxxxxxnzzznnMMMWx+i;;;i#WMnxxMMMMMMMMMxnzzz#:;zMW@WM+`````
............*#z#+iiii++z+iii********zzzzzzzzznnnxxxMMMMMMxxxnnnnzznnxMMxM#*;;;;;*xMnxMMMMMMMxxxnnzzzz#xMWWWMxi```  
............i+##+****z##*iiiii******zz#####zzznnxxxxMMxxxxxxnnzzznzxnxMxn+ii;;;;izMnnnxxMMxxxxnnzzzzzn@MWWxMx.``.``
..........:;i*+****+zxn+*iii*i******#z#####zzzzznnnnxnnnxnnnzzzzzzzxnMxx#*ii;;;;i+nxnnnnnxMxnnnzzzz#znMMM#nM*``.:..
.........:+##*+***+#nxx*iii*********#zz###zzzzzzzzzznnnnnzzzzzzzzznnxMxn+**i;;;;i*zxzzzzznnnnzzzzzzzzzxMzzn+;i*+#zz
,.......,+znz+****#znxniiii*****ii**+#z#########zzzzzzzzzzzzzzzzzznMWnx#+**i;;;;;*#zxzzzzzzzzzzzzzzzzzxMn#zzznzznzz
......,;+zznn#***+#znn#iii***********#################zzzz###zzzzzznnnn#+**ii;;;;i##nzzzzzzzzzzzzzzzz#zi#MxxnnnnxxM
......,*znzxnz***+#znz*iii***********###z##############z######zzzzzzzxz#+**i;;:;;i+z##zzzzzzzzzzzzz#++i;zMMWWWW@@@@
...,.,,*zz+nnn+*+*+#z#*iii**++******i+############z########zzzzznnnnzz#+***i;;::;;*zz##zzzzzz###++*+++**#xnMMWMW@@W
...;**,*zzznxn#*+**##+**ii**++******i*##zzzz###########zzzzzzznnnnnnzz#+**ii;;;:;;i#nz######+++++++++++z#zzMMMxM@WM
..;*nn**znnxxxz**+**++**ii**+++*******+#zzzz####zz####zzzzzznnnnxnzznz#+**ii;;::;;i*nzzzzz#####++++#++*#n##xxxxWWWx
.,#+nxxnnxMxxxx+*+*i*+*ii***++**********++###z####zzzzzzzzzzzzzzznnnz#++**ii;;;;;;iizzzzz##+++++**++#+*+xxnnxnnWWWW
.;n#zxxxzxxxxxx+**+*iii*ii****+*****+***++*****+++++#########zznnnnnz#+++*iii;;;;;ii#z###+++++*****++++*nMnznnnznMW
,*zzzz*;;*+#+**;i*++i;i*ii***++++**++****++********++++++###zzznxxnz#+++**iii;;;;;ii*nzz##++++++**++++i;;+;*zWW+#xM
i#zz*.`````..```;i*i;;iii*****++++++++*+++*****++++++###+##zznnxxxz#+**+***ii;;;;;ii*zxnz###++++++++++::i#::#W#i*:i
*znz*:::::::i;..:iii;iiii****+++++++++**+++**++++++++++++##zznxxxz+********ii;;;iiii**xxnzz###++++++#+*+xxi:*x:,,.,
zznx#zMMxnnnn#,,:ii;;;;;i****++++++++++*+++****+++*++**++##zzxxxz+**i**i***iii;i**i***zMMnnz####++####xMMWz;;nxn;,,
nnMW+#MWWMxnn#;;,;;;;;;;i*****+++++++++++++*****++++*++++##zxxnnz+**ii*************+++#nxxnzz########zxM@@W+:+@Wn:.
WxMW##MWWMn+,:+#i;;;;;;i****++*++++++++++++****++++++++++#zxxzzn#+****++++++++*++++###znxxxnzzz######nxM@@Wn;+WWW#:
x*znxxxMWxz,..+n#;;;;;ii++***+++++++++++++++**++++++++++#znxz##zz+++################zznnxxxnnnzz##z##nWWWx#+i*WWWz:
##+nxxMxnnz,,.+nziiiiii*#z**+++++++++++++++++++++++++#+#znxxz##zzzznxMMMnzzzzzzzzzzzznnnnxxxnnnzzzzz#xWWWxzn+ixWWx;
##zzxnWx#xz,,,izn******#zz*+++++++++++++++++++++#++++##zzxxz##+#nnnMW@@@WMnnnnnnnnxnzznznnxxxnnnzzzz#MWWWxnM#;#MWMn
z+z++#x#inM:,:i+z**++##zz**++++++++++++++++++++++#####zznxnz#+++znxnnnxxMMWxxxxxxxxnzzzznnxxxnnnnzzz#WWWWMMWz;#++nx
+++;i#zn*zx+iiii****#zz*::i++++++++++++++++++++#######znxxnz##+++#znzznnxxMMxxxMMxnzzzzznnxxxxxnnzz###zz#nxzz*##*nx
***ii+xx#+nzi+**i*+*##;;;;i+++++++++++++++++########zznnxnzz##++*++#zznxMMMMMMMMMxnnzzzzznxxxnxnnnz#i.,;;;;;nnz####
z++##*nxz*zn*+****##nx#iiii++++++++++++++++########zzznxxzz####++++##znnxMWWWWMMMxnnzzzzzznxxxxnnzz#;`.,:,,,nMn####
++#Mx*#Mn+zxn**i+*z++nz*ii**+++++++++++++++####zzzzzznnxnz##++++##+##zznxxMMMMMMxxxnzz##znnxxxnnnzz#;`.,i;i;#xnz###
*+zMn#+xz+nn#**i*;i**#z*ii*++++++++++++++++#####zzzznnnnnz#++++####+##zznnxMMMMMxxnnn###znnxnnnnnzz#;..,*++#+#++#+*
*#Mx##+#z#nn**##i,,ii;i;ii#++++++++++++++++#####zzznnnnnz#++*++++#####znnnnxxxxxxxnnz##znnnnnnnnzz##;..,+##+*+*++++
+zMWMx#*####++zz#;.;*:,.;+z#+++++++++++++######zzznnnnnnz#++++++++####zzznznnnxnnnnzz#zznnznzzzzzz##*:,:#z+i*****+*
#zMn#++++#ii*#nxni.;*,,:ixxz*++++++++++#+++####zzzznnnnz##+++++##++#######zzzzzzzzzz#zzzzzzzzzzzzzz#+*:,+n+**++++++
zxni;;iz++::i#nxzi,:;::::i++*+++++++++++##+####zzzzznnnz++++++++++++############zzzzzznnzzzz#zzzzz###*:,i**#*iiiiii
xMz;:i##nn*:;+z#*:``.,:;*+zz*+++++++++++#########zzznzz####+++++++++++######z#znnxxxxxxxzzz###zzzz####;:;;i++***+*:
nMziiii*n#*;;*i;::..:;;i*#zz**++++++++############zzzzz####+++#####zzznnnnnnnxxMMMMWMxnz######zzzz#zzz#*;;:;*##+zz;
xM#i::;*#;,;;ii:::;;*++iiznz**+++++++++#############zz########zznnnnxxxxxxxxxxMMxxnnz#########zzzz#zzz#*;*i;::;:;i;
MM++;:;##+,;;;;iiii*##**i++***++++##+++##############zz###zznnxMMMMxxxxxxxxxxxnnz##z##+++####zzzz##zzz#zznn+*iiii**
Mx+n+i*zz#.,ii****+xx+i:.;+#***++##+#+################z#zzxxMWWMMxnnnnnnzznzz#########+++##zzzznzzzzzzzznxxxxxMxxxz
nn#zn+xWWx..i#z#*:;nz*;.``,;i**+######################zzznxnzzznnzz#########++###zz##++++##zznnnz######znxMMxMMMxzz
znnzMW@WWM,.:zn*,.,*#*,`````,i**+##+##################zzzzz#++++##zzzz##+##z##zzzz##+++++##zznnn###+++#znnxxxMWWn##
#z#znxW@WW;,:i;..,;**;,.,,,,:i**+########################++****++++znnzzzz####zzzz#++++++##zznnz++##++#zznnnxMWWn#+
###nxnM@@W*,;;,...:**i:,,,,::i**++######################+**********+#znnz#####zzz#+++++++##znnn#++###+##znnxMMW@xz*
#z#MWxxW@Wzii:,,,:i#+i;::,::,i***+##############z######++**ii*******++#zzzzzzzzz##+++++++##znnz+#+++#++#nnxMMWWWxzi
nzzMWMxWWWn*;;;;i;;iiii;:::,:i***++#########zzzzzzzzz##++***i*********++#zzznnzz#+++#+++###znn++++++#+#znxMMWWWMn+:
WnznxMxWWMz+#+++++#z##n+::,,:i***++########zzzzzzzzzz##++*************++#znnnnz##########+#zzz+##+++++##zxMMMxnz##i
nz#zzzxWWMxxMWMWMxzxnzMnn+i;;i****+######zzzzzzzzzzzz##++*********+++*++##z#zzzz########++#zz#+#++++++#######++++##
#z#z**xWWMxxWWnzxxxMnzxzn##+ii****+######zzzzzzzzzzzz##++++*****+++++++####zzzzzzzz####++##zz#++++++*++++++*+++++##
*#nz*;zWWMxMWxz*zxxWWxxzn##i:i*****+######zzzzzzzzzzz##+++++++++++++#+###zzzzzzzzzz####++##z#++*+++**+++++++++###++
;+zz*:#WWMnW@W+i#nnW@WMMMMn.;i*****+#######zzzzzzzzzz##+++++++++++++####zzzzzzzzzz####+++##z+*******+*++#####++##++
;#zz+,*WWMxW@x;i+nx@@@@@Wx#.:i*****++######zzzzzznzzz###++++++++++++####zzzzzzzzzz###+++##zz**+*++++#++++#++###z+*+
iznM#:iMMWMW@n*+zxMW@@WMMn*`.i******++#####zzzzzzzzz##+#++***++++++#+##zzzzzzzzzz##+++++##z#++++++##zz#+++++###zz+i
*nnM#iiMMWWWWxz#MMMMWWnnzz;``;******++####zzzzzzzzzz##+++++**++++++#####zzz######+++++++##z#####+###############x#*
#xnM##+MWWMxxxxznMxnnnzzz#,``.i**i***+#####zzzzzzzzz##++++++++++++++#######+++******+++##zz##############zz##z##xzi
nxxWnWWWWWMnxnnnnnzzzzz#+i,```;**i*+*++#####zzzzzzzz###++++++++++++++++++***iiiiii***+###zz###zzz##zz###########zM+
+nWWx@@W@Wxnnznzz##+#zzz+,:.``.*****+*++####zzzzzzzzz###+++++++++++******iiiiii*****++##zzn######zzz########+###zxx
+nMMnMMW@Wxz##z##++znnnz;.:.```;****+*++####zzzzzzzzzz####++++++++*****iiiiii******++###zz#z##########z######z#zznx
#xxxnxznxMxzzzzz#+zxxnz#.`;,```.i****+++##zz#zzzzzzzzzz###++++++++***iiiiii*****+++++##zz++##########++++++###+####
nxMnzxnnnMx###z##nxxnzzi``;:````,i***+*+++#zzzzznnzzzzzz#####+++++**********++++++++##zzz#+++###++#######++##++###+
xMWxznzzzxx#z##zzMxxnz+:``:;,```.i****++++##zzzznnnnnnnzz#z#####+++********++++++++##zzznn####++++++#+++++++###++#+
WMMnznnnnnn#####zWMMnz;:```:;````:*****+++##zzzznnnnnnnnzz#######+++**+++*+########zznnnnnnzz#+++#++++###+++###**++
WMWnznnnnnz#zz#+zMWMz+;:```:.:```.*****++++##zzzznnnnnnnnzzzzz#####++++++##zzzzz#zzznnnxnnnnx#+#########++########+
WWxzznxxxnxzzzz#zMWzn;;;```.::```.;*****+++###znnnnnnnnnnnnnzzzz######+###zznnzzznnxxxxMxxxnn++#zz###++############
WxxMxxxxnnnzz###zxxz#;;;.```:i:```,******+++###znnnnxxxxxxnnnnzzzzzzz#zzzznnxnnnnxxxxxMMMMxz#++#################+##
xxMMWxnnzzzz####nnnn+;;;:```.;,```.;*****+#++###znnnnxxxxxxxxnnnnnnznnnnnnxxxxxxxMMxxxMMMMxx+*++##+########++###+++
xxxWWMzz########zznnzi;;;``````````,******+#+###zznxxxxxxxxxxxxxxxnnxnxxxxMMMMMMMMxnxxxMMMMMz+#z##+###+####+####+##
nnnxxn##+++#++##znxxx+;;;:`````````.;******+#+###zznxxxxxxxxxxxxxxxxxxxMMMMMMMMMMxzzxxxxxMMMx+###+#+##########z#+##
nzz####+++++++#zznxxxn*;;;.````````.,******++#+###zznxxxxxxxxMMMMMMMMMMMMMMMMMMMxn#zxxxMxxMMMn+*i++++####zz#######z
zzzzz#++###+++znnxxxxxx*;;;`````````.;*****+++#####zznnxMxxMMMMMMMMMMMMMMMMMMMMxxz#+xxMMMxxMMx;;;i+++####zzzzzz####
zzz########+##nnxxxxMMMx+i;,`````````.i****++++#####zzznxxMMMMMMMMMMMMMMMMMMMMxxnz##zxxMMMMxMM*i;;*++##zz###zz#zzzz
zzz######+###nnxxxxMMMMMx#i;.````````.,****++++######zzznnxMMMMMMMMMMMMMMMMMMMxnzz#n+xxxMMMMxxzi;;*##++z##zzzzzznnn
zz#zzz######zxxxxMMMMMMMMMz*:`````````.;***+++++#####zzzznnxxMMMMMMMMMMMMMMMMxxnzz#xznxxxMMMMxxi;;i+*+#z+##nzzzzzzz
#zzzzz######nMMMxxMMMMMMMMMx*,````````..;**++++++####zzzznnnnxMMMMMMMMMMMMMMMxnnzz#nM+xxxxMMMMx+ii*+*#zz##zzzzzz#z+
zzz#+#+*+++zxMMMMxMMMMMMMWWMx+,````````.,i**+++++####zzzzznnnnxMMMMMMMMMMMMMxxnnnz#xx#xxxnxMWWMn+##zzz#####zzz###+*
#+++*+++++#nxMMMMxMMWMMMWWWMWM#.````````.,i*+++++####zzzznnnnnnxxMMMMMMMMMMMxxnnzzzxMx#xxxxxMWWMnxxnnnzzz#zzzz*iii*
++##++####nxxMMMMMxMMMMMMWWWWWM#.````````.,i++++#####zzzzznnnnnxxxMMMMMMMMMMxxnnzzzWMM+xxxxxxMWWxxxnnnnzzzznnz++*+z
+++++#zz#nxxxMMMMMMMMMMWMWWWWWWM#..``````...;++++#####zzzznnnnnnnxxxMMMMMMMMxnnnzzz@WMnzxxxxxxMWMnxxnnnzzznnnnz##nn
+###+zzzznxxMMMMMMMWMMMMWWWWWWWWM*...`````...;++######zzzzzznnnnnnnxxxxMMMxxnnnzz#z@@xn+xxxxxxxM#+nnzzzzzzznxMMzxxn
#zz##zzznxxMMMMMWMMWWMMMWWWWWWWWWM;....````...;#######zzzzzzznnnnnnnnxxxxxxnnnzz##zW@Wz+zxxxxxxn#z#+:znnn++#MWWWMxx
#zz#z##nxxxMMMMMMWMWWWWMMWWWWWWWWWx:....`......i########zzzzzzzznnnnnnnnnnnnnzz###xM@@Mz+xxxxxxxn#*+iznn#++xWWWMnz+
##z##znxxxMMMMMMMWWWWWWMWMWWWWWWWWWn,....i:.`...*z#######zzzzzzzzzzznnnnnnnzzz###nMMW@@n+nxxxxxxxz*#+**i*#xWWWW+;:.
z####znxxMMMMMMMWMWMWWWWWWMMWWWWWWWMz,,,,i*:`...,#z####zzzzzzzzzzzzzzzzzzzzz####xWWMWW@Wz*Mxxxxxxzi+#*;;+MWW@@W;.``
#zz#znxxxMMMMMMMMWWMWWWWWWWWMWWWWWWWMz,,,:;i.....:#z####zzzzzzzzzzzzzzzzzzz###zxWWWMWW@@x+zMxxxxxzi*i#*+M@@W@@Mz,.`
zznznxxxMMMMMMMMMWMMWWWWWWWWWMWWWWWWWMn::::+i.....izz####zzzzzzzzzz##########nMWWWWMMWW@Wz*MMMxxxniii*nM@@@@WMxxn+;