iiiiiiiiiiiiiiii;i;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;:;;;;;;;i*#nnz#i,`````````````````````````...............
+++++++++***********iiiiiiiiiiiiiiiiiiiiii;;;iiiiiii;;;;;;iii;;i;;;;;;:::;:::;;;iiii*+znnz#i,``````````````````````````..............
+++#######++++++++***************i*****iiiiiii******iiii*i**iiii;;:;::,,,,:::;i;i***+#znnn#i,````````````````````````````............
#############+#+++++++***********iii******ii******************i;::::::,,,,::::;;i*++##znnnzi,``````````````````````````..............
################+++++++++****************************+++****ii;;;;;;;i;;ii;;;ii;ii+*+##znnzi,``````````````````````````..............
#######################++++++++*****************+++++++++*i;:;;;;i*+##++***i*###+****##zzz#i,```````````````````````````.............
#############zzz############+#+++++++++++++++++++######+i;iii;i*++#+++***z#+#nn##++++*#zzzzi,```````````````````````````.`...........
############zzz########z#######################zzzzzz#+ii**iii*++##++*iiii+#nnnn#z++*+zzzz#i,````````````````````````````............
+++++++#################z#######zzzzzzzzzzzzzznnnnnnz#****ii++#+#####*#zz#znxxnzzz+++#zz#zn*,````````````````````````````............
+*****++++++++++################zzzzzzzzzzzzzznnnnzz#+++**+#zzznnnnnnznnxnnxxz#zn####nnznnxn;````````````````````````````............
******+++++++++++###############zzzzzzz##zzzzzzzzzz##z#####znnnzzzzz#znxnzzznz######++#nnnnxz,```````````````````````````............
******++++++++++++##############*;,:*#z###zzzzzzzzz#zz#z###zzzzzzzzz#zzz#z#nxxnz#++#znnxxnnnn*`````````````````````````````.`........
******++++++++++###############*.    :+###zzzzzzzz##zz#zz###zzzzzzzzz####znxMMn##+#nxnnnnnnnnz,``````````````````````````````........
iiiiiiii*********++++++++++++++;`    `*####zzzzznz#zznnz#++#####zzz+++#znnMMMMxnz#+znnnzzznnnz*`````````````````````````````.........
:::::::;;;;;;;;;iiiiiiiiiii****;`    .i*++++#zzzz#nnxnz####+#####+**#zxMMMMMMMxzzzz+###znnnnnz#,````````````````````````````.........
,,,,,,,,,,::::::::::;;;;;;;;;;;;:.``.;iiiii*+###+#xnnnzzzzz##z#++*+zxxMMMMMMxn#+znxnz#####znnnni````````````````````````.`...........
........,,,,,,,,,,,::::::::::::::::::;;;;;;i*+#++nnnnzznn#++*ii*+#nxxMMMMMx#+*ii*zxMxnnnnxxxnnz#.```````````````````````...`.........
..........,,,,,,,,,,,,,:::::::::::::::::::;;i*++###nnnzz#+***+#nnxMMWWWWMz*;;;;;;*nxxMMMMMxxxxnz:```````````````````````.............
...........,,,,,,,,,,,,,::::::::::::::::::;;i*++#++znnxn#++#zxxxxMWWWWWMz;::::,,:;+xMMMMMMWMMxxn*.`````````````.................,,..,
```.........,,,,,,,,,,,,,,:::::::::::::::::;i*++#n+zxxn##znxxxxMMMMWWMxzi,:,,,.,,:*#xMMMMMMMWMMnz,............,,,,,,,,,,,,:::::::::::
````.........,,,,,,,,,,,,::::::::::::::::::;i*++zxnnnzznxxxxxxMMWWWWMn#i:,,,,,,,::i+nxxMMMMMMMMxz;.,,::::::::;;;;;;;;;;;;i****i***iii
`````.........,,,,,,,,,,,,:::::::::::::::::;i*++#zz#zzxxxxxxMMWWWWMxz*:,..,,,,,:;;;*znxxxxMMMMMMx*,:;i***+++++++##+###+++##zzzzzzzzzz
```````........,,,,,,,,,,,:::::::::::::::::;i*+*+#+#zxxnnnxxMMMMMxz+i::,.,,::::;i;i*#nxxnnnnxxxxxz:;*+##zzzzzzzzzzzzzzzzzzzznnnxxxnnn
````````.......,,,,,,,,,,,:::::::::::::::::;i***i+*#nxzznxxxxxxxx#*i;;::,:;:;;;iiii*#nxxxxxMxxnnnn;;*+#zznnnnnnnnnnnnnnnnnnnxxxxxxxxx
    ````.......,,,,,,,,,,::,:::::::::::::::;i*+*iii#nz+znnnnnnzz#++i;::::;;;i;iii***+znnzznznxxnxni;*+##nxxxxxxxxxxxxxxxxxxxxMMMMMMMM
     ````......,,,,,,,,,,:,:,::::::::::::::;i*+*i;i#z#+zzzzzzzzz#*iiii;ii*i**iii****#znnnzzzzznxnx*;*++#nxMMMMMMMMMMMMMMMMMMMWWWWWWWW
      ```.....,,,,,,,,,,,,:,,::::::::::::::;i*+*;;i+#*###++##++**+#+*iii*+#+********znnzzzzzznnxxn#;*++#nMMMMMMMMMMMWWWWWWWWWWWWWWWWW
      ```...,,,,,,,,,,,,,,,,,,:::::::::::::;i*+*;;i*++++#++*+++++*iii*i+#+++++*****+#xnznnnnzznnnnz;*+#znMMMMMMMMMMMMMMMMMMMMMMMMMMWW
      ```..,,,,,,,,,,,,,,,,,,,:::::::::::::;i*+*;;*++*+*++*******++#++++###++++****#xxnxxxnzzzzzznzi*+#znMMnz########################
      ``..,:::::,,,,,,,,,,,,:::,:::::::::::;i*+*;;*+#i***+++++#+###+++########++**+#xMMxxnnznz##zzni*##znxn*;::::::::::::;;;:::::::::
    ```..,::;;::,,,,,,,,,,,::::::::::::::::;i*+*;i+##ii*++++*++###+**+########+++++znMMMMxnnnzz##zni*+##nx#;,.............,..........
`````.,,::;;;;::,,,,,,,,,,,,,:,,:::::::::::;i*+*;i+z#i***+######+####+++#######++++#xMMMMxxnnxnz#zz;*+##nx#:`````````````....`````...
``..,:;;iiii;;::,,,,,,,,,,,,,,,::::::::::::;i*+*ii+zzizxxxxxxz###z##znz+*+#####++++#nMWMMMxnnnnnnz*;*++#nx#:````````````......`......
```..:;**ii;;::,,,,,,,,,,,,,,,,,:::::::::::;i*+*ii+zn+xMMMMWMn######nMMxz###+++++++#zMWWMMMxxxxnn+;;*++#nx#:.`````````...............
   ``.:iiii;::,,,,,,,,,,,,,,,,,,:,,::::::::;i*+*;;+znzMxnnnnzzz#####nxMWWMMxxnzz#+++#xMWMMMMxxxxzi:;*+##nx#:.`````````...............
    `.,;ii;::,,,,,,,,,,,,,,,,,,,:,:,:::::::;i*+*i;*#nn#++++#########znnxMMWWWMMnz#++#xWWMMMMxxxx+::;++#znx#:.````````................
    ``.:;;::,,,,,,,,,,,,,,,,,,,,,,:,:::::::;i*+*i;i+zn**#zzzzz###zzznnnnxMMxxxnnz#+++zxMMMxxxxMz;::;+++#nx#:.````.,,,,,,,,,,,:::,,,,,
   ``.,:;::,,,,,,,,,,,,,,,,,,,,,,,:::::::::;i*+*i;;i#ni+zMMMWMxn##znxxxMMWWWMxnnz#+++#nMMMxxxxM+;::i+++#nM#:.```.,;iiii;::::::;;;;;:,
