:::,,,,,,....,,,,,:::,,,,,,,::::::;;;;;;;;;;;;;iiiiiiiiiiiiiiiiiiiii;;;;;;;;;::::::::::::,,,,,,,::,:::::::::::::;;;
::,,,,,.......,,,,:::,,,,,,,::::::::::::;;;;;;;iiiiiiiiiiiii;;;;;;ii;;;;;;;;::::::::::,,,,,,,,,,,,,,,::::::::::::;;
::,,,.,........,,,,:,,,,,,,,::::::::::::;;;;;;;iiiiiiiiiiiiii;i;;;i;;;;;;;;;:::::::::,,,,,,,,,,,,,,,,,:::::::::::;;
:,,,...,.......,,,,,,,:,,,,:::::::::::::;;;;;;;iiiiiiiiiiiiiiii;;;i;;;;;;;;;:::::::::,,,,,,,:::,,,,,,,::::::::::;;;
,,.............,,,,,,,,:,,,,::::::::::;;;;;;;;iiiiiiiiiiiiiiiiiiiii;;;;;;;;;::::::::,,,,,,,:::::,,,,,,,::::::::::;;
,,..............,,,,,,,,,,,::::::::::::;;;;;;;iiiii*****iiiiiiiiiii;;;;;;;;;::::::,,,,,,,,,,:::::,,,,,::::::::::;;;
,,...............,,,,,,,:,,:::::::::::;;;;;;;;iiii*******iiiiiiiiiii;;;;;;;;;::::::::,,,,,,:::::::,:,,:::::::::;:;;
,,...............,,,,,,,::::::::::::;;;;;;;;;;iiii********iiiiiiiiiii;;;;;;;;::::::::,,,,,,,::::::::::::::::::::::;
,,................,,,,,,:::::::::::;;;;;;;;;;;iiii**********iiiiiiiiii;;;;;;;:::::::::,,,,,,:,,:::::::::::::::::::;
,,...``...........,,,,,,,,,:::::;;;;;;;;;;;;;;iiii***********iiiiiiiii;;;;;;;:::::::::::,,:::::::::::::::::::::::;;
,,..````............,,,,,,,::::;;;;;;;;;;;;;;;iiii************iiiiiiiiii;;;;;:::::::::,,,:,,::::::::::::::::::::::;
,,.```````.`.........,,,,,,:::::;;;;;;;;;;;;;;iiii*************iiiiiiiiii;;;;:::::::::::,,,,::::::::::::::::::::::;
,,.``````````.........,,,,::::::;;;;;;;;;;;;;iiii***************iiiiiiii;;;;;;::::::::::,,,::::::::::::::::::::::;;
,..```````````........,,,,,::::::;;;;;;;;;;;;iiii***************iiiiiiiii;;;;;;:;::::::::::::::::::::::::::::::::;;
...```    `````........,,,,::::::::;;;;;;;;;;iiii******************ii*iii;;;;;;;;;:::::::::::::::::::::::;:::::::;;
..``       `````.`.....,,,,::::::::;;;;;;;;;iiiii******************iiiiii;i;;;;;;::::::::::::::::::::::::::::;:::;;
..``       ````````.....,,,,::::::::;;;;;;;;iiii****++*+####*;;;i***i*iiiii;;;;;;;::::::::::::::::::::::;;;;;;;::;;
..``       ` ```````....,,,,:::::::::;;;;;;;iiii***;;:....```    ``.:iiiiiiii;;;;;;:::::::::::::::::::::::;::;;;;;;
..``   `````````````....,,,,:::::::::;;;;;;;*i*##+z*:.  ` `````` ``.:i*:::;ii;;;;;;;::::::::::::::::::::::;::;;;;;;
..``    `````````````....,,,::::::::;;;;;;;i+*#+nnz#i,,`` ``,.`.,.,;*+i...,::;;;;;;;::::::;;;::::::::::::::::::;;;;
,.``     `````````````....,,,::::::;;;;;;;ii++##++*i,.,,.``.,;i;;ii*+*;,.,....,;;;;;:::::;;;;;:::::::::::::::::;:;;
,,```   ``````    ``````..,,,:::::;;;;;;;ii*+xxz*;.,,,.,::;::i*++*+##*;,,.,``  .;;;;;::::;;;;;:::::::;:::::::::;:;;
...`     ``         ````..,,,:::::;;;;;ii;,;++:i*i;..,:::;**+*++#z####i:.,....` `;;;;;::::;;;;::::::::::::::::::;;;
..``    ````         ```...,,:::::;;;i;i;;;+;*i;i;::,.:;;*+##zzznxxxxn#i:,,..,.` `:;;;;::;;;:::::::::::::::::::;;;;
..`    ``            ```...,,,:::::;;*+:.,:;+#++ii*;ii:;**##znMxxxMMWMn+;:,,.`.`  `:;;;;;;;;:::::::::::::::::::;;;;
..`                   ```..,,::::::;i#*i::i*+*#z#++i;i*;*+zzznxMMWMWWWxz*;:,.```   `:;;;;;;;:::::::::::::::::::;;;;
..`                   ```...,,::::;iz*.:i+zznz##nz+*****;+#nnxMMWWWWWWWxn*;,.``.`   .;;;;;;;::::::::::::::::::;;;;;
..`                   ```...,,:::i+z*;:;#znnnzzz##++**+++*znxMMWWWWWWWWWxn*i.````,.` ,;;;;;;::::::::::::::::::;;;;;
..`                   ```...,,:::ini:,;*#nz######*+##z+#z#zxMMWWWW@@WWWWWx#i:.`````` `:;;;;;;;;::::::::::::;::;;;;;
..`                    ``...,:::ini:,,*zMnzz#+#+#+*#zz##xnzxxWWW@@@@@@WWWMx+;,``.```` .;;;;;;;;:::::::::::::;:;;;;;
..`                     ``..,:,iz;::`;znnz#++++*+#z+nxnnnxxnMWW@@@@@@@WWWWWn*.....`   `:;;;;;;;;:::::::::::::;;;;;;
..`                    ```..,::xi:.`,znzzz##***++znnzxMMMMMMMWW@@@@@WWWWWWWMz;....`   `.;i;;;;;;;:::::::::::;;;;;;;
..``                    ```.:ixz;,.`+xxz#z#z#+++##nxnnMMWWWWWWW@@@@@@WWW@WWMM#,,,,`  .`.,;;;;;;;;;:::::::;;;;;;;;;;
..`                     ```.:xx*:,`,nMxzzzz#zzz#zzzxMxMMWWWWWW@@@@@@@@@@@WWWMxi...`  ` ` ,;;;;;;;;;::::::;;;;;;;;;;
..``                    ``..:W#*:` ixMxzz#znnzznnnxxMWMWWWWWW@@@@@@@@@@@@@WWWWn:````     `;;;;;;;;;;;;;;;;;;;;;;;;;
..``                    ```,:@z*, `+MMxn##znxnnnxxxMMMWWW@WW@@@@@@@@@##@@@WWWWMi,`..```   ,ii;;;;;;;;;:;;;;;;;;;;;i
..``                   ````.+@nz. .z@WMz##znxxxMMxMMWWWWWW@@@W@@@@@@####@@@WWWW#:,``````  `;i;;;;;;;;;;;;;;;;;;;;;i
..`                    ```..n@W#` ,M#@Mz##znxxMMMMWWWWWWWW@@@W@@@@@######@@@WWWx*:,.```.   ,:ii;;;;;;;;;;;;;;;;;;;i
..`                   `````.x@Wz` :@##x###znxMMMMWWWWWWWWWWW@WW@@@#######@@@WWWWzi,.`,``    .;i;;;;;;;;;;;;;;;;;;;i
..`                  ``````,MM@x,`+##@n##znxxMMWWWWWWWWWWWWWWWW@@########@@@WWWWn*;:.,,`    .iiii;;;;;;;;;;;;;;;;;i
..                 `   ````.#zWxi;n##Wn##znxxMMMWWWWWWWWWWWWW@@@#########@@@@WWWM+,.,,,.    ,iiiiii;;;;;;;;;;;;;;;i
..                     ```,:zMx#zW@##Mz##znxxMMWWWWWWWWWWWW@WW@@@########@@@@WWWWz:`.,..    ;**iiiiiii;;;;;;;;;;;;i
..`                   ```..innn.x####xz##znxMMMWWWWWWWWWWWWWW@@@@#######@@@#@WWWWn;,```.`   ;***iiiiiiiii;i;;;;;;;i
..                  `````.:+MMx:M###@xz##znxxMWWWWWWWWWWWWW@@W@@@@######@@@@@WWWWx:..` `    ;*****iiiiiii;i;;;;;;;i
..                ` ``````izxMniz###Wnn##znxxMWWWWWWWWWW@@@@@@@@@@@#####@@@@@WWWWM;```  `   :*******iiiiiii;;i;i;;i
``                ```````.#xWx*;####Mzn+#znxxMWWWWWWWW@@@@@@@@W@@@@@###@@@@@@WWWWM*.````    :*+*****iiiiiii;;;i;;ii
``              `````````.z#nx+nW##@Mzn+##nxxMWWWWWWWWWWWWWW@WWWW@@@@@#@@@W@@WWWWM#..```    .*+++****iiiiiii;;;iiii
``             ``````````.#z*+n@###@xnz+##nnxMMWWWWWWWWWWWWWWWWWWWWWWW@WWWWWWWWWWMz,,``     ,+++++*****iiiiii;;iiii
``            `````````..,#zni#W###@xz#+##znxxMWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWMWWMMz;:`      i++++++****iiiiiiiiiiii
`.          ``````...``..:*nz:ix###@Mz*++#znnxxxMWMMWWWWWWWWWWWWWWWWWWWWWWWWMWWMMMn;:`     .+#++++++******iiiiiiiii
``          `````````....,*+**#M###WW#**+#zznnxxMMMMMWWWWWWWWWWWMWWWWWWWWWWWWWWMMMz;,.`    :##+++++++******iiiiiiii
``          `````.`.......*;;#nW##@@W+**+##zznxxMMMMMWWWWWWWWWWWWWWWWWWWWWWWWWWMMx#:..     ;##+++++++++*****iiiiiii
`.        `` ````.........+##xMW###@M+**+##zznnxxxMMMMMMWWWWWWWWWWWWWWWWWWWWWMMMxxz:.,`    i##+++++++++++****iiiiii
``           ````........,*+xMM@##@Wx****###nnnxxMMMMMMMMWWWWWWWWWWWWWWWWWWWMMMxxxx;`.`    i###++++++++++******iiii
..        ``````........,,;*xxx##@@Wx*i**+#znxxxxMMMMMMMMWWWWMWWWWWWWWWWWWMMMMxxMMx+..`    *##z#++++++++++******iii
..``     ``````.......,,,,,inM#W#@@Wz*i**##znxxxMMWWMMMMMWWWWWWWWWWWWWWWWWMMxxxxxMnz,``   `+#MWMz++++++++++******ii
..`      `````.......,,,,,+n*xzW#@@Mn+***+#zznMMMMWWWMMWMMWWWWWWWWWWWWWWWMMMxxxxxxxx;..   ,ixW+*n#+++++++++++******
..``     ````.......,,,,,:@M*xn@#@WMnzz**+#zznxMMMMMWMMMMMWWWWWWMMMWWWWMxxMxxxMMxxxx*,`  `;zM; .z#++++++++++++*****
..``   `````.......,,,,,:ix+#nz##@WWnWn**+#zznxxxMMMMxxxxMMMMMMxxMMMMMxnnnnxMMMMxxxxz,`  :+#*:`;z#++++++++++++*****
..``   ````.......,,,,,::i#:zzn##@WWM@n*i**+#zznnxxxxxnxxnxxxxxnnzz##*ii++#znMxxxMxxz,`  ++i+zi*xz+++++++++++++****
..``  ````......,,,,,,:::;#;#nn##W@@Mn*:.`,,;i+zznnxxxnnnnnnnz#*:::,::;,,.:,+zxxxMxxn:  .#*+zxz#M#+++++++++++******
..``  ````....,,,,,,,,:::;zi*nx#@M##z,.` ```.`.:i*#nxxnnnnn#*,`   ` .`..`:;:;*zxxxxxn;  ,+#znxnnM#+++++++++++******
..``````.....,,,,,,,::::;;+*i*x#@W@@z;.,,;*+*;,.`,;+znnnnn#*,  .:;ii;;;+*#z+i*#znxxxn;` ,*#+zMnnn#++++++++++*******
..``````....,,,,,::::::;;;*+i+x@@MMxi;;ii*#znnz#*:;;+zznn#+i.`*#+;:::::;;+#***#zxMxxni` ;.`.*xzxz#+++++++**********
..````.....,,,,,::::::;;;ii#*z#WWxz#+#;:;:,:::;*++ii*#znz#*,`i*:,,``  `.,`:+*+#nxMxnn*``z`  :xzx###+++++++*+******+
...```....,,,,,:::::;;;;iii+*#zWWx*;+z:.`   . ,::;*i+#znnn+,,;,:;i .  :,``.;+#nxMMxnn#i*M,  :n#z###+++++++********+
.,.......,,,,,:::::;;;iiiii*zz#M@ni:,;```:    i#i::;+#nMWWz:.:;:#z`   zn#z+#znnxMMxnnz##M*:`izz#####++++++*********
,,......,,,,,:::::;;;iiiii**z#+n@n*:,.`ii+:  `zn#+ii*#nWWWn:,zi+#n*.`ixMWxxnnxMMMMxnnz##x+*;z#x#####+++++++********
,,.....,,,,,,::::;;;iiiii***z++@#M+;:.;xz*#;;+nz+#zzi+nWWWM*;nxnznxxnMMMxxMMMMMWMMxnnz##x+*znzx#####++++++*********
,,....,,,,,,::::;;;;iiii****##i@#@z;;;*xz+*#zzzz##z#*+nMW@Wn+#nnzznnznnnxMMMWWWWWMxnnz++nMxz#Mnz#####+++++*********
,,,...,,,,::::::;;;iiii*****+n;@#@z*i*+n##++#####z#+++nMWWWMxnxnnnnnnnnxxMMW@WWWWMxxzz++xMMnxWnz#####++++**********
,,,..,,,,::::::;;;;iiii****++xi@##M#*++#z+#zzznnz##+*+nM@@WMWWMMxxxxxMMMWWWW@@WWWMxnz#++MMMMWMzz#####++++**********
,,,,.,,,,:::::;;;;;iii****+++M*@##Wn++++##nnxxxnnz#+*+xM@WWWWWWWMMMMMMWWWWW@@WWWMMxnz#++xMMWWxzz####+++++**********
,,,,.,,,::::::;;;iiii*****+++@#@#@@n#*+++#znxnnzzz#**#xM@@MMMWW@@WMMMMMWWW@@@WWWMxnnz+**xxMWWnzz####++++++*********
,,,,,,,,:::::;;;;iiii****+++#@#@@@Wxz*++##znnnnnz#+**#xW@WMMMWWW#@WWMWWWWWWWWWWMMxnz#+**nxMWxzzz####+++++**********
,,,,,,,:::::;;;;iiii****++++z#W@@@MMz**+#znnnnnnz#+*+#xW@WMMMMWW@@#@WWWWWWWWWMMMxnnz#**i*znnzzzz####+++++**********
::,,,,,::::;;;;;iii****++++##@WW@@MMz**+#znnnnnzz++*#zMWWWWMMMMWW@@@@@WWWMMMMMMxnnz#+***:,*znzzz####+++++*******i**
::,,,,:::::;;;;iii****++++###nnxWWxnz**+#zzznnnzz++#xnMW@WMMxMMMWW@@@@@WWWMMMxxnnz#+*ii#xnnnnzzz###+++++********ii*
::,,,,:::::;;;iiii***+++++###znxWWnzz*i*+zznznnnz#*nMnMWWWMxxxznMWWWW@WWWWMMMxnnz##**iizxxnnzzzz###++++*******iiii*
::::,,::::;;;;iii*****+++####zzxWWxzz#+*+znnnxnnz#*WxnMWW@WMxMx+nMWWWWWWWMMMxxnz##+iiiinxnnnzzzz##++++********iiiii
:::::::::;;;;iiii***+++++####zzxWWMz#xz##zznxxnnz+z@xMWWW@WMMMM#*zxMMWWWWMMMxxnz#+*iiiinxnnnzzz###++++******iiiiiii
:::::::::;;;;iii*****++++###zznnMMW#zMxz##znnxnz+*WWnM@WWWWMMWWz:*zxMMMMMMMMxnzz##*iii*xnnnzzzz###+++******iiiiiiii
:::::::::;;;;iii*****+++####zznnMMWnzMMz##znnnz#*+xnzxWWMMMxxxx+`i+zxxMMMMxxxnzzz+*ii;+xnnnzzzz###+++******iiiiiiii
::::::::::;;;iii****++++####zznMWMWMxMWz##znnn#+##*##nxxxxz+:,:i.**+zxxMMMxxnnzz#+**i;zxnnnzzz###+++*****iiiiiiiiii
::::,::::;;;;iii****++++###zzxWW#WWWxxWz#zznnz++zn+:*+###*,  `+xn#++#znxxxnxnnzz#+*i;;nnnnnzzz###+++***iiiiiiiii;;i
::::,,:::;;;iiii****++++###nWWW@#WWWMxWn##zzz#+znnz#+i;;:.  ,#MWWx#++#znxxxnnzz##+*i;*xnnnzzz####+++***iiiiiii;;;;;
::::,,:::;;;;iii****++++#zM@WM@#WWW@WMWn##zzz#+nnnz#++:.` .izMMMWWx+*+#znnxxnzzz++*i:znnnnzzz###+++***iiiiiii;;;;;;
::::,::::;;;iiii*****++#x@@MzW@nn@W@WMWn##zz##znzzz#++#*;;#nxMMMMMMn++++znnnnnz#+**;ixnnnnzz####++****iiiii;;;;;;;;
:::::::::;;;iiii****++nW#@M#z#n;#WWWWMWn######zz##########zxxxxxMxxxn**+##znzzz+++*;;+#znzzz###++****iiii;;;;;;;::;
:::::::::;;iiii****+zW@@Wx#:xM;.;MWWWMWn+#######+#+###zzn#zxxMMxxxnnn#**+#znzz##+*i;;;:i+#z###+++***iiii;;;;;;:::::
:::::::::;;iii****+x@@Wx#*,:W#..:nWW@MMz#####++++++#zzznxnnxMMMxxnz##z*++#zzzz#+**i;;;;:;;*+#+++****iii;;;;;;::::::
::::::::;;;iii***zW#Wxz;,` iW;.`,*xWWMMn##z#+++++###znMMMMMMWMMxxn#**++*+##zz#++*i;;:;;;;::;;i+****iiii;;;;::::::::
::::::::;;iii**+M#@M+;,`   #n,``.:zWWMxn+#zz#+i;;*+*+#xMWWMxz#++++i.,;+*##z###+**;:;;;:;;:::,,;***iiii;;;;;::::::::
::::::::;;iii*z@#@x*`     `n*....,*xWWnn#+zz#+;i*i:,:;i*##*;:,.`````,;i*#zz###+*i;::;;;;;:::,:::iiiii;;;;::::::::::
::::::::;;ii#M##@n;`      .#,...,,:+MWnz#+zzz+*zz#+i;,,,..``..:;i#z+iii+#zz##+**;ii;;:;:::::,,:::;iii;;;:::::::,,,:
::::::::;i+M###W#;`       `:.`.,,,:inWx##+#zz##zz#++**#+**+#zzzzznnxn*i##z##+**;;*i;;;;::::,:,,:,:;;;;;;:::::,,,,,:
::::::;;ix@##@x+:.        `,,..,,,,;+WM#+*+zz##zz#+++*+zznnnnzzzzznnx#;++##+*i;;;:;::::;:,:::,,:,::;;;;;::::,,,,,,:
:::::;;#W##@xn*.          ..``...,,:izWzi**+###zz#++**+++########znnn#i***+**i;+i,i;:,:,,,::,,:,,:::;::;;;::,,,,,,:
:::::*M###Wn+;.           ``.``...,,:*nniii*++####++*iii;;;;;;;i+##zz#*iiiii;:;W:,i;:,..,,,,,.,,,,::;:;iii;;:,,,,,:
:::in@###Wx*,``           ``..,.,,,::i*#+;;i*+++###+++i;::,,:;i*#+##zz#*i;;::,zW:,i;,,::,::,,.,,,,:::;i***ii;::,,,:
;+x@####WM#:`              .``...:,,,;;;+;;;i*+++#######zz##znnnnnnnnz#+i;:,,i@M,,:;::;:,:,,,,,,,.:::;i******ii:,,:
x@####@Wxz*.              `..`,.,,,,,:::;i::;;i**+#zzzznnxMWWWWWWWMMxz#+i:..,x@n.,;i;::,,:,,.,.,,.,::;******+***i;:
####@@@M#*,              ```..,.,:,,,,,:::::,:;i**+#zzznMWWWWWWWWWMxxn+i:` .+@@#`,;i::,,,,:,,,,....:i;i****++**+**i
##@WWWMn;`            ``  ```....,,:,.,,:::,..,;ii*+##zxMMMMMWWWMMMxn#*,``.;W@@;``:;:,,::,:,,,,..,,:iiiii******++*+
#@WWMxn+`            ``   ```....,,,..,,::,.`.`.:iii*++znnnnxxMxxxnnz*:``.:x@#@.  ,;;:::,,,,::,,.,,:iii*******+#+++
@WMxz#;.`        `` ```  ````.,....,,,,:,,.. *: `;i;***+#####znnzz#+i:...:z@@#x   .:;;:::,,::::,.,:;ii*i**i**++++++
Mxx#i:,``        .```.` ````......,,:,,..,,. :M+`.;;;i******++##+**;,.`.,z@@##+   ,,:,,,:,,,,::,.,:;iiiii***++**#++
xz*::.`          ````````..```....,,,.....,,``nWn:.,,::;;;;ii;;;::,..`.,nW@##@,   .:,,::,,,:::;;,`:;;i*;;***#++*+##
#;:..          ` `` ````......``.`....,...,,` ;W@W+,`.....,,,..``````.:nW@###M`   `,.,,,,,,::;ii:.:;iii;;i**##++++#
i:,`                ` ``.```........,,,,,.... `n@@@x*.` `   `      `.;xW@####z    `,,,,.,,:;;;ii;,:;ii;:;***+#++++#
:.`              ```    `` ``......,,,..,...`  ;W@##@x*.           `;M@#####@#    .,,.,.,:;;;i;;;:,:i*i::i*+++++++#
,.             ` `     .````..,..,,,,,...,..`  `nW@###@M*.         :W#######@#    .:,..,:;;;i;;;;:,;ii;:;ii**+++++#
,.               ```   `..`..,,....,,..`,,..`   ;W@@####@n,        .x#######@+   `.;:,.:::;i;;;;i,,;;i;::iiii++++++
.. `              ``   .````,.,,..,,,,.,.,````  `xW@#####@i     `,;.`n#####@#*   .:;:,,;:;iiii;;:`.iii;,,;ii***++++
,.         `    ```` ``,..``.....``..`.,...`.`  `*W@@####W.`   ```:. .M####@#i `.,:;;,:::i*i;;;:, ,iii:,,;;i***++##
,,`  `          ```` `.,..`...,......`,...`...   ,M@@@####   `;;`:.   :@##@@#; `,,:;:,:;:;i;;;i:``;iii;::ii***+#+#+
,,.` `  ` `     `...``....`.`.,.,..,.`.`.,`````   zW@@##@:   .;, ```   n##@@@: ,:::i::::;;;;ii;,`.;;*i;::iii***+*++
,,..`   ``  `  `...` .,.`````....,..`.``...`.``   iW@@##x` `  .  `,`   i#@W#@; ,::;i;::;;::;i;:` :;;ii:,,;ii**i*+++
,,.````````    ```.``..,,`.``...,,.``..`.....`    .M@@@@i ,+` ..`,;`  `:WWW#@i :;;:i;::;;;:;;;;..:;;ii:.,:;;***+#++
,,.``````        ````.,,,...`...,,.```.......``    #@@@W.`#W#` ` ..   `:xW@#@i`:;;:;;,:;;;::;;;i;::;;;:`.:iii**++++
::,.``` `. ``   ``.``.,,,........,`.```..````.`    :W@@# ;MWWi  `,.`  ,*xW@#@i`;:;;i;,,;;;;;i;iii;::;;,.,;*ii***+#+
,,,.`.. `` ```   ``` .,,:,,...,......```.``````    `x@W,`zWWWM, .::`  :#xW@#Wi`;;;i;;:::i;;iiiiiiii::;:.,;i;;i****+
,,,,.`.``.`.``   `.```.,,,,,,,,.`..`. `````   ``    iWz .MWWWWn `.`   :#xW@#Wi`::;i;i;::;i;iii;ii*ii:::..:i;;i***+*
,,,,`.. `.``.``` `.``...,,,,:,,``.,.`.````..``  `   .x:`+WWWWWW``:. ` ,zMW##Wi`::;::i;:;;;iiiii;i*iii::..:;;:i*i*++
::,,...````...`.` .....,..,,::,...`.`...``..`` ``    :`*MWWWWW+``;. ` .zMW##M;`::;:;;:,;;;;iiii::ii;ii:..:;;;;i***+
::,,.``...,.,,.```.``.,,,..,::,..``...`..``..  ````.`.;nMWWWWz, .i,,;` *M@##x;`::::;:;::;;;;;;i;;i;;i*i,`::;;:***+*
;,,,`..,,,,,:;:.` ```.,:,,.`.,,,..``...`.``.`.....,.,,.#M@@WM:` ,i;:+* ,n###n, ,::;;;;::;:;:i;i;i;;ii;;:`,:::;i**i*
;:,,.,..,,:::;;,..```.,::,,,.``,,.``...```````..,,,:,. ;MWWW*.  `:.:*:``*W##z. ,::;;;:::;;;::ii;i;iii;:: `,::;i***i
:::,..,,,,;i;;i;,..``.,::,:....,..```...````` .,::::,,`.xWW#,`   :.  ,i`,n#@+. ,::;;;::::;i;:,:**i;ii;;,  .,::;ii*i
;:::,.,,,:iiiii;:,.``.,:::,...,,..````..````...:::;;::` #Wz:``` `#`..;#:+iM@z. ,::;;;;:::;i;;i:;ii**ii;.``,.,:;;iii
;;:;:,,,::;i***ii:....,,:,,..,.,..`` `.,.``..``,:;;;::. :x.   ```i,,:;*:z++Wx. ,::;ii:::;;i*iii::;i*ii;.`.:.,::i+i;
i;:;,.,,::i*i*+**;,``,,,:,,,,:,...`.```.....``.,:;;;:;, `:,;. ` .;..`,i:#Mx++` ,,:;ii;:;;i;;iii*;:iii;;.`.::,,:i*i;
i;:;:.,,,:;*i*++*i:,.,::,:,::,,.......`..,.....,,;i:;:,`  :i,   .:.:` .`iMMi`  ,::i;i;:::;;;i;;*i;;i;;:.`.::,::;i;:
i;:;:..,.,;**+++*i;:,,::::,;:,,,...``...,...,,,.,:;;;;:`  ``` ` .,:*, ::;Mx.   .,:;::i;:::;;i;:;::;;;;,...::,,:;;;:
ii;;;,.,..,ii*+***i;::,:::;:::,,.....,,,,,:,.,,,,,:i;;:,   `   `,i;zi`;*;Mn`   .,;;;;;;::;;;;;::::;;;:....::,,:;i;,
;i;;;:.....:;*+**+i:;::::::::::,,..,,,::::,:..,,,.:;;;:,`  `    `.`*; ;,:n#    .,::;;::,:;;i;;i;:;;:;,..``,,...,;;.
;i;;i;.....,;**+**i;;:;,::;::;:::.,::;;;::::,..,..:::;:;.  .` `  .``.  ..++    ..,,;;;:::::;;ii;;;;:;,..` .:...,;:`
;iiiii,,...::****iii;:;,::i;:;:,:::;;;;;::,,.,.,,,,::;:::`    .` ,i ;i`.,:;    `.,:;;;;::::;iiii;:;::...`  ,.`,,:,`
i;i;ii:,....,;*+**i;;:;:,:i;ii;:;;;;;:;:;:...,..,,,:::::,.    `  i;;*;.`;,, `  .,,:;;::,::;;;i*i;::::`.`   ,` ..,.`
ii;;ii;..,.`,;****i;i;;::::;;i;;:;;:;;;;::,.,,.``..,,::::.       .,:,.` .``    `.,:;;:::::;;iii:;;;::`.    ,.`.,..`
i*i;;;;,.,,,.:i***i;;;;,.,,:;;;;:;:;;::::::.......,,::;:,,       .. ``          `,:;;:,,,,;;ii;;:;,:..,`   .. .,.``
i*i;:;i,``,,.:;ii*i;;;;:.,.,::;:::;::::::,,,`````..,,:,:,.`       `  .`          .:::;:,,,::;i;;::::`..    .. `,.` 
;**;:;;,```..:iii**;;:;;:.,,,:;;;:::::,::,...```....,,,,...      `.` .  ``       .,,:::,,,:,:;::::,, ,`    .. `.`  
:;ii;:;:```..:;;iii;;::;:,.,.,;::,,,:,,,:,`.,.``.```..,,.,.       `` `  ``       .`,,:,.,.,.::::::,. .     .. `.`  
;;i;:;::`  ..,:;;;i;i::;i;`...,;:::,:,,,,,,....  ```..,,...`      `             `.`,,:.....,:::,,,,` `     `` ```  
,:;:,::,.` `.,,::;;;;::;;i,`..,::::,,,,,,...``.`  ...`...`.        `            `..,::.`....,,,:,.,```     .. `.`  
,::;;;;,.` ``,:::::::::::i;` `..,:,.....,.``````  ``.`..```       `  ```          .,,.``....,..,,,. `      ``  `   
.,.,:;;;.   `.,,,,::;:::::;, ``.`.`....,,.`.``    ` ```.`..`                      `.,.``.``.,``.,`  `      ` ``    
,,..,:::,   `..,:::;;:,::;;:. ````,.``.,..``` ` `   `````````         `          ``..` .```,.`..``        ``````  `
:,,.,,,;:.```..,,:;:::::,:;;:.`.`..,,,,.,,.`..```..``..``....`        `          `..,..``.``,`....  `     ......` .