````````````````````````````````````````````````````````````````````````````````
                                                                                
    ``      ``   ``      `       `  `         ``               `                
   `-~''`'`.,.'``,-~''`'`~'`'`'''~~`~'`.`'`.`,~,`'``.`.`''`'``',''`.`'`         
   `--:,:~;~;-::,~.::-;:`:--;--::':`:-!;;::-,~-,:;-':-;;~:::~,;:-~;,;:.         
   `~~,~,~.~,~.;`.~.,,,~`..~~,~,.`,',~,~.~.'''~',~.'~~-~'.,~''~,.',~.~`         
   ````````````' `````````````````````````````````                              
   `.,`````````,`````````.'..'''``````.`````.'````                              
   `;:::::-'::;:::-!--;;::.;-::-:':;:--:---:::;.``                              
   `~~,~-,-`,,-~,~~:,--~~~',,.~,-'~-:~,~-~~~~~-,``                              
    `````'``````````````````````````'`````````````                              
   ````````````````````````````````````````````` `` ```  ```````     `````      
    ```             ```   ```` ````````````````  `` ``````````````````````` ``  
   `````````````````````  ```````````````````````````````````````````````````   
   `';*********************************!';;!*+++++++++++++++++++++++++++++!.``  
  ``%#########################@@#######&.%%$@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$'`` 
  `'##########################@@#$&&&$#&.%$@@@@@@@@@@@@@#&%=??==%$@@@@@@@@@@,`` 
   '##########################$&%%%%%&$&,#@@@@@@@@@@@@$=++++++++++=$@@@@@@@@,`` 