````..,:::,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;i*+*i;;;*+i+zx+xWWMxz#zxxxxMnnWWMMxxn#+++#zxxMMxxxn*:::*#++#nMz:.```.;+#zz#+ii;;;;i*****;
......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;i*+*i;;;;ii+#z+zMMxxz+#nxxMMxxxxnnxnz#++##zxxMxxxn+*::;+#+##nM#:.```.;#zznz+***i;;i*++++i
.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;i*+*i;;;;;;*++#znnxnz*+zxxMxxxnzzzzz#+++##znxxnxx##i::;####znM#:.```.;#znnz#+#++*i*+#zzz*
............,,,,,,,,,,,,,,,,,,,,,,,,:::::::;i*+*i;;;;;;i**+#znnn#i*#nnxxnnnnnzz##++###znnxxxnz#i::i####znMz:.```.;znnnnzzzz#++#zznnn+
............,,,,,,,,,,,,,,,,,,,,,,:::::::::;i*+*i;;;;;;ii*+##z##*i*#zzzznnnz####+####zzznxxnx##;::*zz##zxMz:.```,iznnnnzzzzzzzznnnnn*
............,,,,,,,,,,,,,,,,,,,,,,,,,::::::;i*+*;;;;;;;;i***+#+iii#zz####++++++++####zzzxxnxzz+;::*zzzzzxMz:.```.;znnnnzz#zznnnnnnnn*
..........,,,,,,,...........,,,,:::,,::::::;i***;;;;;;;;i;i**iiiii+#zz##+++***++++####zzxxnnz#+:,:+nzzznxMz:.```,;#nnzz#####zzzzzzz#i
..........,,,,,,,,..........,,,,:::,,,::::::i**i;;;:;;;ii;iiiii;;i+#zzzz#++***++++####zznxnzz#*:,;#zzzznxMz;.```.:i*iiii;;;;iiiiiiii:
..........,,,,,,,,..........,,,,::::,,::::::i**i;;;;;;;;*iiii*#i;i*+#zxnz#++++++++####zznMxz##i:,;#zz##zxMz;.```..,,,,,,,,,,,,,,,,,,,
..........,,,:::,,..........,,,,::::,,::::::i**i;;;;;;;;*iii+#z;;ii*++#zxn########zzz#zznMnWx#;,,;zz###znMz;.`````...................
..........,,,:::,,,,.,,....,,,,,,:::,,,:::::i**i;;;;;;;;i**+#n+;;ii**i*+xxxzzzzzzzzzzzznnW#nWxi,,izz###znMz;.````````....`...........
..........,,,,,:,,,..,,,...,,,,,,:::,,,,,:::i**i;;;;;;;;;*+#zx#,.:*++*nxxxxxnznnznnnzzznnM#:MWn::*zz###znMz;.``````..................
..........,,,,,,,,,.,,,,,,,,,,,,,:::,,,,,,,:i**i;::::;;;;*+#nx#,..;##nMxxnxxxnnnnxxnnnnnnM+.+WM+:*zz###zxMzi,..............,,,,,,,,,,
,,.......,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,:;**i;::::;;;;*+#nn+,.,,#xMMxnnxMMxxnxxxnnnnnnM+,,MMM++zz###zxMn+;:::::::::::;;;;;;;iiiiii
..........,,,,.....,,,,,,,,,,,,,,:::,,,,,,,:i**i;:::::;;;i+#nz#:,,,+MMxnnnxxMxxnxxxxnnnnnM+,.zWWMzzz##znxMMn#+++++#########zzzzzznnnn
..........,,,.......,,,,,,,,,,,,,:::,,,,,,,:i**i;::::::;;i+#zzz:,,:ixxxnnxxMWMxnnxxxxxxnnMi,.+WWWMzz##znxMWMMMMMMMMWWWWWWWWWWWWWWWWWW
,,.........,,.......,,,,,,,,,,,,,:::,,,,,,,:i**i;:::::;;;i++##n*:::;nxxnxxMWMMxnxxxxxxxnxz:,.#WWWMMz##znxMWWWWWWWWWWWWWWWWWWWWWWWWWWW
,,.........,,.......,,,,,,,,,,,,,:::,,,,,,::i**i;::::::;;*+++#nz,,,:#znzxMMMxxxnxxxxxxxxMi:,:xWWWWMxz#znxxMMMMMMMMMMMMMMMMMMMMMMMMMWW
,,,.......,,,.......,,,,,,,,,,,,,:::,,,,,,,:i**i;:::::::;*+*+#zn:,,:*nxMWMxxxxxxxxxxxxxMz:::iWWWWWWMxzznnxxxxxxxxxxxxxxxxxxxxMMMMMMMM
,,,,......,,,,,,...,,,,,,,,,,,,,,:::,,,,,,,:i**i;::::::;;i+*i+#z:,,,;MWWMxxnxxnxxxxxxxMMi:::#WWWWWWWMxnzznnxxxxnnnnnnnxxnnxxxxxxxxMMM
,,,,.....,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,::i**i;::::::;;*+**+##;,,::xMMxxnnxnnxxxMxxMM#:::;xWWWWWWWMxxnnzznxxnnnnnnnnnnnnnxxxxxxxxMM
,,,.......,,,,,.....,,,,,,,,,,,,,:::,,,,,,::i**i;::::::;;*#nnz##i,::;#xxxxxxxnnxxMxxMMz;;;;+WWWWWWWWWMMxxnzznnnnnnnnnnnnnznnxxxxnxxxx
,,,.......,,,,......,,,,,,,,,,.,,:::,,,,,,:;i**i;:::::;*#xxMxzz#i::;;+xxxxxxnnxxxxMMWzii;;inWWWWWWWWWMMxxxxxnnnnnnnzzzzzzzzznnnzznnnn
,,,.......,,,,......,,,,,.,,,,.,,:::,,,,,,:;i**i;:::;;+nxMMn#znzi,::;ixMxxxnnxxxxMWM#*i;;;*WWW@WWWWWMMMMMxxxxnnzzzzzzzzzzzzzzzzz##zzz
,,,......,,,,,,....,,,,,,,,,,,.,,:::,,,,,,:;i**i;:;;i#nxMx:..inx*,,::inxxxnnnxxxMWx++i;;;inWWWWWWWWWMMMMMMxxxnnzz###z#############+#+
,,,,.,.,,,,,,,,,,,,,,,,,,,,,,,.,,:::,,,,,,:;i*+i;;;i#nxMM+```.*n*,,,:;znnnnxxxxWMn+**i;;i+WWW@WWWWWWMMMMMxxxxxnnzzzzzz#++++++++++**++
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,,,:::;*++*ii*zxxMMM*```.::;,,:;izznnxxxxWMz+*ii;;;*nWW@@@WWWWWMMMMMMxxxxxxxnnzzzn#*******iiiiii
,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,::::,,,:::;i***+++zxxMMMM#``..,i;,,:;innxxxMMWMz+**i;;;i+WW@@@@WWWWWMMMMMMMMMMMxxxxnnnnnz*iiiiiiiiiii
,,,,...,,::::,,,,,,,,,,,,,,,,,,,::::,,,::;;*+####nxxMMMx+;.....:;.,:;i+xxxMMWMn#*ii;:;i*nWW@@@WWWWWWMMMMMMMMMMMMMxxxnxxnnn+;;;;;;;;;;
,,,,...,,:::::,,,,,,::,,,,,,,,,,:::::::::i++####nxxMMMx,`.........,::;;zxMWWxn#+ii;;;i*#WW@@WWWWWWWWWMWWWWWWMMMMMxxxxxxxnnn#;;;;;;;;;
,,,,,,.,,:::::,,,,,::::,,,,,,,,:::;:::::i++####znxxMMM#```.....``.,,:;;*MxMzz#+*ii;;i*+nWW@@@WWWWWWWWWWWWWMMMMMMxxxxxxxxxnnzzi:::::::
::,,,,,,,::::::,,,,::::,,,,,:,,::;;:::;*+####zznxxx+iz*```,.`.```.,,:;i;nx###+*iiiii**+WWW@@@WWWWWWWWWWWWWMMMMMMxxxxxxxxxxnnnzi::::::
::::,,,,,::::::,,,:::::,,,,,::,::;;::;###zzzzzznxMi``.:```.......,,:i;i;iMx+*iiiiii**+nW@@@@@@WWWWWWWWWWWMMMMMMMxxxxxxxxxxnnnnz*::::,
::::,,,,,::::::,,,,,::::,,,::::::;;::*zzzzzzznnxxx,.`.:```..,,,:::;*++*;:#M*;;iii**+**MW@@@@@@@@WWWWWWWWWMMMMMMMxxxxxxxxxxnnnnnz+:,,,
::,,,,,,,,::::,,,,,,:::,,,,:::::;;;::#xnnnzznnxxMx,...;.``.,:;*iii*###+i;iMniiii**+*i#W@@@@@@@@WW@WWWWWWWWWMMMMxxxxxxxxxxxxnxxnnn*,,,
::,,,,,,,,:::,,,,,,,:::,,,::::::;;;:;zxMxxnnnxxMMM:,..;:`..,;++**++##z+i;;xM**iii*iiiMW@@@@@@@@WW@WWWWWWWWWWMMxxxxxMxxxxxxxxxxxxxni,,
::,,,,,,,::::,,,,,,,::::,,::::::;;;:;nxMMxxxxxMMMM*,....,,,:i++++++++#+;;;nMniiiii;;#W@@@@@@@@@@W@WWWWWWWWWWMMxxxxxxxxxxxxxxxxxxxxx;,
::,,,,,,,::::::,,,,,::::::::::::;;;;:#xMWMxxxMMMMMz,...,:i;;*++++++*+#+iiixMW*;ii;;iW@@@@@@@@@@@@@WWWWWWWWWMMxxxxMxxxxxxxxxMMMMMMMMn,
::::::::::::::::::::::::::::;:::;;;;:iMMWMMMMMMMMMx,...:i++**++++++++++***nMMxiiii;n@@@@@@@@@@@@@@WWWWWWWWWMxxxxxxxxxxMMMMMWWMMWWWWW*
:::::;;::::;;:::::::::::::::;::;;;;;;;xMWWMMMMMMMMMi:::;i++++++++++#++++#+xMWW*iii*M@@@@@@@@@@@@@@WWWWWWWMMxxxxxxxxxMMMMWWWWMWW@@@WWM
::::;;;::::::::::::::;:::::;;::;;ii;;*xMWWMMMMMWWWW#;****+++*+++++++##++##MMMWnii;zW@@@@@@@@@@@@@@WWWWWWMMxxxxMxxxMMMWWW@@WMW@@@@@@WW
::::;;:::::::::::::::;:::::;;;:;;ii;;+xWWWWMMMWWWWWxi++++++**++++++++#####xWMWW*i+x@@@@@@@@@@@@@@@@WWWWWMMxxxxxMMMMWW@@@@WW@@@@@@@@@W
;::;;;:::::;:::::::::;;:::;;;;:;;ii;;#xMWWWWWWWWWWWW+*+++++**+++++#++####zWWWW@zixM@@@@@@@@@@@@@@@@WWWWMMMxxxMMMMWW@@@@@WW@@@@@@@@@@W
;;;ii;::::;;;::::::::;;:::;;;;;;iii;;zxMWWWWWWWWWWWWn*++*+****+++++++####zWMWMWWxM@@@@@@@@@@@@@@@@WWWWMMMxxxMMMWW@@@@#@WW@@@@@@@@@@@@
;;iii;;;;;;;;;::::::;;;;;;;;;;;;iii;;nxMMMWWWWWWWWMWMi*+*******+*++*+++++#zxMMWW@@@@@@@@@@@@@@@@@@WWWWMMxxMMMWW@@@###@W@@@@@@@@@@@@@@
;i**i;;;;;;;;;;;;;;;;;;;;;;;;;;iiii;inxMMMWWWWWWWWWWW*i+++++*********++++zxMMMWWW@@@@@@@@@@@@@@@@@WWWWMMxMMMW@@@###@@@@@#@@##@@@@@@@@
i*+*i;;;ii;iii;;;;;;;;;;;;;;i;iiiiiiinxMMMWWWWWWWWWWWz;*+++******+******+zMMMMMW@@@@@@@@@@@@@@@@@WWWWMMMMMWW@@####@@@@@@#####@@@@@@@W
*+#+*iiiiiiiiiiiiiiii;iiiiiiiii***iiinMMMMMWWWWWWWWWWMii*++********iiiii*zMMMWMW@@@@@@@@@@@@@@@@@WWWWMMMMWW@@####@@@@@######@@@@@@@@W
#zz#+****ii***iiii;;::::;;;;iii***iiixMMMWWWWWWWWWWWWW#ii++***+++**iiiiii#MxMWMW@@@@@@@@@@@@@@@@@WWWMMMMWW@@####@@@@######@@@@@@@@@@M
nnnz#+**i;::::,...,,.....,,,,:;;;;;:*xMMWWWWWWWWWWWWWWMii*++*++++****i;;;*xMWWMW@@@@@@@@@@@@@@@@@WWWMMMWW@@####@@@######@@@@@@@@@@@@x
xxnzz#+*;:,..``  ```````````.,,,,,,,#xMMWWWWWWWWWWWWWWWzi*******+*iiii;;;i#xMMWW@@@@@@@@@@@@@@@WWWWMMMWW@@####@@@#####@@@@@@@@@@@@@@#
z####+*;:,.```    ``..``````.,,,,...+xMMWWWWW@WWWWWWWWWW+********iiii;;;i*i.zMWW@@@@@@@@@@@@@WWWWW@MMWW@@@####@@@@@@@@@@@@@@@@@@@@@Wi
ii;;;;::,..````````.,:,,,,,,,:;::,,,#xxMMWWWW@WWWWWWWWWWM+*iiiiiii;ii;;;*,``,MWWW@@@@@@@@@@WWWWWW@WMWW@@@####@@@@@@@@@@@@@@@@@@@@@@x;
:::::::,,,,........,;;i;;;;;;;i;;::;xMMMWWWWWWWWWWWWWWWWWM+i;;;;;;;;::*:.`  `zWWWW@@@@@@@@@@WWWWW@MWW@@@#####@@@@@@@@@@@@@@@@@#@@@W+*
:::::::::::::::::::;;iiiiiiiiiiiiiiiMMMWWWWWWWWWWWWWWWWWWWM*;;;;;;:*;;:``   `:MWWW@@@@@@@@@WWWWW@WWW@@@########@@@@@@@@@@@@@###@@WM##
iiiiiiiiiiiiiiiii;;iiiiiiiiiiiiii***xMMMMWWWWW@WWWWWWWWWWWWxi;;i;:ii:``   `` `zWWWW@@@@@@@WWWWW@WWWW@@@######@@@@@@@@@@@@@####@@@@Mxx
*******************************+++++zMMWWWWWW@@WWWWWWWWWWWWWniii;i;.```````` `,MWWW@@@@@@WWWWWW@WWW@@@######@@@@@@@@@@@#####@@@@@@xxx
**********************************+++xMMMWWWWW@@WWWWWWWWWWWWx+i;*,`````````  ``nWWW@@@@@WWWWWW@WWW@@@#####@@@@@@@@@@@@###@@@@@@@@Wxxx
**++++***************************++++xWWWWWWWWW@WWWWWWWWWWW#+z;....````````  `.MWW@@@@@WWWWWW@WWW@@@@#####@@@@@@@@@@##@@@@@@@@@@@Mxxx
**+++++************+********+++*++++zxMMWWW@@WWWWWWWWWWWWWn;*:.,......````````#WWW@@@@@WWWWW@@WW@@@@######@@@@@@@@#@@@@@@@@@@#@@@Mxxx
****+++************+++*+*+**++***+++zxMMMMWW@@@WWWWWWWWWWW#..,,......````````iWWWWW@@@@WWWWW@WW@@@@######@@@@@@@@@W@@@@@@@@@#@@@@xxxx
************************++**+*******#MMWWWW@@@@@@WWWWWWWWW;,.........```````:MWWWWW@@@@WWWW@WW@@@@######@@@@@@@WW@@@@@@@@@@#@@@@Wxxxx
************************+++++++**+**+xMWWWWWW@@@@@WWWWWWWW*:,,,,.........``.nWWWWWWW@@WWWW@@W@@@@@######@@@@WW@@@@@@@######@@@@@Wxxxx
*************************+++++++++++*nMWWW@@@W@@@@W@WWWWWWMi,,,,.........``#WWWWWWWWWWWWW@@WW@@@#######@@@W@@@@@@@@@####@@@@@@@@Mxxxx
********************************+++++nMMMWW@@@@@@@@@@@WWWWWxi:,....,,...`.*WWWWWWWWWWWWW@@WW@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@Mxxxx
*****************i**************+*+++xMMMMWW@@@@@@@@@@WWWWWWn;;:,,,,.....;MWWWWWWWWWWWWW@@W@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@xxxxx
*****************i***************+++#xMMMMWWWWWW@@@@@@@W@WWWW+::,,,.....;MWWWWWWWWWWWWW@@@@@@@######@@@@@@@WWWW@@@@@WWW@W@@@@@@Wxxxxx
*******************************+++++nxMMMMWWWWWWW@@@@@@W@@WWWM::,,,,,,,:xWWWWWWWW@@WWWWW@@@@@#######@@@WWWWWWW@@@@@WWWW@@@@@@@@Wxxxxx
*****************************++++++#nxMMMWWWWWWW@@@@@@@@@@@WWW+,,,,::::nWWWWWW@@@@@W@@WWW@@@#######@@@WWWWWWW@@@@@@@@@@@@@@@@@@Wxxxxx
+*******************++++++++++++++#zxxxMMMMMWW@@@@@@@@@@@@@WWWx,,,::::zWWWWWW@@@@@@@@W@WWW@########@@WWWWWW@@@@@@@@@@@@@@@@@@@@Wxxxxx
+++++**********+++++++++++++++#####nnxxxMMWW@@@@@@@@@@@@@@@WWWWi,,::;+WWWWWWWWW@@@@@@@@WWWW@######@@@WWWW@@@@@@@@@@@@@@@@@@@@@@Wxxxxx
+++++++********++++++++++++++######nxMMWWWWW@@@@@@@@@@@@@WWWWWWn,,,:*MWWWWWWWWW@@@@@@@@@@WWW@######@WWWWW@@@@@@@@@@@@@@@@@@@@@@Mxxxxx
+++++**********++++++++++++++++++++zMWWWWWWWWWWW@@@@@@@@@WWWWWWM;,,;xWWWWWWWWWWW@@@@@@@@@@@@W@@#@@#@@WWWWWWWWWWWW@W@@@@@@@@@@@Wxxxxxx
++*********************++++++++++++#MWWWWWWWWWW@@@@@@@@WWWWWWWWM:`.nWWWWWWWWWWWWWW@@@@@@@@@@WWW@W###@WWWWWWWWWWWWWWW@@@@@@@@@@Mxxxxxx
**************************++++++***#xMMWWWWWWW@@@W@@@@WWWWWWx#++,`;MMMx#ii+nxMWWWWW@@@@@@@@@@WWW@##@@WWWWWWWWWWWWWWW@@@@@@@@@Wxxnnnnn
**************************++++++***#xxMMWWWWW@@WWWWW@@WWWWM*.```..,::,.`````.,*xWWWW@@@@@@@@@WWWW@@@@@@WWWWWWWWWWW@@@@@@@@@@WMnnzzzz#
*************************++++++++++#MMMMMMWWWWWWWWW@@WWWWW+.`````.::,....`````.;MWWW@@@@@@@@@@@WW@@@@@@@WWWWWW@@@@@@@@@@@@@WWxzzz###+
#++##+++++++######+#++++############MWWWMWWWWW@@@@@@WWWWWM;,...```,;;::::,...,;;zWWW@@@@@@@@@@@W@@##@@@@@WWWW@@@@@@@@@@@@WWWWzz###++*
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzMWWMW@@@@WWWWWWWWxMWWx;:::,.```:ii***:,,,;i*nWW@@@@@@@@@@@W@@@###@@@@@W@@@@@@@@@@@@@WWWWWz##+++*i
nnnnnnnnnnnxxxnnnnnnnnnnnnnnnnnnnnnnMWW@@@WWMWWWWWWWWnxMWn:;;;:,,.`.*++zz*:,:;i+xWW@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@WWWWWWz#+++*ii
nnnnnnnnnnnnnnnnnnnnnnzzznnznnnzzzznW@@WWWWMMW@@WWWWWWWx*.,:ii;::,.,inznxz;::i*#MW@@@@@@@@@@@@@@@@@@###@@@@@W@@@@@@@@@WWWWW@W#++**ii;
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzxMMxxMMMWWWMxxxMxxx+``..:;**ii:,;*nxxxni:;i*#WW@@@@@@@@@@@@@@@@@@@###@@@@WWWWWWWWWWWWWWW@W#+**iii;
#######zz########zzzz############zMWWxxMxWWMxnnnnnzz#: `..,:;i***ii+**zxxz+i;,;#W@@@@@@@@@@@@@#@@@@@@@@##@@@WWWWWWWWWWWWWW@@M+**iii;;
##+++#####+++####zz##############MWWMxMMMxnnnnnnnnz#`  .,,:;;iii**i*:..;;:i*;:;#W@@@@@@@@@@@@#@@@@@@@@W@##@@@WWWWWWWWWWW@W@@x**iii;;;
###########+####zzzz############nWWMMWMxnnnnnnnnnnn,  `::i*iiiii**ii;,,.,,,*+i;#W@@@@@@@@@@@##@@#@@@@@WWW@@@@@WWWWWWWWW@@@@@x*iii;;;;
####zz########zzzzzzzzzzzz######xWMMWxxnnxxxxxxxnx+   .::i+**iii****ii;;;ii*nz+x@@@@@@@@@@@@##@@#@@@@#@@WW@@@@@WWWWWWW@@@@@@ziiii;;;;
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzMMWWxxxxMMxxxxxxxx.   ,::;i********++++#####zMW@@@@@@@@@@@@##@@#@@@@@##@@W@@@@@@WWWW@@@@@@@W+iii;;;;;
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzMWMxMMMMMMMMxxxxx*    :::,;i**+++*+*++#zz###nW@@@@@@@@@@@@@##@##@@@@@@##@@@W@@@@@WWWWW@@@@@W#iii;;;;:
zzzzzzzzzzzzzzzzzzzzzzzzzz#zz#zzMMMWWMMMMMMMMMMxn.    ;,:,:iiii**+++###z###xW@@@@@@@@@@@@@@##@##@@@@@@@#@@@@W@@@@WWWW@@@@@@Wnii;;;;;:
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzxMMWWWWMMMMMMMMxz     :::;i******++##zznzzzW@@@@@@@@@@@@@@#####@@@@@@@@@@@@WW@@@@@WW@@@@@@@Wxii;;;;;:
zz##zzzzzzzzzzzzzzzzzzzzzzzzzzznxMWWWWWWMMMMMMMM#     ;:;i*++*****++###zz#zW@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@W@@@@WW@@@@@@@@xi;;;;;::
zzz#zzzzzzzzzzzzzzzzzzzzzzzzzzznMMWWWWWWMWWWWMMM#`   `:;;ii+####++++#####zM@@@@@@@@@@@@@@#####@@@@##@@@@@@@@@@@@@@@@@@@@@@@@x;;;;;:::
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzznMMWW@WWWMWWWWWMMn``  `:*;;;*+++++++##zznzzW@@@@@@@@@@@@@#@####@@@###@@@@@@@@@@@WWWW@@@@@@@@@M;;;;;:::
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzznWWW@@WWWWWWWWWWMx,`   :n+*;i**iiii**+#zz##W@@@@@@@@@@@@@@@##########@@@@@@@@@@@WWWW@@@@@@@@@Mi;;;;:::
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzznWWW@@@WWWWWWWWWMM:`   ,nnz**++***+++##z##n@@@@@@@@#@#@@@@@##########@@@@@@@@#@@@@@@@@#@@@@@@W+;;;::::
#############z###########z#####zMWW@@@WWWWWWWWWMM:`   .xxxz++*++++####zzx@@@@@@@@##@#@@##############@@@@@@@###@@@@@##@@@@@@Wn;;:::::
################################nWW@@@WWWWWWWWWMM;`   .xxxxxn++++*+zznMW@@@@@@@@######@###################@@####@@@##@@@@@@@WM;;:::::
++++++++++########+++############W@@@@WWWWWWWWWMM,   `.nMMWWMn#**:;W@@@@@@@##@@@@#########################@@#####@@#@#@@@@@@WWi::::::
+++++++++++#####+++++##########z#MW@@@WWWWWWWWWMx``````+WWWMxziii,i@@@@@@@@####@@@#####@##################@@#####@####@@@@@@@W#::::::
++++++++++++#####++#######z####zzxW@@WWWWWWWWWWMM,`````,xWWMn#ii::M@@@@@@@######@@@#######################@@####@@#####@@@@@@Wn::::::
++++++++++++#+############zzzzzzzzW@@@WWWWWWWWWWW;.`...,ixxn#*;i+W@@@@@@@########@@#######################@#####@####@@@@@@@@WM;;::::
++++++++++++++###########zzzzzzzzzxW@WWWWWWWWWWWW#....,,:;;;i#xW@@@@@@@###########@####@#############################@@@@@@@@WW;:::::
++++++++++++++########zzzzzzzzzzzzzMWWWWWWWWWWWWWM:..,:;i+zxW@@@@@@@@##############@##@####################@###@#######@@@@@@WWi:::::
#+++++++++#+++#######zzzzzzzzzzzzzzzMWWWWWWWWWWWWW+::i#xW@@@@@@@@@##################@#################################@@@@@@@WWi:::::
##+++++++++#+######zzzzzzzzzzzzz##zzzMWWWWWWWWWWWWMnnW@@@@@@@@@@#####################@@@@##################@@########@#@@@@@@WWi:::::
#####++++++######zzzzzzz##############nMWWWWWWWWW@@@@@@@@@@@@@@#######################@@@##################@@##########@@@@@@@W*:::::
zz####++++######zzzzzzz###+#############xWWWWWWWW@@@@@@@@@#@@@#########################@@#################@@@##########@@@@@@@W+:::::
zzzzz###++#####zzzzzz####++++++++++##+###nxMMWWWW@@@@@@@###@@###########################@#################@############@@@@@@@W#:::::
zzzzz#########zzzzz#####+++++++++++++++++###zxWWWW@@@@@@##@#@@###########################@###############@#############@@@@@@@Wn:::::
zzzzzzz######zzzzz####+#+++++++++++++++++####*zMWW@@@@@##@@@@########################Mnxn@@#############################@@@@@@Wx:::::
zzzzzzzz####zzzzz###+++++++++++++++++++++++##+**xW@@@@@@@@@@@@######################Miznn##@###########################@@@@@@@@M;::::
##zzzzzzzzzzzzzz###++++++++++++++++++++++++#++#**xW@@@@@@@@@@@######################M#znW####@#########################@@@@@@@@Wi::::