##############,`    ```````            ``  ````                `,;;i**+#znznnn###*i;,`                                                      `@########
##############,`    `````````       `        `             `  `.,;i*+##znxznxxnz###+*:.`                                                    `@########
##############,``   ``` `````     `   ` `                  ` `.,:i++zznxxxnnxxxnzzz+*i;.              `                                     `@########
##############,``   ``````` `  ````` ``                     ``..;*+znnxxxnnnxMMxnz##+*i;.`            ..                                    `@########
##############,``   ```` `       ` ``.`  `                  ``.:*#zxnnxxnnnnnxMnxz#z#+ii;`             `                                    `@########
##############,             `````` ``.``  `                  `,i+znnxnnxxnn##nxxxnznz#*:,,`                                                 `@########
##############,             ```  ``````                     `,i+#nnnxxxxxnz###nnxnzzzz+*;.`                                                 `@########
##############,```          `` `` ` ` ` `` ```              .;*+zxxxxnnnnnz###znnnzzzz#+i:`                                                 `@########
##############, ``   ```    ````` ` ```````````             ,;*znxxnnnnnnnz###nnzzzzzzz#*:,                                   `             `@########
##############,      ```    ````````````````````           `;i#znxMnnzzzznnzzznz###zzzz#+;,`                                                `@########
##############,      ````    ``````..``````````           `,i+#zxxxxnnzz#znnznnz###zzzzz#+;.                                                .@########
##############,      `  `     `......``````````           `,;+znxxxxxnz#########+#zzzzzz#+*:                                                .@########
##############,```       `` ```.`.`````````````           `,:+znxxxxxnnznnnnnzzzzzzzznzz##*;`                                               .@########
##############,```      ```````````````````````````       `.;#nnxxxxxxxxnznxxnz#znnnnnzzz#**:.``                           ``       ````    .@########
##############,`    ``````````.``..```````````           ``.*znxxxxxxMMMMnzxxnn##nxxnnzzz#+**;::.```               ```     `````   ``````   ,@########
##############,`````    `  ```......``   ``        ``  ```.;znxxxxxxxMMnxx+nnznn*zxxxnnzz##+*iii;;:,.`           ``````    `.`.`  `..```````.@########
##############,``````       ``````.````` ``      `..`....,;+nnxxxxxxxMxnz##znz#**zxxnnnzz##++*iiiiii;:.`         `.....`   `.```` ``````````.@########
##############,```````       ```````````````` `` `.,..,,,:i#nnxxxxxxxxxxnnzzzzzznxxnnnnz###+++****ii**i:``        `` `````      `  `````````.@########
##############,````````        ``......``,,````````....,;i+znxxxxxxxxxxxnnz###znnnnnnnnz####+++++**ii***i.`     ``   `,,.`          `.``````.@########
##############,````````        `,:.....`````   ``.,::;;i*+#nnxxxxnnnxxxnz##z###+##nnnnnz####++##++++++***i;.     `` `.,::.`  ``     `.`  ```.@########
##############:`````````````   `,:,,...```   ``,:;;i;ii*+#znnxxxxxnnxxnz#+++++****#znnnz####+++##+++##+****i,`    `` ``.,,` `.`      ```  ```@########
##############:``````````````````.,,.`````  `.::i***ii*+##znnxxxxxnxxnz##+*iii;ii**#znnz####+++########+++***:`    ``  `.,` ``.`           `.@########
##############:```````...`` ```````..``     `,;*+++***++#znnxxxxxxxxxnzz#zzzz#+*iii+#zzz####+++#+###zzz#++++**:`     ` ````                `,@########
##############,````......``  ```````..`    `:*+###+++++##znnxxxxxxxxxnnnxxMMMxxnz*i+znnz###++++#+###zzz#####++*i.` `` `.``                  *@########
##############:```........````....``..`` `.;+##zz###++###zznxxxxxxxxxxMMMW@@WWMxnz+#znnz#z#+++*++####zzz####++++*,`..``...                  +#########
##############:`..........```.,,,..`.``..:i+###zzzzz####zzznnxxxxxxMMMMxnxxMMn*i*++#nnnzz##+++*+++++##zzz#####+++i,...```.`   ``            +#########
##############,``.............:,.,.....,;*+#zz#zzzzz##zzzzznxxxxxxxMMMMxz+***i;i+#+znznzz###++++#*i*+##zzz######++i,..``..`   ``            +#########
##############, `...............,,.``.,;*##zzzzzzzzzz####zznxxxxxxxMMMMxxn#++++#zz#znnnzz###+++##*i;i*###zzz####++*;```                     +#########
##############,``````...........````.,;+##zzzzznnnzz######znxxxxxxxxMMMMMxxnnnnnzznnnzzzzz##+++++*;;:;*+##zzzz###++*:``                     *@########
##############,``````...............,;+#zzznzznnnnzz#+++#zznxxxnxnnxMMMMMMMxxxxnnxxxnzzz###+++**ii;;:;;*+##zzzzz##++i.``                    *@########
##############,````````````........,;+#zzznnnnnnnzz#+++##zznnnnnnnxxMMMMMMMMMxxxMMMxnz####+***i;;;;;::;;*###zzzzz##++i````                  *#########
##############,````````````````...,;*+zzznnnnnnnnz##+++##zzzznnnnnnxMMMWWWWWWMMMMxxnz###+++**ii;;:;;;:::i*+zzzzzzz#+++:.````    ``          +#########
##############,``````````````.....:i+zzznnnnnnnnzz##+++##zzzzzzzznnxxxMMMMxxxxnnzzzz##++++****i;;:;;;;::;i+###zznzz#++*,``.`   `` `         +#########
##############,```````````````...,;+#znnnnnnnnnzzz#++++##z#zzzzzzzzznnnnnnnzzz#####++++++++++*ii;;;;i;;::;i+##znnnz##++i.`      ```         +#########
##############,````````````````..,i#znnnnnnnnnnzzz##++######zzzz#zzzzzzzzz###++++++++++++++++***iii;ii;::;;*##znnnz####+;``     `           +#########
##############:````````````````.,;+zznnnnnnnnnzzzzz########zzzzzzzz##z#####++++++++++++++++++++***iiiii;;;;i+zznnnnzz###+:`                 +#########
##############:````````````.```.:*#znnnnnnnnnnzzzzzz#######zzzzzzzz######++++++*****++++++##+++++**iiiiii;;;i##znnnzz###+:`                 +#########
##############:```````````...`.,;+znnnnnnnnnnnnznznzz#zz###zzzzzzz########+++******++++++########+***i**ii;;;*#znnnzzz###:`                 +#########
##############:`````.....`.....:*#znxnnnnnxnxnnnnnnnzzzzz##zzzzzzz########+++****++++++#######zzz##+**+++*i;;;+znnnnzz###i`                 +#########
##############:..````......`..,i+znxxnnxxxxxxnnnnnnnnnzzzz#zzzzzzzz##zz###++++++++++++*#####zznnnzzzzz###+*ii;*znnnnzzz##*.`                +#########
##############:````````..,,...:*#nnxxxxxxxxxxnnnnnxxxnnzzzzzzzzzzzzzzz##z########++++####zzzznxxnnnnnnnzz#+**i+zzxxxnzzz#+:``               +#########
##############:```````..,,,,.,;+nnxxxxxxMMMMnnxxxxxxxxxnnzzzzzzzzzzzz##zzz#zz##########zzznnnxxxxxnnxxnnnnz#+++nnxxxxz#zz#+.  ```` `       `+#########
##############:..````..,,,:::;+znxxxxxxxMMMxnnxxxxMMMMMxxnnnnnnnnnnzzzzzzzzzzz######zzznnnxxMMMMMxxxMxxxxxnnzz#xnxxxxn##z##i`````````      `+#########
##############:,............,*znnxxxxxxxxMMxnxxMMMMMMMMMMxxxxxnnnnnnnnnnzzznzzzzzzznnnnxxxMMMMMMMMMMMMMMMxxxxnzxxxxxxnz#z##+;```..``````````+#########
##############;.......,,,...:+nnnxxxxxxxxMMMxxMMMMMMWWWWMMMMMxxxxxxnnnnnnnnnnnnnnnnnxxxMMMMWWWWWWMMMMMMMMMMMMxxMMxxxxxn#####+:..,:...```````##########
##############;.,,,....,,...;#znxxxxxxxMMMMMMMMMMMWWWWWWWWWMMMMMMMMxxxxxxnzxxxxxxxxMMMMMWWWWWWMMMMMxxxnnnnnnnMMMWMMxxxnz#####i,,:::,,,.`````##########
##############*,,::,,,.,,,,,*znxxxxxxxMMMMWWWWWWWWWWWWWWWWWWWMMMMMMMMMMMMxzMMMMMMMMWWWMMMMMMMxxxxxnzzzz####znxMMWMMMxxnzzz###+,:;;::,.,.`.:ix#########
##############xzi;;;;;:::,;*#zxxxxxxxMMMMMWWWWWWWWWWWMMMMMWWWWWWWWMMMMWMMWMMMMMWWWWWMMxxxxxnnnnnnzzzz####++#znxMWWMMxxxnnzzz##+##*+#+*+##zxMW#########
##############MMMxxxnznxz#nnnxxMMxxxxMMMMMWWWWWWWWMMMMMxMMMMMMWWWWWWWWWWWWWWWWWMMMMxnnzzzznzzzzzzz#######+++##zxMWMMMMxnnzzzz#zMWWMMMWMMMxxnM#########
##############xnnnnzzzzzz#zznxMMMxxxxMMMMMWWWWWWWMMxxxxxxxxxMMMMMMMWWWWWWWWMMMxxxnnzz###zzzzzzzzz########++++##nxMMMMMMxnzz#z#znxxxxxnnz###*z#########
##############nznnz####zzzzzxxMMMxxxMMMMMMWWWWWWMMxxxxxxxxxxxxxxxxxMMMMxMxxxnzzzzz#++++###zzzzz#####++++++++++#znMMWMMMxxzz##zz#+##+#zzznnzn##########
##############MxxnnnnxxxznnnxMMMMxxMMMMMMWWWWWWMxxxxxxxxnnnnnnnnnnnxxxnnnnzzz###+++*+++++###########+++++++*++##nxMMMMxxxzzz#zzznnn#nMMMxxxx##########
##############nzxxxxWWMn#zxxMMMMMMxMMMMMMWWWWMMxxxxxxxnnnnnnnnnnnnnnnnnzzzzz#+++++*++++++############+++++***++#znMMMMxnnnzz#zznnxMMxMWMMMMMz#########
##############n+nnxMMMMn+zxMMMMxxxMMWWWMMWWWMMxxxxxxxxnnnnnnnnnnnnnnnnzzzzz###+++++++###################+++**+++#nMMMMxxnnzz##zznxMMMMMMMMMWz#########
##############MxMMMMMMMxzzxMMxxxxxMMMWWMMWWWMxxxxxxxxnnnnnnnnnnnnnnznnzzzzzz###++#######################++++***+#zxMMMxnnnzz###znxMMMMMMMMMMz#########
##############WMWMWMMMMMxnMMxxxxxxxxMMWWWWWWMxxxnnxxxnnnnnnnnnnnnnnznnnznnzzz##+#####zz#####zzz##z#######+++++*++#nMMxxnnnzzz###zxMMMMMMMMMMn#########
##############WMxWWMMxMMMxMMxxxnnnnxxMMWWWWMxxnxxnnnnnnnnnnnnnnnnnnnnnnnnnnzz#######zzz###zzzzzzz########+++++**+#nMMxxnzzzzz###zxMMMMMMMMMMn#########
##############WMxnMMxMMMMMMxxxxxxnxxxMMMMWWMxnxxxxnnnnnnnnnnnnnnnnnnnnnnnnnzz######zzzzz#zzzzzzzz########++++++++#nMMxnnzz#####zzxMMMMxxMMMMn#########
##############MMxnxxxxxxxMxxxMxnnnnnxxMMMWWxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnzz##zzzzzzzz#zzzzzzzzzz##########++++#nMxxnnzz#####zznMMMMMMMWWMn#########
##############WMWWWMxMMMMMxxMMxnnnnnnxxMWWMxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz########+###+++#nMxxnnz#######znMMMWMMMMMMn#########
##############WWWWWMxxMMMMxMxxxxnzzzznnxMWMMxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzzzzzzzzz####++++++++++#nMxnnzzz######znMWWMxMMMMMn#########
##############WWWWWxxznMMMMMMxxxnzzzzznnxMMxxxxxxxxxxxxxxxxnxnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzzzzzzzz####++++##+++#nxxnzzzz#######nMWMMMMMMMMn#########
##############@MnWxznxnxMMxMMxxxnnnzzzznnxMxxxxxxxxxxxxxxxxxnnxnnnnnnnnnnnnnnnnnnnnnnnnnnnzznnnnzzzz###########++#nxxnzzzzzz#####nMMxMMMMMMxn#########
##############@nMMMMMxnnMMMMMMxxxnnnzzzznnxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzz############zxMxnzzzz#######zMMxMMMMMMxn#########
##############MxWMMMMxnzMMMMMMxxxnnnnzzznnnxMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnzzzzzzz##z########zxxnzz########++#MWWWWWWMMMn#########
##############MWWWWMMxxnMMMMMMMxxxnnnnzznnnnxxMMxxxxxxxxMMxxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzz#####zxnnz############xWWWWWMMMxn#########
##############MMMMxMxxMMMWMMMxxxxxnnnnzzzzznnMMMMMxxxxMMMMxxxxxxxxxxxxxxxxnxxxnnnnnnnnnnnnznnnnnnnnnnnnzzzzzz###znxnz#############nMWWMMMxxnn#########
##############WznxnxxxMxMWWMMxxxnxnnnnzzz#zznMMMMMMxMxxxMMMMxxMxxxxxxxxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnzzzzzzzznxnz#############zxWMxMMxxnn#########
##############Wx#nnxxxxxMWWMMxxxxxxnnnzzz##znxxMMMMMMMxxMMMMMxMxxxxMxxxxxxxxxxnnnxnxnxxnnnnnnnnnnnnnnnnnnzzzzzzznxxzz#############znMxnMMxxnn#########
##############WMnnxxMxMMWWWMMxxxxxxnnnzzzzzzznxMMMMMMMMMMMMMMMMMxxxMxxxxxxxxxxxxnxxxnnxnnnnnnnnnnnnnnnnnnzzzzznnxMxzz#############znMxzxMMxnn#########
##############WMMxxMMMMMWWWMMMMMxxnnnnnzz##zzznxMMMMMMMMMMMMMMMMMxxxxxxxxxxxxxnnnnxxnnnnnnnnnnnnnnnnnnnnnnnnnnnxMxnnz##++++#######znxnnMMMxnn#########
##############WMMMMMMxWMMWWMMMMMxxnnnnnnzz##zzznxMMMMMMMMMMMMMMMMMxxxMxxxxnnnxnnnnxxxxnnnnnnnnnnnnnnnnnnnnnnnnxxMMnzz##++++########nnnnxxxxzx#########
##############WMMMMMxMWMMWWMMMMMxxxxnnnnzz####zznMMMMMMMMMMMMMMMMMxxxMxxnnnxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxMMxnzz#++++++#######nnnxnMMxzM#########
##############WMMWWxMMWMMMMMMMMMMxxxnnnnnzzzz#zznxMWWWMMMMMMMMMMMxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxxMMMxzz##++++++#####zzxxnnzxxnzx#########
##############M#MMMxMWWMMMMMMMMMMMxxxxnnnnzzzz#znnxMWWWMMMMMMMMMMxxxxxxxxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxMMMMxzz##+++++#######zxx#z#zzzzn#########
##############MzMxnMMMxMMxxMWMMMMMMMxxxxxnnzzzzzznnxMWWWMMMMMMMMMxxxxxxxxxnnnnnnnnnxxnnnnnnnnnnznnnnnnnnnnnxxMWWMxnz##++++##########z##zzzzzz#########
##############MnxnnxMMMxMxnxMxMMMMMMMMxxxxnnzzz#zznnxMWWMMMMMMMMMMxxxxxxMxnnnnnnxxxxxxnnnnnnnnnnnnnnnnnnnnxMMWWWMxnz###+++####z###+**+#zznzz##########
##############xzxxnnnnxzxnxxxxMMMMMMMMxxxxnnnz####znnxMWWMMMMMMMMMMMxxxxxxnxxxxxxxxxxxxxnnnnnnnnnnnnnnnxxxMMMWWWMxnz###+++###zz###+**###zzzz##########
##############nzzzzzznnnxxnnxxMMMMMMMMMMMxxnnz####zznnxMWWWMMMMMMMMxxMMxxxxxxxxxxMMMMMxxxnnnnnnnnnnxxxxxxMMMWWMMxxnz###++##zzz####++*+**##++##########
##############z##zznnznnnnznnnxMMMWMWMMMMMxxxnz###zzznnxMWWWWWMMMMMxxMMxxxxxxxMMMMMMMMMxxxxxxxxxnnxxxxxMMMWWWWMxxnnzz######zzzzz###+*+++*;ii##########
##############z#xxnnznxxnnnnnnMMMMMMMMWWMMMxxnnz#zzzzznnxMWWWWWMMMMMMMMMxxMMxMMMMMMMMMMMMxxxxxxxxxxxMMMMMWWWWMxnnnnzzz#####zzzz##+++i**##+ii##########
##############nznnnz#znxnxxxxxMMMxMMMMMWWWMMxxxnzzzzzznnnxMWWWWWWMMMMMMMMMMMMMMMMMMWWWMMMMMMMMMMMMMMMMMWWWWMMxnnnnzzz##+###zzzzz####*i*#*+**z#########
##############x#+znnzznzznnxMMMMMxMxxMMWWWMMxxxxnnnzzznzznxMMWWWWMWMMMMMMMMMMMMWWWWWWWWMMMMMMMMMMMMMMMWWWMMMxnnnnnz###+***#nnzzz###++*+****+z#########
##############z;:i+#zzznnnxnxxMMMxxxxxxMWWWMMMxxxnnnnzzzznnxMMWWWWWWWMMMMMMMMWWWWWWWWWMMMMMMMMMMMMMWWWWWWMxxnnnxxnz###+***+znzz###+**+*+++*+z#########