`` '######@@#################&%%%%%%%%&%,@@@@@@@@@@@$+;;;;;!*+++++++%@@@@@@@,`` 
`` '######$$##################&&&&%%%%&%,@@@@@@@@@@%;::--~,,~-;*+++++%@@@@@@,`  
`  '#####$$$$$#################$%&&%%%&%,@@@@@@@#%?+++++++*;-~,~!++++?$@@@@@,`  
`  '$###$$$$$$$################%&%&%%%%%,@@@@@$=?++++++++++++*:,~*++++=@@@@@,`` 
` `'$###$$$$$$$@@@#############=&%%&%%%%,@@@@&+++++++++++++++++!~-++++?#@@@@,`` 
`` '####$$$$$$$#####@@@####$$$#%&%%&%%%%,@@@@=++++++++++++++++++*~!++++$@@@@,`` 
` `'####$$$$$$$$$$$$$##########$%%%%%%%=,@@@@%+++++++++++++++++++::++++%@@@@,`  
```'####$$$$$$$$$$$$$##########&%%%%%%%=,@@@@#=++++++++++++++++++*-++++=@@@@,`  
```'####$$$$$$$#$$$####$$$$##&=&%%%%%%%=,@@@@@#%=???+??++++++?%?+?;++++?@@@@,`  
```'$###$$$$$###$$###$#$$$$#$%?=%&&%%%&%,$@@@@#?%&%=++++====?+%=+++=++++#@@@,`` 
`` '$$$$%%=%$#@#$##$$$$#$$$##%??=&$$&&$%.*=#@@%=%=!;----:;*+**%=++++?+++#@@@,`` 
` `'&&&????+=&==$##$$$$#$$$#$%??%%$$$$$&.++?=&?=%&##*:--:%=:!!*%=++++?++$@@@,`  
```'%&&?+??+?%??=###$&&$#$$#$&?=%%%&&&#%.+?=&=?%%%%&:;--:&%;:--?%=+++?++%#@@,`  
```'%&&??????%???&&$#$$$#$$#&&?=&&%?==$=,==%&+?%%%;:::---:::---!&%=+++++?%@@,`` 
```'%&&=???=%%???&&&$%$$$#$#$&?%&%&%=$#?,==%&+?%%=;:;----------;%&%=?+++++&@,`` 
```'&%&?????==%?+%&$&=?%$#$#$&?%%??=&&#&,=%##?+=%=;:!*!:-------!%&%%%?+++++&,`  
```'&&&%%==%%%%?+=$$$$&%%======&%??%&&$%,$#@@%++%%!:-:---------?%%&%%=++++++.`  
`  '&%????????%?+?$$$$$&$$$&&&&&=??%$&%?,@@@#%%+?%?;:;;;;;----:=%%&%%%?+++++.`` 
```'&%?+?????=&?+?&$&$&&&$$$$$&=??=&$#$&,#@@#%$=?%%+;;::::----!%%%%%%=++++++.`` 
```'&&=+?????=&=??%$$$$&&&&&&&=====&$$$%.++??===?%%%+;-------!%%%%%%%=++++++.`` 
```'&%=?+??+?=$=???$$&$$&&&$&%=====%&$$%.+++++???%%%%+:----;+?%%%%%%%?++++++.`` 
```'&%??+?+??+%&???&$$$&&&&$=?===???%&$%.?+++=+?%%%%%%?!!*?+*?%%%%%%%?++++++.`  
`  '%=?==?==?+?$&?+%$$$&&$$%?????==?%&&%,&&&%=+=%%%%%%%?+*+++=%%%%%%%+++++++.`  
```'&&&&&&&&&%==$%??$$$&&$&=??????===&&%,$$$$=+=%%%%%%%?*+++*=%%%%%%%=?+++++.`` 
```'#$&&&&&&&&&&$$%?$$$&&$&????????=%&&=,$$#$&=%%&%%%%&+*;::-?%%%%%%%%%%=?++.`` 
```'#$$&&&&&&&&&$$$==$$&&$%????????=&$&=,$$$$=+++++?&%%+:----*&%%%%%=!!+%%?=.`` 
```'##$&&&&&&&&$&?$$&&$&&$%???????=%$$&=,&&$?***!!;?+!*!-----:?%%%&*----:?=?.`` 
```'#$#$&&&&&&&$?+&#$$$&&$%???=%%&&&&&&=,&&%+*;---:%-----------:;:?*-----;=+.`  
`` '###$&&&&&&$=+?&$$$$&&$&???=&&&&&%&&=,&&++!----+?--::------::--;%-----:=?.`` 
```'$###$&&&&$??+?$$$$$$$$&????%&&&&?=&=,&%+*:---:&!---;*:---;;:---=;-----?%,`  
```'%&$##$&$&?+?+=$$$$&$$&&=???=&&&=?%&=,&?+*----?&:-----;:;::-----!=-----+&,`` 
```'%%%$$$$%?????&$$$$$&&&$=????&&&??%&=,%?+!--;;$=-----------------%;:---*&,`` 
```'&&&%=$%%%=???$$$$$&&&$$&????&&%??%&%,%++;--!=$*-------:---------*+;---*&,`` 
```'%%??%$%???++?#$$$$&&&&&$???=&$%??%&%,%++;-;+$$;-------;;:-------:&!;--*&,`  
```'%?+?&$&?++++%#$$$$&&&&$$%??=&#&??%&%,%++;:+&$&:-------:+:-------;$%*:-*%,`` 
```'=?+?##&?++++&$$$$$&&&&$$$??%&#$=?%&%,%++:*&$$%:--------!:-------?$$%*-!%,`` 
```'=?+=##$=+++?#$$$$$&&$&&&$==&&#$&?%&%,%++:%$$$&:---------!------:$$$$=;!%,`` 
```'=?+%###%?++%#$$$$$&&$$&&$=?%&$$$?=&=,%+*;$$$$$*---------*------=$$$$$+!%,`` 
```'=?+&@@#%???&#$$$$#&&$$$$$=?=&$$$??%=,%++!$$$$$%---------*-----*$$&$$$=!%,`` 
```'??+%@@#%???&#$$$$#$$$####=?=&$$$??==,%+*!$$$$$$*--------*----;&$$$$$$%!%,`` 
` `'??+=#$&=++?%####$#######$=?=&$##=???,%+*:&$$$$$$;------;*---;&$$$$$$$?!%,`` 
`` '+++=&%&=+?+=#$$$$$$$$###$??=&$##&??+,%+*:?#$$$$$$!----:??:-;&$$$$$$$#!*%,`` 
`` '+++=%%&=+?+?#$$$$#$$$###$??=&$###=?+.=++::&###$$$$?;!*==%%?&$$$$$###=-*%,`  
 ``'+++%&&&%???=#$$###$$####$??%&####&?+.++*:-:=%%&$$&&%&$%%==%+??===?=?--!?.`` 
 ` '+++$&&$%=??%#$####$$#####??%$#####=+.++*---*?%?+++??=+!!::!?==??==?:--!+.`` 
 ```++=$&%&%%??$#############==&######&+.++*:--+*?+???*!:--;----:;????*;--!+'`` 
````,*%&%=%%=++$$$$$$$$$$$$$$?=&$$$$$$$+.?**---*+?+;-------:------+**?*;--;~``` 
`` ```''''''''''''''''''''''''''''''''''`'''```''''````````'````'`'``'''``````