@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+++++++++++++++++++++++++++++++zz#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##
                               ::i`                                                                    
                               :,*:                                                                    
                         `    .:;#i, ``                                                                
                        `i,.,:i,i*+i.:;`                                                               
                        ,;*:.`:,i*z;ii;:                                                               
                       .ii*i``;:*nz+;iii.                     `.                                       
                     `,:;izi;.;i+xxn;*;#;                   `...                                       
                    `,``i*z+i*;*#MMx#;i+*;;                `...`         `..                           
                   .,```i*#zii;++MMxx;*n#i*,              ....`    `.   `...                           
                  ,.,;:`*+nMn*in++xxx+:zx*+*,           `...`      ..` .....                           
                 ..`.*+**#nnx+*iz#zx;#:+x+++::         .....` `.   ........`                           
                 ,.,,+#*;zMnx*+i,*n*;+*ii**z;.,      `...  .. ..   ......`                             
                `;.``**z:+;*#**;i:,+*,+:;***;.,`      .`   .. ..`  ..... `..                           
               `:.``.ii#;#*i;;i``:ii``:+i,;+,``,,`         .. `.` `.....`...                           
               ,.``.`i+*i*::;i.````,` `,.``:..``,:.        `.``..,.....,...`                           
              .,` ```.:*+.```.`````.` `,````,``.`.:.        .` ..` .`....`                             
              ,`````.``:````.``````.```,`````.``..`:.       .. ..  `....   `.                         `
              ,.```.```,````.```..`,```:.. ``.```, .:`      .. ..  `....  `..                         `
             `,.``.```:````,` ``,.`:` `;.,``..```,  ,.      `.``.` `.`..`....                         `
              ,,.`.` .,```..``.`;..i```*::...:,.`.  ,,      `.``,`  ,.......`                          
              .,:.```::...:,,,,,i,:i,,,+;;:,,:,... `,,       ..`.   ``...`                             
 `           .,::,``,::,,:::;::ii:+::,iz##+i::.,.,:,,`       ..   `,..                               ``
           .,:,:;,``,:;,*+zn+**n***::;nMMMWM#i;i;i:;`         `  `....  ..       `.   ``             ``
``         .,. `;:..::;inMWMxznn#+**+nnMWnxWni;:,.,:             ...`   .. .` .....  `,`             ``
``             ,::::;i*MWWWMxWM#**ii*zMnxi*W*::,;``;`           `.. `..`,` ,..,.,,..``,`             ``
```           `::,,,:::+Wzn#+##zi;;;+xn+i.i#;;:::;.;.           ..`.,...,``,.,,.,,.,..,`        ``   ``
````         `:::::,:,,:*nii;;..*;;ii#+;,:z*:;:i::;;.           ......,.,.,,,,``,:,,..,`      `.:,` ```
````         :;;;:;::;:;;n#:,..:;;;ii;i*+z+i,:i;;i;;.           `...``,.,,,,,.  ,:,,.,,       .:,:.`  `
````      ..:i;::,,:;i::i#+**ii;;;;;;:;iii+i:;i;;i::`            ``  .,.. .,,, `,::,,,.      `,,`,,````
````       .:,,,,...,i,:***iii;;;;;::;;;ii+*:;iiii;;.                ,.,. ..,,`,,,,::,.     `.:``.,````
`````      ,.......``:,;;i**ii;;;;ii*i;;ii*i;:iii*i;,               `,.,` ...,,,.,,,,,`  `,.,:,  .:````
``````    `,.``.,.```:::.`;*iii;;;;ii;;;i*i,.,;;i;,...              .,.,` ,``.,. `,`,,  `,,,,:`  ,,````
``````    ,`.```:,..,:,.`..i*ii**iiii*ii**....,;;....,`            .,...            `` `,,,,.,` `,,````
```````   ,`.``.:;;;:....,.;+*i;;+z#+ii**:...,;*:......       `..` .,.              ```,,,.`.,  .:.````
```````   ,`.``..;i;;:;;;::*#+*i*+##****i,,;iiiii.````,      `,,,,``,`           `.,::,:.` ``:``,,`````
````````  ,...``,;iiiiii**i+##+**+++*++*i,;*i;;;i```.,,      .,..,,`  `,.    `````:,`.,,`` ``:`.:.`````
````````` .:.,..:;iiii;;;ii#####+***+z**i,;ii;ii;.,..:`      .,` `,.`,,,. `` ,,,:.,``.,,` .:.:,:,``````
```````````:;:;;iiii:...,i*#z##+######***i,:ii;*,,,,,,       `,,. `,,,,.`,,,`:,.,,, `,,:`.:,`:,:.``````
````````````:iiiiii:....,***###++++###*****;:,;i;;::;`        `.,,`...,`,,.,.:` ,:, .:.:.:,``:::,````.`
``````````````,:;ii,,,.,;*ii*###+++++n*+*ii***iiiii*:       `,  `,,` ,,.,  .:,``:,,.:..::.```:,,:,```:`
``````````````` `i;,,.,:,;,,,:+#+++++nz+*i***i*iiii::,      ,.    ,` ,,:`  .:,`,.,::.`,,`  ``:.`::,``:.
`````````````` ` :;:.....:,,..:+#***+#zz+**iii++****i;;`    ,`    ,``,,,` `,:,,,`,,` `,, `.:.:.`.:::,:`
```````````````` .;i,....:.....;#+**++###**i:,*#+++++***,   ,,   `,`.,,,``,,,,,``,.  `,,`.:,.:```,,,,,`
````````````.``` ,ii;...`:...,,:#+++++zM##*:,,;+*+**i*+ii:` ,,,``,, .,,,.,:,:.  `:.  `:,.,:.,:```.:::.`
`````````````;` `i*:i,.,,,;:,::;nzx##+#z++#+:,:;*+*ii++;ii, `,,,,,` ,,.,,,,.:`  .,`  .,:::.`..`````..``
`````````````:*i**+*;i:,,:;*i;:;zxWnnzzz##**+;::*+*i*#i;;ii` `..`   ,``,,.`.,   ,,`  .,:,``````````````
``````````````,i++****+*i***++*;i#xnnxxz*ii;*;;i*##++ii;;ii:       `     ``,,  `,. ``.,.```````````````
``````````````.i*iiii*+#++##++*i:+#nnnnn*ii;i;*+i##iiii;;iii:`            `.` `````````````````````````
``````````````ii;;;;;ii*++iiiiii:i;iznzz+i;iiiiii##i;;;;;;iiii            ` `````` `````...,,``````````
`````````````,*;;;;;;;ii;ii;;i;;:i;;;+zi++++*i;iii**i;;;;ii*ii:          :::::;:::,:,,i:;;;i;,`````````
`````````````ii;;;;;;;i;;;**ii;:i;;;;;;;;iii;;;;;;;i+i;;**++*:i.         .;:.;;;::;;:.;i,;.;`:`````````
````````````.ii;;;;;iii:;;;i*ii**ii;;;;;;iii;;;iii*ii+ii*i;*iiii`      ``.,````````````````````````````
````````````,i;;;;;ii+i;;;;;;;;ii***;:::iii;;;i::::i*+##ii:i*;i;:  `     ``````````````````````````````
````````````:i;;;;ii*#*;;;;iiiiiiii**;::ii;;;::;:;i****+**i;*i*:i```    ```````````````````````````````
````````````:ii;;iii*+i;i*i;:,,,i;iii*;:i;;;;;;;:;i*i+++*+*:i;z#z, `  `````````````````````````````````
````````````,iiiiiii*ii*i;;;;::,;;;;iii;i;;;;;;i:*i**i+*+**i;*+ii*,````````````````````````````````````
````````````.*iiiiii+i*ii*+iii;,;;;;;;i*;;;;;;;i:**i****+***#+iiii*:```````````````````````````````````
`````````````**iiiii+*i*+**i+ii::i;;;;;*i;;;;;;i:**ii*i+*+n#*i;;;ii*,``````````````````````````````````
`````````````;+iiii*+i++*+;+****:i;;;;;ii;;;;;;i;*iii*i**#n*i;;;;;;i*``````````````````````````````````
`````````````:+i*+*+*++*+i******;;i;;;;;*;;;;;i:;*iii;;**z#+i;;;:;;;i:`````````````````````````````````
`````````````i++*;+#++***i**i****:ii;;;;*;;;;i;:*ii*i:*i*##+i;;;:;;;;i`````````````````````````````````
````````````,;z+i:**+***+*i:i****i:iii;;*;ii*;:i*i**;**ii*++*i;;;;;;;i,````````````````````````````````
````````````i**ii:**+******i:;i****;;iii+*i;::i+i**:*iiiii,+*ii;;;;;;;i````````````````````````````````
````````````i+i*i:*i*******i**;;***+i;,,:,,:;*;+**:**iii*:`:+*ii;;;;;;*,```````````````````````````````
````````````i#i*i:i;+*****i****;;i***##****#xn;#*:*iii***```:+**i;;;;;ii```````````````````````````````
````````````;**ii:;*+*****i******;i+*+xxxMxxxz;+;*****+i.````,*+*i;;;;;;:``````````````````````````````
.```````````:i+*****z+**ii********;i++MMxxMMMz*i+**+*;,```````.i++i;;;;;::`````````````````````````````
..````````.`.#zn#+##+#+**ii*******+i++Mxxxxxx#zz##z#.```````````i#*;;;;;;::.`````````````````````````..
..``````````.:#+*iiii*##+********++#zzxxxxxxn*+**+++.````````````*+i;;;;;;;;.```````````````````````...
......`...`...i*i;;iii#z++++**++++zn#*xxxnnxn++***+*```````````:`,+i;;;;;;;;;.```````````````..........
..........`...iii;;;ii+z;.izzzzzzz#+*;+n+#+z#+#***+:``````````,z.`i*;;;;;;;;;;`````````````............
.............`ii;;;;ii*z;..+##+#++***;**nMx#++#**+*```````````i#,`:*i;;;;;;;;;,``````..................
..............;i;;;;ii*z:``,+#+##****i*izxx++++**+,```````....++:`.*i;;;:;;;;;;........................
..............:ii;;;ii*z,.``,z#zz*+++*++*xz*#*+*#+`.````.....;#+i..i*i;;;:;;;;;:.......................
..............,*i;iiii*#.`.`.zzn##+++++###*#+i++#*..........,+#+*...+ii;;;:;;;;;.......................
...............iiiiii*++.`..izzz#z+++*+#x#*x+i##z#,.........**#++..`;*i;;;;;;;;;:......................
...............iiiii**+*...:#zzn##z++**#Mnnx+*#zznz#+*ii;:.;**z+#,...*ii;;;;;;;;;,.....................
...............ii*****#*.:*#zznz#z#z#i+#xMxx++#zznnzz##++#+**#z+*;`..,*ii;;;;;;;;:.....................
..............,ii*+**#zz*##zzzzz#z##z*z+xMxx+##zzznzzzz##zii*nz+**....:*ii;;;;;;i;.........,,..........
,............,,*ii+++#z##zzzzzzz##z++#x+xMxx+n+nz##nzz#+#*ii*Mz+*z+i:..,*ii;;;;;;i:...........,,,,.,,..
..............:*;;i*+zz+zz##zzzz##n+++xzzn#x#M#zzz*nz###*iii#Wn**#+*+*;,.i*ii;;;;i;:....,,.............
...........,,.ii;;;*zzzz++#zzzzz+#nz++*n+zxz++**+z##z##+iiiixWx**###+iiii,:**i;;;i*i;;:.....,,,,,......
..............*;;;izzzzz#*i*##zz+#nM+++i#zMnnx#**i**zz+iiiiixWM**#+*+nxnnzi:++ii++ii:;*i,..............
.............,*;;izzzz##**##+**z+#nWz+***###z#zn#++++****iiinWM**#*#xxxxnnz#*#+*zn+i+z+z+,....,,,,,,,,,
,,,,,,,......ii;;zzzzz#+*+#####z+#n@M+****+*+*iiiiii**iii*iizWM**##xxxxnxxxxnnx#zxnz#nzzn+,,,:,,,,,,,,,
,,,,,,,,,,,,:*i;#nz#**iiiiii+##z##n@@z+****+iiiiii*iiiiiii+*zxM**zxxnnnnnnnxxxnxizn++#MMxM;,,,,,,,,,,,,
,,,,,,::,:,::+i+n#*+###zz##*ii*##+z@WM#+**+ii**i**iiiiiiii+*++M+*nxxnnnzznnnxxxx+#*+*#z+***:,,,,,,,,,,,
,,,,,,,,,::::+iz+#nxxxnnnnnnnz+*#+#WWn++++i**ii**ii*iiii*ii+**+#*xxnznnnzzznnxnxz#*;+#iiiii*i,,,,,,,,,,
,,,,,,,,,,,,,###nxxxnnnnnnnnnxxnn#+M@M##+***i**+*i**iiii*ii+i+#z+xnnz##zzzzzznnxxn#+z*iiiiiii*:,,,,,,,,
::::,,,,,,,,,znxxxxnnnnnnnnnnMxnzn#z@@Wz++*i**+****iiiii*ii+i*++zMnnnz+++#zzzznnnx##ziiiii;;;;i:,:,,,,,
,,,:::::,,,,:nxxxxxnnnznnnnnnxxxxxx#xWx++i;ii******ii*i:*::+i**++znnnnz++++zzzznnnx#x*;iii;;;;;i:,:::::
::::::::;,,,:zxxxxnnnnzznnnnnnxxxxxxnnz+***i*+iii**i*i;:*,,+;*****znnnnz#++#zzzznnnxx*;;;;;;;;;;i:,,:::
,,,,,,,,::,,;zxxxnnnnzzzznnnnnnnnnnxMx#+++++**;:ii*;iiii*;:+;i**#++nnnnnnzzzzzzzznnnxi;;;;ii;i;;;i;::::
,,,::::::;,,*zxxnnnzz#zzzznnnnnnnnnnn#+++#z+++**+**ii**+**i#**#*##*#xnnnnnzzzzzzzznnni;;;;;ii;*;ii*::::
::::::::::::zzxxnnzzz#zzzzznnnnnnnn###znnn#+#+*++*********+#*+z+##+*zxnnnnnzzzzzzzznni;;;;;i*ii*;i*::::
::::::::::;inznnnzzz#+#zzzznnnnnxxnxxMMnn#+#++++#+********#**#z+#+z++zxnnxxnnnzzzzzzn+i;ii;;*+;ii;i;:::
:::::::::::#xznnnzzz++#zzzzznnnnnnnnnxMnz+##++++++****+***#**zn##+z#+##xxxnnnnnnzzzzn#ii**i;;*i;;iii:::
::::::::::izxzzzzzz#+*#zzzzznnzzznnnnnxx##z++#+#++*+++***z+*#xnz++#z+###xxMxxxnnnnzznziizx#*ii*i****:::
:::;::::::#xxz#nzzz+**#zzzzzzzzzzzznnnnx##+++#+z++++++**zz++nxnz+#+n+#Mnnxnnnnxxnnnznn*inxx#**+i+***;::
;;:;;;;;;inxxz+nzzz***#zzzzzzzzzzzznnnnz#zi+###z+++++*+nx++zxnxz##+n+#xMxMxnnnnnxxznnn#+znnx**#i+*#ii::
;;;;;;ii*+xxxn+zzz#***#zzzzzzzzzzzzznnnzzzi+z#z#++++*+nMn+#znxxz##+x#zxMxMxxnzznnnxznnz##xnx#*#*+*#i+;:
:;;;;;;::#xxxn;+zz#***#zzzzzzzzzzzzznnnznz+#z+z+++++znxx+zMWxzxzz##x#nMMMMMMxxxxxxnxznxzzxnnz*#i+++*+;;
;;;;;;i;;nxxxn:#zz+***##zzzzzzzzzzzzznnzxz#z###+#zznnzxnzMx#++nzn#zx#MMWWMMxnnnzzznxnzxzxxnxz*#i++i#**i
;;;;;;ii*xxxx#*zzz+***#zzzzzz#zzzzzzznnzMz#z##*#xxnz#nzxzz++++nzxznMnWWMxnnnnnnzzzzzxnnMxxxxn##+#+i++*i
;;iiiiii+xxxx+zzzz+***#zzzzzz#zzzzzzznnxxn#z#++znz#+nn#zz##+###nxnnMWMxnxxnnnnnzzzzzznznxxxxn#z#z#;;+*i
;;;;;;;;#xxxn#zzzz+**+z#zzzzz#zzzzzznnxxxnz##+#nn++zz#+*#ii**;**xnxWxxxnnnnnnnnzzzzzzzxnxxxxn#zzziiiiii
;;;;;;;;zxxx#zzzzz#**#zzzzzzzzzzzzznnnnnxxz#+#nn##z#*;;:;*:;;:;izxMxnnnnnnnnnnznzzzzzznxxxxxzz#n+;;;;i*
*i;;i;;;nxxn#nzzzzz++#zzzzzzzzzzzznnnnnxxzn##nxz##+i:::::*i;::;inMnnnnnnnnnnnnnzzzzzzznMxxxMzznz;;;;;;;
;i**iiiixxxzznnzzzz#+#zzzzzzzzzzzznnnnnxx##znxn#+*;:::**i#+;::;+MnnnnzzznnnnnnnzzzzzzznxxMxMznxi;;;;;;;
iiii**+#xxxznnnzzzzz##zzzzzzzzzzzznnnnnxz#nxnz#+i;::::*+++*:::ixnnnz#zzznnnnnnnnzzzzznnxMMxMMW+;;;;;;;i
**++#+*ixxxzxnnzzzzz##zzzzzzzzzzzznnnnnxzzMz++*i;;:::::i***::;zxnnz#+zzznnnnnnnnzzzznnnxMMMMWM*iiii*iii
zz#*iiiixMnnxnnnzzzz##zzzzzzzzzzznnnnnxxzxM#+*i;;::::::i#z*:;*xnnn#+#zzznnnnnnnnnnnnnnxxMMMWWz**++**iii
+*iiiiiixMnxxnnnzzzz##zzzzzzzzzzznnnnnxxnMM#+i;;;;;;:;+#;**;;zxnnz++zzznnnnnnnnnnnnnnnxxMMWWx+*+***iiii
*****+iinMnxxnnnnzzzz#zzzzzzznnznnnnnnxxxxM#*;;;;;i*i#+i#i+iixnnnz+#nnnnnnnnnnnnnnnnnxxxMMWW***ii;i***+
###z#*i*nMnMxnnnnzzzz#zzzzzznnnnnnnnnxxxxxW#*i;;;;;;##i;;;+*+xnnnz#nnnnnnnnnnnnnnnnnnxxxM#Wx++*;*++++++
#+***++#nMnMxnnnnnnzz#zzzzzznnnnnnnnxxxxxM@M+i;;;;;;i+*ii*++zxxnnzznnnnnnnnnnnnnnnnnxxxxi*@n#++++++++++
z##zzzzznMxMMxnnnnnzzzzzzzzznnnnnnnxxxxxxW@@Wz*i;;;;ii#znz++nxxnnnnnnnnnnnnnnnnnnnnxxxMi:nMz#######++++
nnzzzznnzxxMMxnnnnnzzzzzzzzznnnnnxxxxxxxM@Wxxxxn#*iiii*+++#+xxxnnnnnnnnnnnnnnnnnnnnxxxxi+Mxz##zz#+++##z
+##+#+*+#nxMMxxnnnnzzzzzzzzznnnnnxxxxxxMWMxnnnznnxn+***++###xxxnnnnnnnnnnnnnnnnnnnxxxMx*MMnnzz#+**##znn
*z#z###++#xMMMxnnnnzzzzzzzzznnnnxxxxxxxMMxnnnzzzzznxxz++####xxxnnnnnnnnnnnnnnnnnnnxxMMxnWxxn#####znnnnz
+nz#z##+##nMMMxxnnnnzzzzzzznnnnnxxxxxxMMxxnnz#zzzznnnxxnzzznWMxnnnnnnnnnnnnnnnnnnxxxMMMWMxxnzzzznnnzzzz
+nz###z#++#MMMMxnnnnzzzzzzznnnnnnxxxxxWMxxnnz#++zznnnnxxMMMWWMxxnnnnxxnnnnnnnnnnxxxMMMWMxxxxnnzxxnnx#+#
+nzz###zz#+zxMMxxnnnnzzzzzznnnnnnxxxxMWMxxxnnnz#zznnnnxxxW@@@MMxnnnxxxnnnnnnnnnxxxMMMMWxxxxz+*+nWMxxn##
#nzz####zzz#xxMMxnnnnzzzzzznnnnnxnxxxMWMxxxnnnnnnnnnnnnxxxMWWMMxxxxxxnnnnnnnnnnxxxMMMMMxxn+*****+Mxxx##
#nzz###zzz##nMxMxxnnnzzzzzznnnnnxnxxxWMxxxxxnnnnnnnnnnnxxxMWWMMxxxxxxnnnnnnnnnxxxMMMMWMMx#+******+Mxxn#
#nzz####zzzzzMxxMxxnnnzzzzznnnnnnnxxMMWMxxxxnnnnnnnnnnnxxxxMWMMxxxxxxnnnnnnnnnxxMMMMWWMMx#+*******zxxxz
#znzz#+#zzzzznMxxMxnnnzzzzznnnnnnnxxxMxMMxxxnnnnnnnnnnnxxxxMWMMxxxxxxnnnnnnnnxxMMMMMWMMMMn#+******#Mxxx
zzxzz###zzzzznxMxxMxnnzzzzznnnnnnnxxxxxxMxxxxnnnnnnnnnxxxxxMWMxxxxxxxnnnnnnnxxMMMMMWMMMMMMxz++****+WxxM
zzxnzzzzzzzzznxMxxMxxnnnzznnnnnnnnxxxxxxxMxxxnnnnnnnnxxxxxxMMMMMxxxxxnnnnnnxxMMMMMWWMMMMMMMMnz#+++#WMxx
nnnxzzzzzzzzznxxMxxMxxnnnnnnnnnnnnnxnnnnnxMnxxnnnnnnxxxxxxxMMMMxxxxxxnnnxxxxxMMMMWWMMMMMMMMMMxxxxMWW@xx
nnnxxnnnzznnnnxxMMxMMxxnnnnnnnnnnnnnnnnnnnxxnxnnnnnxxxxxxxMWMMMxxxxxxxnxxxxxMMMMMWMMMMMMMWMMMMn*#MMxMMx
nnnxxxnnnnzzzznxMMxxMMxxnnnnnnnnnnxnnnnnnxxMxxxnxxxxxxxxMMMWMMMxxxxxxxxxxxMMMMMMWMMMMMMMMWMMMx##zxMxxMx
nnnxxxxnnnnnnnnnxMMxMMMxxnnnnnnnnnnnxnnnnxxxMxxxxxxxxMMMMMMWMMMxxxxxxxxxxxMMMMMWWMMMMMMWWMMMMMxxxxxxxxM
nnnxxxnnz##zznnnnxMMxMMxxxxxxxnnnxxxxnnxxxxxMxMxxMMMMMMMMMWWMMxxxxxxxxxxxMMMMMMWMMMMMMMMWWWMMMMxxxxxxxx
nnnnnnnzz#znnnnnnnxWxxMMxxxnxxxxxxxxxxxxxxxMMMMMMMMMMMMMMMWMMMxxxxxxxxxxMMMMMMWWMMMMMMMWWWMMWWMMxxxxxxx
nnnxxnnnz#znnnnnnnxMMxMMMxxnxxxMMMMMxxxMMMMMMMMMMMMMMMMMMWWMMMxxxxxxxxxMMMMMMWWWWWWWWWWWWWWMWWMMMMxxxxx
nnxxnnnnnnnxxxxxxnxMMxMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMxxxxxxxxMMMMMMWWWWWWWWWWWMMMWWWWMMWMMxxxx
nxxnnnnnxxMMxxnxxMMMMMxMMMMMMMMMMMMMMWWMMMMMWMWMMMMMMMxMWWMMMMxxxxxxxMMMMMMMMWWWWMMMMMWMMMMWWWMWWWWMMxx
xxxnnnnxMMnzzznnnxxMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMxxMWWWMMMMxxxxxxMMMMMMMMMMMMMMMMWWMMMMMMWWWWWWWWWMM
MMxxxxxMxnzzznnnnxxMMMMxMMMMMMMMMMMMMMMMMMMWWWMMMxxxxMWWWWMMMMxxxxMMMMMMMWMMMxMxMMMMxMWWMMMMMWWWWWWWWWn
MMxxxMMxxnnxnnxxxxxxMMWMMMMMMMMMMMMMMMMMMMMznxxMMMMWWWMWWWMMMMxxMMMMMMMMWMxMxxxxMMxMxxxxMWWMMMMWWWWWWMz
MxxxxMxxxxxxxxxxxxxxMMMMMMMMMMMMMMMMMMMMMx##zxxMWMMMMMMWWWMMMMMMMMMMWMWWWxMMxxMxMMMMxxxMWWWMMWMMMWWWWxn
WMxxMxxMxxxxxxxxxxxxxMMMWMMMMMMMMMMMMMMWWnnnnMMMMMMMWWWWWMWMMMMMMMWWMWMMMxMWMMMMWMxnnxMMMWWWMWWWMMWWWxn
xMxMMxMxxxxxxxMMMMxxMMMMWWMMMMMMMMMMMMWMMMxxxxxxxMWMMMWWMMWMMMMMMWWWWMxxMMMMMMMxWxnxMxxMWWMMWWWWWMMMWMx
#ii+xMxxMMMWWWWWWWMMMWWWW@@WMMMMMMMMWWMMMMMxxxxxxxxMMWWMMWMWWMMWWWWWWxxxMMMMxxnMxnxMMxMWWWMWWWWWMWMMMWM