<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d21302777\x26blogName\x3dCaptain+Greedo\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dSILVER\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://captaingreedo.blogspot.com/search\x26blogLocale\x3dca_ES\x26v\x3d2\x26homepageUrl\x3dhttp://captaingreedo.blogspot.com/\x26vt\x3d4868541815134982328', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Autors:

samnmax
Captain Greedo

Search your feelings
You will know it to be true
Cerca al blog



Arxius

Mitomania:

Videojocs clàssics Sèries mitiquèrrimes Sèries flèntiques Còmics hèctics Còmics mèlfics
Optimitzat per a la Rabosa de Foc

Locations of visitors to this page
    Subscriu-te

17 de març 2007

 

Art ASCII per a les masses


Teniu la necessitat de generar un dibuix fet amb caràcters ASCII a partir d'una imatge? (I qui no la té en els temps que corren!)
Aquí teniu un generador molt currat:

`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````````````````````````......```` ```````````````````````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````````````````````````..........,,...```````` ```````````````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````````````````.............,,,,,.````````````````````````` `````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````````...............,,,,,:,,.``````````````` ``` ````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````````..................,,,::::::..``````````````.,,.`````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````````............``````...,,,,::::,`` `` ``` `.,;;';.````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````` ``.............``` ```.,,::,,:,,.``````````,:;;;';.````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````````````.,,,,...........``````.,:;:,,,,,:::,,,..`.,;''''+',````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````....,:;:,,,..,::;;;;:```.,.:;,,;;;;;;;;::,,,:;;''''+'. ```````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````..,,,:::,...,:;''''';,.,,,.,:::'''''';;;;,,,:'''''++:`````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````....,,,,:,,,.,:'''+'+'';,,,..,:;''''''''';;:::;''''+#+,`````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````..,,,,,,:;;:,::''''''''''....,,:'''''''';;;;:;;'''''++;.`````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````..,,,::,:;'';,;''++++'+''',...,,,;''+++';::;;;;''''+++',``````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````.,,,,,,,,:;'';:'+++++'+++'',......:;'###+;:::;;''+++++':` `````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````.,,:,,,,,,,:;;;''+++++'++'+:........,;++#+':::;''+++++':.` `````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````.,::,,,,,,,,:;'+''+++++++++,......,..,;;'++';;;'''+++';`````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````.,,,,,,,.,,,.:;'+++++++++++;,.,,,,,:::::;'+++;;'++++':. `````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````.,,,,,,,,,...,:''++++++++##+;:::::::::::::'+##'''++':.````````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````..,,,,,,,.,,..,;'+++++++++++';::,,,,......,:;+++'++';,` ``````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````..,,,,,,,,..,,..:'++++++++++':,..............,:''++#+':,````````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````.,,,,,,.,,......:''+++++++++;,.....`````.....,:'++####':.```````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````.,,,,,,..,,.,..,:;''+++++++++':,.............,,;'+######+:. `````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````..,,,,,,,,,,.,,::;;'''++++++##';:,...........`.,:'+++++###+:.`````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````.,,,,,,,,,,,.,:;':,::'+###++##+;:,..............,:;''++++++';`````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````` .,,,:,,,,,,,,,;;;:,.,:;'+++####+';,,.............,,:;''+++';;::.```````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````.,,,:,:,,,,,:';:,,,,,:;'+++++++';:,.....````........,,:;;;;:,,:,.``````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````,,,:::,::,:;';:,,..,,,;;''''''';:,.....................,,,,,.....` ````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````.,:::::,:::;';:,,,,..,::;;;;;;;::,..``.`.....``..........,,.......` ````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````,::::::::;'';,,,,,,..,,:::::::,...........,,......................``````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````.,::;::::;'';,,:,,,,,,,..,,,,,,,,,::::;;;;;;;;;;:::,,,,,,,...........````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````,:::;::;;'':,,:,,,,,,,,,.,,,::;;'''++++##+++++++++''';;;;;;:::,,:,,..````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````::::;;:;+';,,,,,,,:,..,::;;''++++######@@@######++++++''''';:,.``````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````.:::::;'+';:,,,,,,,,,:;'+'''''+#+#+++''#++####@@@++#++'''';;;:.` `````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````.:;;;;'''::,,:,,,,,;'++'';;''''+'+'''''++'++++######+++'''';;;,.``````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````,;;;;'+';:,,,,,::'''+'';;;'''''';';;''''+''''''++++''''++''''';,``````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````.:;;;''';::,,,:;'+#+'';;;''''';;;;'';'+''+''';;;;;;;;;;;''''''+';.`````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````.:;;;'+':,,,:;'+++''''';;'+';;;;'''+''+'''''';;;::::;'+';;;''+#+':`````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````.;;;''';::;;'+#++''''+';;'+;;:;;'''+'+++'+'''';;:::,:;'''';''+#++',````````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````,;'''';:;;#+++++';'';;;''+';;;;'''++++++++++''';:::,,::::;;;'''''';.```````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````,''++';;'+'''''''''';;;'''::;''''''++++'+'++'+'';:,.,:;:,,:;;;;;''',```````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````` `,.`,''+#++''+'';;'''+';;;;;';,:;'++++++'+++''++''++';:,,:;'';:,;';;::;:.` ````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````.:,.,;'++++''';;''''++';;;'''::;;'+++''''++++''++++''';;:::;;;;;';:,``...``````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````` `,;;,:;'++'';;;;'''''++';:;''';;'''+++''''';:,.,;'+++''';::::;::;'::.. ````````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````` `:';:;'+#+';;;;'++';''';;::;;:;;'++'++';;;;:,.```,:'++'';:::;';::',.`.``````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````.;';;;'+#+;;;'''++;;;';;;;'';,:;'++'+':,,:,,,..`` `,;'+''';;;'';:;..`,.,.```````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````.;'';;''+';;;''''';;;';;;''';;;'++++':.,,,,.,,,..` .;+'';;::;;::;,::;;;:,.`````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````` .;''';''++''''''';;;'''';;';;''++++';,.,::,::;;::,. `,'+';::;;;;:;;;;;'';;:.````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````.'';';''+++++'''''''++''::';;;;+'++',.,:;;;;;';'';:,.:;''';::;;;::;';;';;;;:.```````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````;'';;;''+##+''+''+++'';;;';::;''++;.,:;;;;;;;;;;;;:::;'+';;::;';;;'''+'';;;:,``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````;'';;''''+++''+''''';;;;;'';;''+'+;,,:::;;''''''';;::;'+'';;;;;;;'';'++';;;:,``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````;'';;''''++''''''''';;;;;'''''++'';:::::;''''''+'';;;;''';;:::::;'''''+'''';:``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````:''';''''++'''''''';;;;;;'';;'++'''::::;;''''''++';;;;'+';;:::;;;''''+++''';:.`````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````,'+';;'''++''+'''';;'';;;'';;;''''';;:::;''''''++''';;+++'';;:;;;;'+++++''';:.`````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````,'++;;''''''++++';;;;;;;;''''''''+';;:::;;''+++++''''''+''';;;;;;;'++''+'';::.`````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````,'++;'''''''++++';;';;;;;''''''''++;;;;;;''++++++++''''+''';;;;:;;'++''''';:,.`````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````,+++''''''''++++''''';;;;;';;;'''++;;;'''++++++++++';'+++''';;;;;;'+++''''':,``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````:++++'''''''+++'''''':;;''';;;'''++''''+++++++++++''++#+''''''';;;;'+++''';:,``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````,'++++''''''+++++'''';;;;'';;;'''++'''''+++++++++++++++'''';;;;;;;;''++'';;:, `````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````.;++'+++''''+++++'''';;'''';;;'''''+''''+++++++++++++++'''';;':;;;;;'++'';;;:``````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````:++''+++'''+++'''''''''''';;;'''''++'''+'+++++'+++++++''''''';;;;;;'++';;;';``````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````,'+'''++''''++'++'''''''';;;;'''';''''+'''+++++++++++'''''''''';;;;'''';::';``````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````` .;+++'++''''+''+++''';;;;;;;;'++';'''+++++++++++#+++''''''''''';;;;;''';::';``````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````,;++'++''''+''+++''';;;;;;;'''+''''''+++++++++++++'''''''''''';;;;;;'';;;+;``````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````:'''++';''++'++'''';;;;;;'';''''''';'++++++++++'''''''''''''''';;;;;;:;;+;``````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````.;++'''''''++++'''''''';;;'''''''''''''''++++++++'''''''''''';';;;;;:;:'+:``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````:'''''';'+++++''''''''';'''''''''''''''++++++++''''''''''''''';;;;;;;:'':``````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````,'+++''''+++##+++'''''';''''+''''''''''++''''''''''''''''''''';::;;;;;';. `````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````` .;''+'''''+++#+++'''''''''++++'+++'''''''''''''''''''''''''''';::;;:;'+:```````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````` `:''''''''+++++++'''''''''''+'''+++'''''''+++'''''''''''''';;';::;;:;;', ``````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````` `.;'';;'''++++++';'''''''''''';''''''++'''''''''''''''''''''';;;:::;':, ``````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````:;''''''++++++';'''''''''''';''''''++''+''''''';'''''''''''';;:::;;.` ```````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````` `,;;;;''''+++++''''''''+'''';'+++++++'''++++'''''''''''''''+':::;:,``````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````` .:;'''';'+++++'''''''''''''''++'''''''++'''';'''''''''''''';;::;:: `````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````.:;'';'''+##+''''''''+'++++''''''''''+'''''''';''''''''''''';;;::``````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````:''''''##+'+'''''''+''++'';''''''''''''''''';''''''''''';;;::::``````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````.,'+''+#+''+'''''''''''+';;;'''''''''''''''''''''''''''';;;::::``````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````:;''++++''''''''''+''++'''+'''''''''''''';''''''''''''''';:::``````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````.;'+++++''''''+'''''''''++''''''''''''''''''''''''''''''':::``````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````,;'++''+'''''''''';'''''''''''''''''''''''''''''''''''';;:,``````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````,'+''++''''''''''''++'''''''''''''''''''''''''''''''';;:, `````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````:++;+'''';'''+'+++''+''''''''''''''''''''''''''''''';;:.``````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````,''''''''''''''+++'''+''''''''''''''';;''''''''''''''';,``````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````.:'''''''''++'''++''''''''''''''''''''''''''''''''+''';:.`````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````,'+''+++'+++'''''''+''''''++''''''''''''''''''''''';';:,`````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````.;+''++''''''''''''+''''''''''++++''';;;''''''''''';;;:,.````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````.:''''''''''''';;''+''+''''''''+++''''''''';;'''''''';:,.`` `````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````.:''''''''''''''''+''''''''''''''''++'''';;;;;;;''';;:,,.```````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````````,'''';'''''''''+++'''''''''''''''''''''';;;;:::;;;;;::,...`````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````````.;'''''''''''+++++'''''''+'''''''''''''';:;;;:::::::::::,,. ```````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````````.:'''';''''''+++''''''''''''''''''''''';;;::::::,,,,:::;'':.`` ````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````` ``````.;'''''';''''''''''';;''''''''''''''';;;;:::::;::,,::;'+#'.```````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````:;''''''''''''''''';;;;;'''''''''++''';;;;'''''';;;;++++;.```````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````,;''''''''''''''''''';;;''''''''''''''';'++####+#++++#+',` ``````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````.;'''';;'''''''';;''';;;''''''''''''''';'++########+++''.````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````;'''';'''''''''''''''''''''''''''''''''''+++++++++''';:`````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````` :'''';''''''''''+++'''''''''''''+''''++'''+++++++'''':``````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````.'';'''''''++'''+''''';'''''''+++++++++++++'+'+++++;.```````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````.'';'''''''''''''''''''++''''+++++++++++++++##++':,.````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````,'+'''''''''''''''''++'+++++++++++++++++++++++;;,`` ```````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````,'+''''''''''''''''+++++++++++++++++++++##++::.`````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````:'''''''''''''''''++++++++++++++++++++####+'.` `````````````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````````:''''''''''''''''++++++++++++++++++++##+#++;. ``````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````.;'++'++'''''''''+++++++++++++++#+++++##+#++', ``````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````,;''+'++''''''''''++++++++++++++##++++##+#+++;```````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````:;'''++++++'''''''+++++++++++++++#+###+++##++;,``````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````:;''''++''++++''''++++++++++++++########+###+':,`````````````````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````````````````:''''+++'''++++'''+++++++++++++#########+##+++';:,.``````````````````````````````````````````````````````````````````````````````````````````
```````````````````````````````````````````````````````````````````````````````.;'''++++++''++++++++'++++++++++#########++++++''';:..````````````````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````````````````.,;''''''+++'''++++++++++++++++++####+++##+++++'++'';;:,..`````````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````````````.,:;'''''''++++++++++++++++++++++####+++++#++++++++'''';::,,.```````````````````````````````````````````````````````````````````````````````````
`````````````````````````````````````````````````````````````````````..,,,..,,:;;'''''''''++++++++++++++++++++##++++++##++++++++''';;;;:::,..````````````````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````````````.,:;:::::;;''''''''+'''+++++++++++++##+++++++++#####+++++''+'';;;;;;::::,,.``````````````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````````.,:;;;;::::;;;'''''''''''''++++++++++++++##++#+++++++++++++++''';;;;;;;:::::,,,,.```` `````````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````` ``..,::;;;;;;::;;;;''''''''''''++++++++++++++##+++++++++++++++++'';;;;;;;:;;;:::::::,,,...`````````````````````````````````````````````````````````````````````
``````````````````````````````````````````````````````````````..,,:::::;;;;;;;;::;;'''''''''++++++++++++++++++++###++++++++++''';;;;;;;:;;;:::::::::::,,...```` `````````````````````````````````````````````````````````````
````````````````````````````````````````````````````````````..,:::::::::::;;;;;;:::;;''+'''''++++++++++++++##++###+++++++++++''';;;;;;;;::::::::::::::,,::,,.````````````````````````````````````````````````````````````````
````````````````````````````````````````````````````.......,,,::;;::;;::::::;;;;:::::;'''''''+++++++++++++###++++++++++++++++'''';;;;;;;::::::::::::::::::,,,,,,...``````````````````````````````````````````````````````````
```````````````````````````````````````````````....,,,,,,,::::::;;::;;::::::::::;:::::;;'''+++++++++++++++###+++++++++++++++''''';;;;;;;;::::::::::,::::,,,,,,::,,,,..```````````````````````````````````````````````````````
```````````````````````````````````````````````.,,,,,:,,:::::::;;:::::::;:::::::::::::::;;''''''++++++++++##++++++++++++++'''''';;;;;;;;;:::::::::,,:::::::,,,,,::::,,..`````````````````````````````````````````````````````
```````````````````````````````````````````````,,,,::::,::::::::;;;;::;;;:::::::::::::;;:::;;;''++++++++++###++++++++++++''''''';;;;;;;::::::::::::::::,::,,,::::::,,,,,,,..`````````````````````````````````````````````````
``````````````````````````````````````````````..,,,,:::::::::::::::::::;::::::::::::::::;;;:::;;;'''++++++###+++'++++++++''''';;;;;;;;::::::::::::,::::::,,,,,::::::,,,,,,,,...``````````````````````````````````````````````
`````````````````````````````````````````````.,,,,,,:::::::::::::::::::;;;:::::::::::::;;;;;;;;;;;;''''''++++++++++++++'++''''';;;;;;:::::::::::::,,:::,,,,,,::::::,,,,,,,,,,,...````````````````````````````````````````````
`````````````````````````````````````````` `.,::,,,,,::::::::::::::::::::::::::::::::::;:;;;;;::;;;;;;;;;'''''++++++++''+''''';;;;;;;:::::::::::::,,,,,,,,,:::::,,,,,,,,,,,,,,,,,.```````````````````````````````````````````
``````````````````````````````````````` ``.,,:;,,,,,::::::::::::::::::::::::;;:::::::::::;;;;;;;;;;;;;;;;;;'''''+++'+'''''';;;;;;;;:::::::::::::::,:,,,,,,:::::,,,,,,,,,,,,,,,,,.```````````````````````````````````````````
``````````````````````````````````````````..,,:::,,,,:::::::::::::::::::::::::;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;'''''''''';;;;;;;;:::::::::::::::::::,,,,::::::,,,::,,,,,,,,,,,,,.``````````````````````````````````````````
`````````````````````````````````` ``...,,,,,,:::,,,,:,::::::::::::::::::::::::;;;::::::::::;;;;;;;;;;;;;;;;;;;;'''''';''';;;;;;;;:::::::::::::::::::,,,::::::,,::::::::::,,,,,,,,.` ```````````````````````````````````````
`````````````````````````````````````.,,,,,,,,,,::,,,,,,,:::::::::::::::::::::::::;:::::::::::;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;::::::::::::::::::::::,,::::::,,::::::::::,,,,,,,,,.`````````````````````````````````````````
```````````````````````````````` ```.,,:,,,,,,,,;::,,,,,,,,::::,:::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::,,,,,,::::::,,:::::::,,,,,,,,,,,,.`````````````````````````````````````````
``````````````````````````````` ``.,,,,,,,,,,,,,:;:,:,,,,,,::::,:::::::::::::::::::::::::::::::::;;;::;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::,,:::::::::::,:::::,::,,,,,,,,,,,,.` ``````````````````````````````````````
````````````````````````````````...,,,,,,,,,,,,,,:::,,,,,,,::::::::::::::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::,,:::::::,,,,,::::::::,,,,,,,,,,,,.` ``````````````````````````````````````
``````````````````````````````..,,,,,,,,,,,,,,,,,:::,,:,,,:::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;::::::::::::::::::::::,:::::::,,,,,,::,,:::,:,,,,,,,,,,,,````````````````````````````````````````
``````````````````````````````.,,,.,,,,,,,,,,,,,,,:;,,:,,,,::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;:;;;:::::::::::::::::::::::::::::,,,,,,:,...,::,:,,,,,,,,,::,.```````````````````````````````````````
`````````````````````````````.,,:,..,,,,,,,,,,,,,,:;:,,,,,,,::,,,::::::,:::::::::::::::::::::::::::::::::::::;;;;;;;;;:::;;;:::::::::::::::::::::::::::::,,,,,,:,. `.::::,,,,,,,,::::,. `````````````````````````````````````
`````````````````````````` `.,,,:,,,,,,,,,,,,,,,,,:;;:,,,,,,,,,,,,::::,,:::::::::::::::,:::::::::::::::::::::::::::;:::::;;:::::::::::::::::,,,,:::::::::,,,,,,::. .,:::,,,,,,,::::::.``````````````````````````````````````
````````````````````````````,,,,:,,,,,,,,,,,,,,,,,,:;::,,,,,,,,,,,,,,,,,,:::::::,,:::::,,,,::::::::::::::::::::::::::::::;;::::::::::::::::::::::::::::,,,,,,,,::. .,::,,,,,,,,::::::,``````````````````````````````````````
```````````````````````````.,,,,,,,,,,,,,,,,,,,,,,,,;;::,,,,,,,,,,,,,,,,,,::::::::::::::,,,,:::::,,:::::::::::::::::::::::;::::::::::::::::::::::::::::,,,,,,,,:,. .,:,,,,,,,,,::::::,``````````````````````````````````````
```````````````````````````,:,,,,,,,,,,,,,,,,,,,,,,,:;::,,,,,,,,,,,:::,,:,,,,,,,:::::::::,,,,,::,,:::::::::::::::::::::::::::::::::;;:,,:,:,::,:,:::,,,,,:,,,,,::. ``,:::,,,,,:::::::;:``````````````````````````````````````
``````````````````````````.,:,,,,,,,,,,,,,,,,,,,,,,,:;;:,,,,,,,,,,,:::,,:,,,,,,,::::::::::,,,,::,,,::::::::::::::::::::::::::::::::::,..,,,,..`.,:,,,........,,::.```,:::,,,,,,::::::;:.`````````````````````````````````````
``````````````````````````.,::,,,,,,,,,,,,,::,,,,,,,::;;,,,,,,,,,,,,,,,,,,,,,,,::::::::::::,,,,,,,,,:::::::::::::::::::::::::::::::::,..:;;:,``.::::.````````.,::.``.,::,,,,,,,:;::::;:,`````````````````````````````````````
``````````````````````````,:::,,,,,,,,,,,,,::,,,,,,,,::;:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,::,:::::::::::::::::::::::::::;:..;;'':``.;';;,```. ` `,,,,.`.,:,,,,,,,::;::::;:,`````````````````````````````````````
`````````````````````````.,:::::,,,,,,,,,,,::,,,,,,,,,:;;:,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::,,,,,,,,,,,,,::::::::::::::::::::::::::::.`:;;':``.:;';,` `.`````,::,,.,::,,,,,,,:;;::::;::`````````````````````````````````````
`````````````````````````.::::::,,,,,,,,,,,,,,,,,,,,,,:;;;:,:::,:::::,,,,,,,,,,,,,,::::::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::.`,;;':``.,:;;,``..`````,:::,.,::::,,,,,::;::::;::.````````````````````````````````````
`````````````````````````,::::::,,::,,,,,,,,,,,,,,,,,,:;';;:::::::::::::,,,,,,,,,,,,::::::::::,,,,,,,,,,::::::::::::::::::::::::::::::,`,;;;:```.:';:``...````.:::,..:::::::,,:;;::::;;:,````````````````````````````````````
`````````````````````````,::::::,::::,,,,,,,,,,,,,,,,,:;'';:,:::::::::::,,,,,,,,,,,,::::::::::,,::,,,,,,:::::::::::,,:::::::::::,:::::,`,;;':`` .:'':```,,.`.`.:,:,`.,,::::::::;;::::;;;:.```````````````````````````````````
`````````````````````````,:::::::::::,,,,,,,,,,,:::::;;''+':,,:::::::::::,,,,,,,,,,,::::::::::::::::::::,,::::::::::::::::::::,,,:::::,`..,,.` `..:,.```,:::.`.,,,,,,,,:::::;;;;;:::;;;;;,```````````````````````````````````
````````````````````````.,::::::::::::,:,,,,,,,,::::;'''+++;:,::::::::::::,,,,,,,,,,,:::::::::::::::::::::::::::::::,,,,::::::::,:::::,.`.,,.. ```..`````...``.,,,,,,:::::::::;;;;::;;;;;:.``````````````````````````````````
````````````````````````.::::;::::::::::,,,,,,::;;;'''+++++';:,::::::::::::,,,,,,,,,,,,,::::::::::::::::::::,,,,::,,,,,,,:::::::,::::::,.,:::,.` `,,,.`` `````.,,,,,,,:::::::::;;;:::;;;';,``````````````````````````````````
````````````````````````,::::;:::::::::::::,,:::'''++++++''+':,::::;;::::::::,,,,,,,,,,,:::::::::::::::::::,,,,,::::::,,,,:::::::::::::,.,;;::.``.:;:,` `.`````,,,,,,,,::::::::;;::::;;;'':.`````````````````````````````````
````````````````````````,:;:::::::::::::::::::;;''+++++'';;'';:,:::;;;::::::::,,,,,,,,,:,,::::::::::::::::,,,,:::::::::::::::::::::::::,..::::.``.:::,.``,.````,:::,,:::::::::;;;:::::;;'';.`````````````````````````````````
````````````````````````,:::::::::::::::,:::;;''+++++'';;;;'''::::::::::::::::::,,,,,,,:,,::::::::::::::::,,,,::::::::::::::::::::::::,,..:::;,``.::::.``..````,::::::::::::::;;;::::;;';';,`````````````````````````````````
```````````````````````.,:::;;::::::::::::;;''+++++++';;;;;;'';:::::::::::::::::,,,,,,,,,,,::::::::::::::::,,,::,:::::::::::::::::::::,,.`,::;,` `::;:. `,.```.,,::::,,::::::;;':::;;;';;;:.````````````````````````````````
````````````````````` `.::::;;;:::::;::::;''++++++++'';;:;;:;'';:,,,,::::::::::::,,,,,,,,,,,::::::::::::::::,,,,,,,:::::::::::::::::::,,,.,;;;:.`.::;;,.``,,`.`.,,::::,,:::::::;';:;;;;'';';,````````````````````````````````
```````````````````````,::::;;::::::;;;;'''+++#+++'';;::::::;;'';,,,,,,::::::::::,,,,,,:,,,,,:::::::::;;:::::::::::::::::::::::::::::::,,.,:::.` `,:;:.```,::,.`,:::,::,:::::::;;;:;;;;'';'':` ``````````````````````````````
```````````````````````,:::;;;;;::::;;;;;'++##++;;::::,,,:::::;'':,,,,,:::::::::::,,,,,,,,,,,,:::::::::;::::::::::::::::::::::::::::::::,,,,,,..```...```..,,.``,::::::::::::::;';;;;;;''''':.```````````````````````````````
``````````````````````.::::;;;;;;:::;';''++++'';::,,,,,,,,,:::;;+;:,,,,,,,,,,::::::,,,,,,,,,,,,:::::::::;:::::::::::::::::::,:::::::::::::::::::,,,,,,........``,:::::::::::::;'';;;;;;''''';,```````````````````````````````
``````````````````````.::::::;;;;::;''''++''';;:::,,,,,,,,,:::;;+';:,,,,,,,,,,:::::::,,,,,,,,,,,,:::::::;;:::::::::::::::::::::::::::::::::::::;::::;::,::::::::::::,:::::::::;'';;;;;;;;''';,.``````````````````````````````
``````````````````````,::::::;;;:::;'+'''';;;;;:::,,,,,,,,:::::;''':,,,,,,,,,,,,::::::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::,,:::,:::,,:::::::::::::::,,,::::::;;;'';;;;;;;;''';:.``````````````````````````````
``````````````````````,::::::;;;;;:;'';;;;;''';::,,,,,,,,,,:::::;'';:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,::,,,:::::::::::::::,,,,,,,::::::;;;'';;;;;;;;'''';,``````````````````````````````
``````````````````````,::::::;;;;;;;'';;'''++;:,:,,,,,,,,,,:,,:::;;;::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,,,,,,:,,:::::,,::,,:,,,,,,,,:::::;;;;'';;;;;;;;'''';,``````````````````````````````
`````````````````` ``.::::::::;;;;:;'+'+++++';,,,,,,,,,,,,,:,,,:::;;;:,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::,:::::,,:,,,,,::::::::::,,,,,,,:::;;;;;;''';'';;;;'''';:``````````````````````````````
``````````````````` ,:::::::::;;;;;'++'+++';:,,,,,,,,,,,,,,,:::,:::;;,,::::,::,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::,,:::::::::,,,,,:::,:::,,,,,,,::::;;;;;''';;;;;;'''';;:,`````````````````````````````
``````````````````` `,:::::::::;;;;;'++'++';:,,,,,,,,,,,,,,,,,,,,,::;;:,:::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::,,,,,:::::::,,,,,,,::::;'';'+''';;;;;'''';';,`````````````````````````````
`````````````````````,::::::::::;;;;;'+'+'';:,,,,,,,,,,,,,,,,:,,,,,:;;;,::::::::::::,,,,,,,,,,,,,,,,,,,,::::::::;:::::::::::::::::::::::::::::::::,,,,,::::::::,,,,,,,::::;'';''''';;;;;'''';';:`````````````````````````````
`````````````````````,::::::::::;;;;;'+'+';::,,,,,,,,,,,,,:::::,:,:::;;::,::::::::::::::::,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,::::::::::,,,,,,,,::;''''+''';;;;;'''';';:.````````````````````````````
````````````````````.,::::;;;;;;;;;;;'++'';:,,,,,,,,,,,:::;;:::,:,:::;';:,,::::::::::::::::,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::,,,,,::::::::::,,:,,,,,::;;'''++'';;;;;'''';;;:,````````````````````````````
````````````````````.,::::;;;;;;;;;;;'''';;:,,,,,,,,,,::;;';::,,,::::;'':,,,,:::::::::::::::,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::,,,,,:::::::::::::,,,,,::;;''+++'''''''''';;;;,````````````````````````````
````````````````````.,,::::;;;;;;;;;;;'';;:,,,,,,,,,,::;''';:,:::::;;''+;:,,,,:::::::::::::::,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::,,,,,:::::::::::::,::::::;;'+++'''''''''''';;:````````````````````````````
````````````````````,,,::::;;;;;;;;;;;;';;:,,,,,:::::;;''';::,:::;;;'''+':,,,,,,:::::::::::::,,,,,,,,,,,,,,,:::,:::::::::::::::::::::::::::::::::::,,,,,:::::::::::::::::;;;;'++#+''''''''''''';;````````````````````````````
```````````````````.,,:::::;;;;;;;::;;;;;::,,,;;'';;;'''';:::::;;;;;;;;'';:,,,,,::::::::::::::,,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,::::::::::::::::::;;;;''++#+'''''''''''''';,```````````````````````````
```````````````````.,,:::::;;;;;;::::;;;;::::;'++++'''''';:::::;;;'';;''';:,,,,,,::::::::::::::,::,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::,,,,::::::::::::::;;;;;'''++#+++'''''''''''';;,```````````````````````````
```````````````````.,,,:::::;;;;;;::::;;;:::;'####++'++';:,::;;;''';;;;;'';:,,,,,,,,,,::::::::::::,,,,,:,,,,,,::,:::::::::::::::::::::::::::,:::::::,,,,:::::::::::;;;'';''''+##++++++'''''''';;;:.``````````````````````````
```````````````````.,,,::::::;;;;;;::;;;;:::'+##++''+++':,,:;;;;;;;;;:;;;';:,,,,,,,,,,,:::::::::::,,,:::,,,,,,::,::::::::::::::::::::::::::,,:::::::,,,,:::::::::::;;''''''''+#+++++++''''''''';;:.``````````````````````````
```````````````````.,,,:::::::;;;;;;:;;;;::;'+##+';'++';,,::;;;';;;:::::;;';:,,,,,,,,,,:,,,:::::::,,,:::,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::;;;''''''''+#++++++'''''''''';;;,``````````````````````````
```````````````````,,,,:::::::;;;;;;::;;;::;'###'''+++;:,::;;;;';;::::::;;;;:,,,,,,,,,,:,,,,,,::::,,,,,:,,::::,,::::::::,:::::::::::::::::::::::::::::::::::::::::;;;'''''';'+#+++++'''''''''';;;;:.`````````````````````````
```````````````````,,,,,:::::::;:;;;;;;;::;'+###''''';:,::;;;;;;;::::::::;;;;,,,,,,,,,,,,,,,,,,,::,,,,,,,,::::,,,,,,::::,::::,::::::::::::::::::::::::::::::::::::;;;'''''';'+#++++''''''''''';;;;:.`````````````````````````
```````````````````,:,,,:::::::::;;;;;;;;:;'+##+';'';:,,::;;;;;;:::,,,,:::;';:,,,,,,,,,,,,,,,,,,::,,,,,,,:::::,,,,,,,,,,,::::,,:::::::::,:::::::::::::::;:::::::::;;;'''''';'##+#++''''''''''''';;:.`````````````````````````
```````````````` `.,,,,,::::::::;;;;'';;;''++##'::::,,,::;;;;;;;::,,,,,:::;;;::,,,,,,,,,,,,,,,,,:::,,,,,::::::,,:,,,,,,,,,:::::::::::::,:::::::::::::::::::::::::;;;;''''''''+#+++'''''''''''';;;;;:` ```````````````````````
``````````````````.,,,,,:::::::::;;;''';''+++##',,,,,,::;;;;;:::::,,,,,,:::;;;:,,,,,,,,,,,,,,,,,,,,,,,,,::::::,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::;;;;''''''''+##++''''''''++'''';;;:.````````````````````````
``````````````````.,,,,,,::::::::;;;'''''+++##+',,,,,:::;;;;:::::::,,,,,:::;;;::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::;:::::;;;;;'''''''+#+++''''''''++'''';;;:.````````````````````````
`````````````````.,,,,,,,::::::::;;;;''''+++##+'::::::;;;;;;:::::::::,,,::::;;::,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::;;;;;''''+''+++++'''''''''''';;;;;:,` ``````````````````````
`````````````````.,,,,,,,::::::::;;;;''''+++##+';'';:;;;;;;:::::,:::::,,::::;;;:,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::;;;;;;''''+''+++++'''''''''''';;;;::,` ``````````````````````
`````````````````.,,,,,,,:::::::;;;;;'''++++##+;''';:;;;;;;:::::,:::::,,,::::;;::,,,,,,,,,,,,,,,,,,,,,,,:::::::,::,,,,,,::::,,,,:::::::::::::::::::::::::::::;;;;;;;;;'''''''++++++''''''''''';;;;:::. ``````````````````````
`````````````````.,,,,,,,::::::;;;;;''''++++##+;''';:;;;;;;:::::,:::::,,:::::;;::,,,,,,,,,,,,,,,,,,::::::::::::::::::,,,:::::,,,::::,::::::::::::::::::;;;;;;;;;;;;;;;'''''''+++++++'''''''''';;;;;;:.```````````````````````
`````````````````.,,,,,,,::::::;;;''''''++++##+'''';:;;;;;;;:::,,:::::,,::::::;:::,,::,,,,,,,,,,,,,:::::::::::::::::::::::::::,,::::,::::::::::::::::;;;;;;;;;;;;;;;;;'''''''+++++++'''''''''';;;;;;;,```````````````````````
`````````````````,,,,,,,::::::;;;;'''''+++++##+'+';;;;'';;;;:::,::::::::,,:::::;::,::,,:,,,,,,,,::::::::::::::::::::,,,::::::::,::::::::::::::::::::::;;;;;;;;;;;;;;;;;;''''''++++'''''''''''';;;;;;::.``````````````````````
`````````````````,,,,,,,::::::;;;'''''''++++##+'';;::;';;;;:::,,:::::::::,:::::;::::::::,,::::,,:::::::::::::::::::::::::::::::,:::::::::::::::::::::;;;;;;;;;;;;;;;;;''''''++++++'''''''''''';;;;;;::.``````````````````````
`````````````````,,,,,:,,:::::;;;;''''''++++###+';::;;';;;::::,,:::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::,::::::::::::::::::::;;;;;;;;;;;;;;;;;'''''''++++++''''''''''''';;;;;::,``````````````````````
`````````````````,,,,,:::::::::;;;;'''''++++###+';::;;';;;:::::::::::::::::::::;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;'''''''++++++''''''''''''';;;;;::,``````````````````````
`````````````````,,,:,:::::::::::;;;;''''++++###';:;;'';;;:::::::::::::::::::::;;::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;'''''''++++++''''''''''''';;;;;:;,.`````````````````````
`````````````````,,,:,::::::::::;;;;;;''''+++###+;:;''';;;:::::::::::::::::::::;;::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;''''''''+++++''''''''''''';;;;;:;:.`````````````````````
`````````````````,,,,,::::::::;;;;;;;;'''+++++##+;:;'';;;:::::::::::::::::::::::;:::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;'''''''++++++''''''''''''';;;;;:;:,`````````````````````
`````````````````,,,,,:,::::;;;;;;;;;'''++++++##+;:;';;;;::::::::::::,:::::::::::::;;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;';;;;;;';;'''''++++++++''''''''''''';;;;;::::`````````````````````
`````````````````,:,,::,:::::::;;;;;''''++++++##';;''';;:::::::::::::::::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;''';'''';';;'''''''++'++++++''''''''''''';;;;;;;:,.````````````````````
`````````````````,:,,:::::::::;;;;;;''''+++++++#';;''';;::::::::::::::::::::::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;'''''''';';''''''''++'+++++'''''''''''''';;;;;;;::.` ``````````````````
`````````````````,,,::::::::::;;;;;'''''+++++++#';'''';;::::::::::::::::::::::::;;';::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;''''''''''''''''''''++'++#++'''''''''''''';;;;;;;;:.` ``````````````````
`````````````````,:,::::::::::;;;;'''''+'+++++#+';'+'';;:::::::::::::::::::::::;;;';::::::,::::::::::::::::::::::::::,,:::::::::::::::::::::::;;;;;;;''''''''''''''''''''+''+++++''''''''''''';;;;;;;;;:,````````````````````
````````````````.,:::::::::::;;;;;'''''+++++++++'''+'';;::::::::::::::::::::::;;;;;;::::::::::::,,,,,::::::::::::::::,,::::,,:::::::::::::::::;;;;;;''''''''''''''''''''''''+++++''''''''''''';;;;;::::::.```````````````````
````````````````.,:,:::::::::;;;;;'''''+++++++++''''';;;;;;;;;::::::::::::::::;;;;;;;:::::::::::,,,,,,::::::::::::,::,,,::,,,,::::::::::::::::;;;;;''''''''''''''''''''''''''++++''''''''''''';;;;;;:::::.```````````````````
````````````````,,,,,::::::::;;;;;''''''+++++#++'''';;;;;;;;;;;:::::::::::::::;;;;;;;::::::::,,,:,,,,,::::::::::::,::,,,:,,,,,:::::::::::::::;;;;;;''''''''''''''''''''''+''++#++''''''''''''';;;;;;:;:::.```````````````````
````````````````,,,,,:::::::;;;;;;'''''''++++##+'';;;;;;;;;;;;;;::::::::::::::;;;;'';:::::::,,,,::,,,,:::::::::::,,::,,,:,,,,,::::::::::::::;;;;;;'''''''''''''''''+++++'++'++#++'''''''''+''';;;;;;;;;::.```````````````````
````````````````,,,::::::::::;;;;;;'''''+++++###';;;;;;;;;;;;;::::;;::::::;;;;;;;;;;;;::::::::,,,,,,,,,,::,,,,,,,,,,,,,,::::::::::::::::::;;;;;;;;''''''''''''''''''++++'++++##+++'''''''''''';;;;;;;;;;:,```````````````````
````````````````,,::::::::::::;;;;;''''''++++###';:;;;;;;;;;;;::::;;;;;;::;;'''';;;;;;::::::::::,,,,,,,,::,,,,,,,,,,,,,,:::::::::::::::::::;;;;;;''''''''''''''''''''+++'++++##+++'''''''''''';;;;;;;;;;:,```````````````````
````````````````,,:::::::::::;;;;;;''''''++++###'::;;;;;'';;;;;:;;;;;;;;;;;;'+'';;;;;;::::::::::,,,,,,,,::,,,,,,,,,,:::::::::::::::::::::::;;;;;;''''''''''''''''''''''''++++##++++''''''''''';;;;;;;;;::,.``````````````````
````````````````,,:::::::::::;;;;;;''''+'++++###'::;;;;;';;;;;;;;;;;;;;;;;;;''';;;;;;;::::::::::::,,,,,,,,,,,,,,,,,,,:::,::::::::::::::::::;;;;;;''''''''''''''''''+++'''++++##++++''''''''''';;;;;;;;;:::.``````````````````
````````````````,,:::::::::::;;;;;;''''++++++##+'::;;;;;';;;;;;;;;;;;;;;;;;;''';;;;;;;:::::::::::::,,,,,,,,,,,::,,,,,,,,::::::::::::::::::;;;;;;'''''''''''''''''+++++++'++++#+++++''''''''''';;;;;;;;::::.``````````````````
````````````````,,::::::::::;;;;;;;''''++++++##+'::;;;;;'';;;;;;;;;;;;;;;;''''''';;'';;:::::,,,,:::,,,:::,,,,:::,,,,,:::::::::::::::::::::;;;;;;''''''''''''''''''+++++++++++#+++++'''''''''''';;;;;;;::::,``````````````````
````````````````,,::::::::::;;;;;;;''''++++++##+';;;'''''';;;;;;;;;;;''''''''''+'';;;;;:::::,,,::::,:::::::::::::::::::::::::::::::::::::::;;;;;''''''''''''''''''''+++++++++#+++++'''''''''''';;;;;;:::::,``````````````````
````````````````,,::::::::::;;;;;;;''''+'++++##+';;'''''';;;;:::;;;;'''''''''''''';;;;:::::::::::::,:::::::::::::::::::::::::::::::::::::::;;;;;''''''''''''''''''''''''+++++#++++++''''''''''';;;;;;:::::,``````````````````
````````````````.,:::::::::::;;;;;;;''''+++++##+'';'''''';;:::::;;'''''''''''''''';:;;;:::::,:::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;'''''''''''''''''''''++++++##++++++''''''''''''';;:::::::,.`````````````````
````````````````.,:::::::::::;;;;;;;''''+++++##++'''''';;;::::;;;'''''+'+'''''''';;::;;:::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;'''''''''''''''''''''''++++###+++++''''''''''';;;;::::::::.`````````````````
````````````````.,:::::::::;;;;;;;;;'''''++++###++''+'';:::::;;;''''++++++'''';;;;::::;::::::::::::::::::::::::::::::::::::::::::::;;;;::;;;;;;;;''''''''''''''''''''''''+++###++++'''''''''''';;;:::::::::,`````````````````
````````````````,,::::::::;;;;;;;;;;''''''+++###+++''';::::::;''''+++++'+''';;;:::::::;;::::::::::::::::;;:::::::;;;;:::::::::::::;;;::::;;;;;;;;''''''''''''''''''''''''++####++++''++'''''''';;;:::::::::,.````````````````
````````````````,,::::::::;;;;;;;;;;''''''+++###+++'';::::::;''+++++++'''';;;::::::::;;;;;:::::::::::;;;;;;:::::;;;;;;;::::::::::::::::::;;;;;;;;''''''''''''''''''''''''++####+++++''''''''''';;;:::::::::,.````````````````
````````````````,,::::::::;;;;;;;;;;''''''+++#####+';:,,,::;'+++++++++'';;::::::,::::;;;;;;::;;;;;;;;;;;;;;;:;;;;;;;;;;:;::::::::::::::::;;;;;;;;''''''''''''''''''''''''++###+++++++'''''''''';;;::::::::::.````````````````
````````````````,,:::::::;;;;;;;;;;;''''+'++#####+';::,,:;;'+++++++''';;;:::,::,,::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::::::::::::::;;;;;;;;;'''';'''''''''''''''''''++###+++++++''''''''';;;:::::::::::,````````````````
````````````````,,::::::::;;;;;;;;;;''''+'++#####+':,:::;;'+++++''';;;;::::,,:,,,,:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;:::::::::;;;::;;;;;;;;;''';;'''''''''''''''''++++###++++++++'''''''';;;:::::::::::,.```````````````
`````````````` ,,,::::::;;;;::;;;;;'''''+'+'#++#+'::::;'''+++++'';;:::::::,,,,,::,,::;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;::::;;:::::::::::::;:;;;;;;;''''''''''''''''''''''''++##+#++++++++'''''''';;:::::::::::::.` `````````````
```````````````,,,::::::;;;;;;;;;;;;'''''+++#+##+;::;;''++++++';;;::::,,,,,,,,,,:::::;;;;''''''''';;';;;;;;;;;;;;;;;::::::::::::::::::;;:;;;;;;;''''''''''''''''''''''''++##+#+#++++++'''''''';;:::::::::::::,```````````````
```````````````,,::::::::;;;;;;;;;;;''''+++++++#';:;'''++++''';;::::,,,,,,,,,,::::::;;;;;''''''''''''';;;;;;;;;;;;;;::::::::::::::::;;;;:;;;;;;;''''''''''''''''''';;'''++##+###++++'''''''''';;:::::::::::::,.``````````````
```````````````,::::::::::::::;;;;;;''''+'+++#+';;;;''+++'';;;::::,,,,,,:::::::::::::;;;;;'''''''''''';;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;;;;''''''''''''''''''';;;;'''++#+#++++++''''''''';;;:::::::::::::,.``````````````
``````````````.,::::::::::::::;;;;;;''''''+###+''''''''+'';;::::,,,,,,::::::::::::::::;;;''''''''''''';;;;;;;;;;;;;:::::::::::::::::;;;;;;;;;;;''''''''''''''''''';;;''''++#++++++++''''''+'';;;::::::::::::::.``````````````
``````````````.,:::::::::::::;;;;;;;''''++++;;'++'''++'';;::::::,,,,,:::::::::::::::::;;;'''''''''''';;;;;;;;;;;::::::::::::::::::::;;;;;;;;;;'''''''''''''''''''''''''''';#+#++++++''''++''';;;::::::::::::::,``````````````
``````````````.,::::::::::::::;;;;;;''''+++'..,;'''''';;;:::::,:,,::::::::::::::::::::;;;''''''';;;;;;;;;;;;;;;:::::::::::::::::::::;;;;;;;;;;'''''''''';;;'''''''''''';';,++#++++++''''+'''';;::::::::::;;:::,.`````````````
``````````````,,,,:::::::::::::;;;;;''''''++,` `;'++';;;::::::,::::::::;;;;;;::::::::::;;'''''';;;;;;;;;;;::::::::::::::::::::::;;;;;;;;;;;;;;'''''''''';;;'''''''''''';;,`'+#++++++'''+'''';;:::::::::::;;:::,.`````````````
``````````````,:::::::::::::::;;;;;;'''+++++.```.;+'';;:::,,:::::::;;;;;;;;;;;;;;::::::;'''';;;;;;;;;;;;;::::::::::::::::::::::;;;;;;;;;;;;'''''''''''''''''''''''''''''',`,'+++++++''''''';;;::::::::::;;;::::,` ```````````
``````````````,:::::::::::::::::;;;;'''+++++.````:'+';;:::::::::;;;;''''''''''';;;;;:::;'''';;;;;;;;;;;;;:::::::::::::::::::::::;;;;;;;;;;;;;;'''''''''';''''''''''''''';. .'#++++++''''''';;;::::::::::;;;::::,` ```````````
`````````````.,::::::::::::::::;;;;;'''+++++,````.'#';;::::;;;;;''''''''''+++'''''';;:;';;;;;;;:;;::::::::::::::::::::::::::::::;;;;;;;;;;;;;;'''''''''';;;''''''''''''';` `:#+++++'''''''';;:::::::::::;;:::::,.````````````
`````````````.,:::::::::::::::;;;;;''''+++++,````,+#+'';;;;;'''''''''''''''+'''''''';;;';;;;;:::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;'''''''''';;;;;;;;''';'''';`` ,++++++''''''';;;:::::::::;;;;::::::.````````````
`````````````.:,::::::::::::::;;;;;''''+++++,````;++#+'''''''''''''''''''''''''''''''''';;;;:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'''''''''';;;;;;;;'';;;'';:`` .++#+++''''''';;::::::::::;;;;::::::.````````````
`````````````,:,::::::::::::::;;;;;''''+++++,```.'+'++''''+++''''''''''';;;;;;;;;;;;;'''::::::::::::::::::::::::,::::::::::::::;::;;:;;;;;;;;;'''''''''';;;;;;;;;;;;;';;,`` `;+#+++''''''';;:::::::::;;;;;;::;::,````````````
`````````````,:,::::::::::::::;;;;;'''''++++,```.'+++';;'''''''''';;;;;;::::::::::;::;;;::::::::::::::::,,:::::::::::::::::::::;:::::;;;;;;;;;'''''''''';;;;;;;;;;;;;;;:.````,'+++++'''''';::::::::;;;;;;;;;;;::,````````````
`````````````.,,::::::::::;;;;;;;;;'''''++++,```,;++';;;:;;;;;;;::::::::::,,,,,,,::,,::;:::,::::::::,,,,,,,,:::::::::::::::::::;::::::;;;;;;;;;''''''''';;;;;;;;;;;;;;::```` .'+++++''''';;::::::;;;;;;;;;;;;;::.` ``` ``````
````````````.,,,,::::::::::;;;;;;;;;''+++++': ```:';;;;;;;::::::::::,,:::::,,,,,,,,,,,:;;::::::,::::,,,,,,,,,,,,:::::::::::::::::;;;;;;;;;;;;;''''''''';;;;;;;;;;;;;:;;,``````,++++'''''';;:::::;;;;;;;;;;;;;:::.````````````
````````````.,,,:::::::::::;;;;;;;;;''++++++;````.,:::::::::::::::::::::,,,,,,,,,,,,,,:;:::::::::::::,,,,,,,,,,,:::::::::::::::::;;;;;;;;;;;''''''''''';;;;;;;;;;;;;;;:,``````,'+++''''';;;:::::;;;;';;;;;;;;:::,````````````
````````````.,,,::::::::::::;:;;;;;;'''+++++'``````.,,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,::;:::::,::::::::,,:::::::::::::::::::::::::;;;;;;;;;;;''''''''''';;;;;;;;;;;;;;;:,``````.'++++''';;;;::;;;;;''''''';;;;::::.```````````
````````````.,,,:::::::::::::::;;;;;'''+++++'````` `.,:;:::::,,,,,,,,,,,,,:::::::::;;;;;;::::,:::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''';;;;;;;;;;;;;;;:,``````.'++++'';;;;::;;;;'''''''''';;;;:::.```````````
````````````.,,,::::::::::::;::;;;;''''+++++;```````.:''''';;::::::,,,:::;;;;;;''''''''''::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''';;;;;;;;;;;;;;;:,``````.'++++'';;:::;;;;;''''''''';;;;;:::.```````````
````````````.,,::::::::::::;;;;;;;'''''+++++;``` `` `:''''''';;;::::::;;'''+++++++++++++';::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;''''''';;;;;;;;;;;;''';,``````.;++++'';;;;;;;;;''''''''';;;;;::::,```````````
````````````,,,,:::::::::::;;;;;;;''''++++++;```````.:;;;;;;;;;;::::::;;'''+++++++++++++';:::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;'''''''';;;;;;;;;;;;;'';,```````;++++''';;;;;;;'''''';;;;;;;;:::::,```````````
```````` ```,:,,::::::::;::;;;;;;;''''+++++': ``` .::::::::;;::::::::;;;;'''''''''''''''::;:::;:::::::::::::::::::::::::::::::::::;;;;;;;;;;'''''''''';';;;;;;';;;;;';,```````:++++''';;;;;;'''''';;;;;;;;;::::::.``````````
```````````.,:,,::::::::;;;;;;;;;'''''''+++'.`````,::,::::::::::::::::::::::;;;;:;;;;;;;;::;;::;;;;:::::::::::::::::::::::::::::::;;;;;;;;;;;''';;''''';;;;;;;;;;;';;;;.```````:+#+++'''''''''''';;;;;;;;;::::::::.``````````
```````````.,:,,::::::::;;;;;;;;;''''''++++'.````.,::,:::,,,,,::::::::::,,,:::::::::::::;::;;;:;;;;:::::::::::::::::::::::::::::;;;;;;;;;;;;''''''''''';'''''';;;;;;;;:.```````:+#++++'''''';;;;;;;;;;;;;:::::::::.``````````
```````````.,:,,::::::::;;;;;;;;;'''''+++++'.````.,,,,,,,,,,,,,,:::;;::,,,,,,,,,,,,,,,,,:::;;;;;;;;;:::::::::::::::::::::;;;;;;;;;;;;;;;;;;''''''''''''''''''';;;;;;;;:````````:++++++'''''';;;;;;;;;;;;::::::::::.``````````
```````````.,:::::::::::;;;;;;;;'''''''++++;.````.,,,,,,,,,,,,:::::;::,,,,,::,,,,,,,,,,,:::;;;;;;;;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;';'''''''''''''';'''';;;;;;;;;;,````````,'++++++'''';;;;;;;;;;;;;::::::::::,``````````
```````````.,:::::::::::;;;;;;;'''''''''+++:`````.,,,,,,,,,,:::::::::::,,:::::,,::,,,,,,:::;;;;;;;;;;:::::::::::::;;;;;;;;;;;;;;;;;;;;;';'''''''''''''';;;;;;;;;;:;;;;,````````,'+++++++'''';;;;;;;;::::::::::::::,``````````
````````` `,::::::::::;;;;;;;''';'''''''++',`````.,,::::::::::::::::::::::::::::::::::::::;;;;:;;;;;;;:::::::::::;;;;;;;;;;;;;;;;;;;;;'';'''''''''''''';;;;'';;;;;;;;;,````````.'++++++''''''''';;;;;:::::,,,:::::,``````````
````````` `,:::::::::;;;;;;;;;;;;;;;'''++++,``````.,::::::::::::::::::::::::::::::::::::::;;;;:;;;;;;;::::::::::;;;;;;;;;;;;;;;;;;''''''''''''''''''''';''''';;;;:;;;;,`````````;++++++'''''''''''';;;;:::::::::::,``````````
````````` `,::::::::::;;;;;;;;;;;;;;;''++++.```` `,,:::::::::::::::::::::::::::::::::::::;;;;:;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''';;;:;:;;;;,``````` `;++++++''''''''+'''';;;;;::::::::;,``````````
``````````.,:::::::::;;;;;;;;;::;;;;;''+++'.`` ````.,::::::::::,::::::::::::::::::::::::::;';;;;;;;;;;;:;;;;::;;;;;;;;;;;;;;;;;;'''';;;''''''''''''''''''';;'';;;;;;;;: ````````;'+++''''''''''+'''''';;;;;;:::::;:.`````````
``````````.,:::::::::::::::::::::;;;''++++;.````````,:::::::::,,::::::::,:::::::::::::::::;';;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''';;'';''';;;;;;;;:`````````;'+++''''''''''''''''''';;;;:::::;:.`````````
``````````.,:::::::::::::::::::::;;'''++++:`````````.,::::::,,,,::::::::,,::::::::::::::;:;'';;;;;;;;;;;::;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''';;';;;'';;;;;;;;:`````````:'++''''+++''''''''''''';;;;:::::;:.`````````
``````````.,,::::::::,,,,,,,::::;;'''+++++:` ````````,::::::,,,,,,,,,:::::::::::::::::::;;;';;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''';;;;;;'';;;;;;;;,`````````.'++''''++++++''++''''';;;;::::::;;,`````````
``````````.,,:::::,,,,,,,,::::;;;''++++++':``````````.::::::::,,,,,,:::::::::::::::::::;;;'';;;:;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''';;;;;;;;;;;;;';.`````````.;++''+''''++'''++''';;;;;::::::;;;,`````````
``````````.,,,:,,,,,,,,,,,:::;;'''+++++++',````````` `,::::::::,,::::::::::::::::::::::;;;'';;;;;;;;;;;'';;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''';;;;;;;;;'''';.``````````:'+''+'+++++++'''';;;;;::::::::;;;:`````````
```````` `.,,,:,,,,,,,,,,::;;;'''++++'+++;.```````````.,:::::::::::::::::::::::::::::::;;;'';;;;;;;;;;'''';;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''';':```````````,''+''+++++++''';;;::::::::::::;;;:.````````
```````` `.,,,,,,,,,,,,:::;;;''+'+++''+++;` ```````````,::::::::::::::::::::::::::::::;;;;'';;;;;;;;;'''';;;;;;;;;;;;;;;;''''''''''''''''''''''+''''''''''''''''''';;:```````````,;'++'+''++''';;;:::::::::::::;;;;:.````````
``````````.,,,,,,,,,,:::;;;''''''''''++++;``````````````,:::::::,:::::::::::::::;;;;;;;;';;;;'';;;;''''';;;;;;;;;;'';''';'''''''''''''''''''''''+++''''''''''''''''';.````````````:++''+++''';;;:::::::,::,::::;;;;:.` ``````
``````````.,,,,,,,,:::::;;''''''''''''+++;``````````````.:::::,::::::::::::::;;;;;;'''''''''''''''''';;;;;;;;;;;;;;;;;''''''''''''''''''++++++''''++''''''''''+''''':`````````````:+'''''';;;;::::::::,,::::::;;;;;:.````````
```````` `.,,,,,,,:::;;;;'''''''''''''++':``````````````.;;;;:::::::::::::::;;;;''''++++'''''''''''''';;;;;;;;';;''';;''''''''''''''''++++++'''''''''''''''''++++++':` ```````````:+''''';;;;::::::::::::::::;;;;;;:,````````
```````` `.,,,,,:::;;;;;;''''''''''''''+',``````````````,'+''';;;;:::::::::;;;;;'''+++++'''''''''''''''';;;;;;;;'''''''''''''+++''''''''''''''''+++++'''''++++++##+', ````````````:'''';;;;;::::::::::::::::;;;;;;;;,.```````
``````````.,,,:,:::;;;;;;''''''''''''''+'.``````````````,'#++''''';;;;;;::::;;;;'''''''';''''''''''''''';;;;;;;;''''''''''''''''''''''''''''''+++++++++++++++##++++',`````````````:'''';;::::::::::::::::::;;;;;;;;;:.```````
``````````,,,:::::;;;;;;;;;;;;;;'''''''+'.``````````````,+###+++'''''''';;;;;;;;;;;;;;;;;'++++''''''''''';;;;;;;;;';;;''''''+++++'''''''''++++++++++++++++++++'''++',`````````````:'''';;;:::::::::::::::::::;;;;;;;:.```````
`````````.,:::::::;;;;;;;;;;;;;;;;;''''''```````````````:+######+''''''''''''';;;;::;;;;;'++'++''''''''''';;;;;'''''''''''++++++++++++++++++++++#+++++++'''''''''++',`````````````:'++''';;;;;::::::::::::::::::;;;;:.```````
`````````.,::::::::;;;;;:::::::;;;;''''''```````````````:+#######++''''';;;''''';;;;;;'';'++'+++'''''''''';';;;'''''''''''''''''++++++++++++++++++''';;:;;;;'++++##+,`````````````:'++'''';;;;;;::::::::::::::::;;;;:.```````
```````` .,,::::::::::::::::::::;;'''''''.``````````````;+########++#+++''';;;;::::;;;;;''++''';;;';::::::::::::;;;;;;;;;;;;;'''''';;'++++';'';;;;;;:;;;''+########+,`````````````,'++++'''''''';;;;;;:::::::::::::::````````
`````````.,,::::::::::::::::;;;;;''''''';. `````````````;+############++##+++''';;::::::;'';;;::::;:,,..........,,,,,,,:::::::::::,,,::::;::;;;;'''''+++########+##+,`````````````,'+++++++''''''';;;;;::::::::::::::.```````
`````````.,:::::::,,,,::::::;;;;;''''''':` `````````````;+####################++++''';;''''';;;:;;:,.....```````..,,,,,,,,,,,,,,,,,,,,,,,::;'''+++##############+##+:`````````````,;+++++++++'''''''';;;;;;::::::::::.```````
`````````,:::::::::::::::::::;;;;;'''''',` ````````````.'+##############+############++++##+++++++;,..,...`````..,,,,,,,,,,,,,,,,,,,,,,,:;'++######################+:`````````````.;++++++++++++'''';;;;;;;;;;;::::::,```````
`````````,:::::::::::::::::::::::;;;'''',``````````````.'#######################++++##############;,,,,...````.,,,,,,,,,,,,,,,,,,,,,,,,:;+#########################+:`````````````.;+++'+++++''''';;;;;;;;;;;;;;;;;;;:```````
`````````,::::::::::::,,::::::::;;;''''',``````````````,'###################+++++++++++###########:.,..``````..,,,,,,,,,,,,,,,,,,,,,,,::'+#########################+:` ```````````.;'++'++++''';;;;;;;;;;;;;;;;;;:;;;:```````
`````````,::::::::::::::::::::::;;'''''',``````````````:+#################++++++++++++++##########:.,...`````..,,,,,,,,,,,,,,,,,,,,,,,,:;+#########################+:`````````````.:'+''''''';;;;:::;;;;;;;;;;;;;:;;;:```````
`````````,:::::::::::;;;:::::::::;;;'''',``````````````;+#########++####+++####+++++++++##########:,,...````..,,,,,,,,,,,,,,,,,,,,,::,,:;+#+########################;.``````````` .:'''';;;;;;:::::;;;;;;;;;;;;;;:;;;:```````
````````.,,,:::::::::::::;;;;;::;;;;;'+',` ```````````.;+########+++###+#####++++++++++++++######+:,..``````..,,,,,..`.,,,,:,,,,::::,,,:'+###+'+################@#+#;`` `````````` ,'''';;;;::;;;;;;;;;;;;::::::;;;;;:```````
````````.,,,,:::::::::::;;;;;;;;;;;';'+',` ```````````.'++########++####++++++++++++++++#########+:,..```````..,:,.````.,,,:,,,::::,,,,,;+##+::;####################'.```````````` ,'''';;;;;;;;;;;;;;;;::::::::;;;;;:```````
````````.,,,,:::::::::;;;;;;;;'''';'''''.`````````````,++##########+####'++++++++''+++++###+#####+:,..````````.,,,`````.,,,,,::::::,,,,,'###+:,;+###################',`````````````.;''';;;;;;;;;;;'';;;:::::::::;:;;;```````
````````.,:,::::::::::;;;;;;;;;';;;'''';``````````````:+################++++++++++'++++++++++####+:,..````````.,..`` `.:,,,,:::::::,,::'###+';'+###################+;`````````````.;'''';;;;;;;;;;;;;::::::::;;;;:;;:```````
````````.,::::::::::::::;;;;;;;;;;;'''';`````````````.:++#############+#####++++++++++++'+++#####+:,..````` ``.,``````.,::,,,::::::,,,::'#++#';'+####################'.`````````````:'''';;;;;;;;;;;;:::::::;;;;;;;;::```````
````````.,:::::::::::::::::::::::;;'''';````````````.,:''+#####++####++###++++++++''+++++++######+,,..`.``` ``....``,,,,::,,,,,,,,,,,,,:'+###';'+####################+,`````````````:'''';;;;;;;;;;::::::::::;;;;;:;::```````
````````.,::::::::::::,,::::::::;''''+';```````````.,,::;'+++##+###+#++#+++++++++''''+++++#######+,,..`.``````..,,.,,,,,:,,,,,,,,,,,,,,:'####+++#####################+;`````````````,'''';;;';;;;;:::::::::::;;;;;:;::```````
````````.,::::::::,,,,,,:::::;;;;''''++;``````````.,::,,::;;'+++###+#++#+##++++'''''''++++++++###',...`.`````..,:::,...,:,,,,,,,,,,,,,::+@#+######################+#+''.``````````` ,';'';;;';;;;;:::::::::::;;;:::;:;```````
````````,,::::,,,,,,,,::::;;;'''++'''+';`````` .,,,,,,,:,,::;;'''++##++#++++++''';;'''+++++++###',.....````...,:::,..,,::,,,,,,,,,,,,,:+##########################++';;`````````````;'''';;;;;;;;:::::::::::::::::;;:,``````
````````.,::,,,,,,,,,,::;;;'''''++''''';````````,,:,,::,,,,,,,::;;''+++#+++++++'';;;;''+++++++++#',....`......,,:;;::::::,,,,,,,,,,,,,,:+########################++';;;',. ``````````;'''''''';;;;;;;;:::::::::::;::;:,``````
````````.,,,,,,,,,,,:::;''''''''''''''';```````.:::::::::,,,,,,,::::;;''''+++++';;;;;;''+++#++++#',..........,,,,:;;;;:::,,,,,,,,,,,,,,:+####################++++'';::;+',```````````:''''''''';'';;;;;;;;::;;;;;;::;:,``````
````````.,,,,,,,::::;;;''''''''''';'''':``````.:;:::;;;:::::::,,:::,,,:::;''+++'';;;;;''++++++++#',..........,,,,::::::,:,,,,,,,,,,,,,,:+#################+++''';';;::;'+;.``````````,''''''''';'';;;;;;;;;;;;;;;;;:;:,``````
````````.,,,,,:::::;;;'''''''';;;;;;''':`````.:;;:::;;;;;;:::::::::,,,,::;;'''';;;;;;;''+'++++++#',...,......,,,,::::::,:,,,,,,,,,,,,,:;+#############+++''';;;;;;;;;:;;++;.`````````.;''''''';;;;;;;;;;:;;;;;;;;;;;;:,``````
````````,,,,,::::::;;;;;;;;;;;;::;;;''':`````,;';::::;;;;;;::::::::,,::::;;;;;::::::::;'';;'''''';,.........,,,:,::::::::,,,,,,,.,,,,,:;+###########++'';;;;;;;;;;;;;:;;'+',``````````;''';;;;;;;;;;;;;;:;;;;;;;;;;;;:,``````
````````,,,,,:::::;;;;;;;;:::::::::;;';:````.:'';:,::::;;;;;;;::::::::::;;;::,,,,,,,,::';:,::::::;,,.........,,,,,:::::::,,,,,,,,,,,,,:'########++++'';;;;;;;;;;;;;;:::;;'';.`````````;''';;;;;::;;;;;;;;;;;;;;;;;;;;:,``````
````````,,:,,:::;;;;;;;::::,,::::::;;;;:````.:'';:,::::;;;;;;;:::::::::;;::,,,,,,,,:::;';,,,,,,,,::,.....```..,,:,,,:::::,::,,,,,,,,,:;++####+++'';;;;;;';;;;;;;;;;;:::;;;';,```````` ;''';;;;;:::;;;;;;;;;;;::::;;;;:.``````
````````,,::::::;;;;;::::::::::::::;;';,`` `,;'+':,:::::::;;;;;:;::::::::,,,,,,,,::::;;;::,:,,:::::::,,,.....,,,::::::::::::,,,,::::;'+++++''''''';;;;;;'';;;;;;;;;::::;;;'':` ```````:';';;;;;;:;;;;;;;;;::::::;:;;:;, `````
````````,,:,::::;;;;;::::::::::::;;;;';,````:;''':,::,::::::;;;:;::::::::,,,,,,,::::;;;;::,:,::::::;;;;;;;;;;;'';;;;;''''''''''''''+++++''''''';;;;;;;;;'';;;;;;;;;::::;;;;':. ```````:''';;;;;;;;;;;;;:::::::;;;:;;:;.``````
````````,,:,::::::::::::::::::::;;;;;';,```.:'''':,::,,:::::::::;:::::::,,,,,,,::;;;;;;;::,::::::::;;'';''''''''''''''''''''''++++++++''''';;;;;;;;;;;;;'';;;;;;;;;::::;;;;;;,````````:'''';;;;;;;;;;:::::::::;;;:;;;;.``````
````````,,:,,:::::::::::::::::::;;;;;';,```.:''''::::,,,,:::::::::::::,,,,,,,::::;;;;;;;::,:::::;:::::::::::::::;;;;;;;;;;;;;;''''''''''''';;';;;;;;;;;;'';;;;;;;;;;::::;::;;,. ``````,'''';;;;;;;;;:::::::::;;;;;;;;;.``````
````````,,:,,::::::::::::::::::::;;;;';,```.:;;';::::,,,::::::::::::,,,,,,,,::::::;;;;;;;:::,:::::::::::::::::::::::::::;;;;;;''''''';;;''';;';;;;;;;;'''';;;;;;;;;:::::;::;;:.```````.'''';;;;;;;;:::::::::;;;;';;;;:.``````
```````.,,:,,::::::::::::::::::::;;;'';,```.:;;;;::::::,::::::::,,:,,,,,,,:::;;::;;;;;;;;:::,,::::::::::::::::::::::::::;;;;;;'''''''';;;';;;;;;;;;'''''';;;;;;;;;;:::::;;::;:,```````.'''';;;;;;;;:::::::;;;;;;';;;;:```````
```````.,,:,,::::::::::::::::::::;;;'';,` `.:;;;;:::::::::,,,,,,,,,,,,,,,:::;;;;:;;;;:;;:::::,:,::::::::::::::::::::::::;;;;;'''''''''''''';;';;;;;''''';;;;:;;;;;;:::::;;::::,````````;''';;;;;;;;;:::::;;;;;;;;;;:;:```````
```````.,,:,,:::::::::::::::::::;;;''';,` `,:;:;::::::::,,,,,,,,,,,,,,,,::::;;;;:;;;:::;::::::::::::::::::::::::::::;;;;''''''''''''''''''''''';;;;';;;;;;;:::;;;;;:::::;;::::,.```````;''';;;;;;;;;;;::;;;;;;;;;:::::```````
```````.,,::::::::::::::::::::::;;;''';,```,::::::::::,,,,,,,,,,.,,,,:::::;;;;;;:::::::;::,:::::::::::::::::::::::;;;;;;'''''''''''''''''''''';;;;;'';;;;;;::;;;;;::::::;;;::::.``````.:''';;;;;:;;::;;;;;;'';;;;;:::: ``````
```````.,,::::::::::::::::::::::;;;''';,```,:::::::,,,,,,,,,,,,,,,,,::::;;;;;;;;;;;::::;;::::::::::::::::::::::::;;;;;'''''''''''''''''''''';;;;;;;;;;;;;;:::;;;;;::::::;;;::::,```````,;'';;;:;:;;;;;;;;;;';;;;:::::: ``````
```````.,,:::::::::::::::::::::::;;''';,```.:::,,,,,,,,,,,,,,,,,,::::;;;;;;;;;;;;;;;::;;;:::::::::::::::;;;;::::::;;;;'''''';''''';;;;;;;';;;;;;;;;;;;;::::::;;;;;::::::;;;::::,```````.;'';;;:::;;;;;;;;;;;;;;;:::::: ``````
```````.,,:::::::::::::::::::::::;;;'';,```.:::,,,,,,,,,,,,,:::::::;;;;;;;;;;;;;;;;;::;;;::::::::;;;;;;;;;;;;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;:::::::;;::::,```````.;'';;;:::::;;;;;;;;;;;::::::::```````
```````.,,:::::::::::::::::::::::;;;;;;,```.:::,,,,,,,,,,,::::::;;;;;;;;;;;;;;;;;;;::::;::::::;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;:::::::;;:::::.``````.:'';;;;;::;;;;;;;;;;;::::::::;```````
```````.,::::::::::::::::::::::::;;;;;;:```,::,,,,,,,,,::::::;;;;;;''''''';;;;;;;;;:::;;;::;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;;;;;;;;;;;;:::::::::::;;;;;;;:::::::;;;::::,```````:;';;;;;;;;;;;;;;;;:::::::::;;```````
```````.,::::::::::::::::::::::::;;;;;;:``.:;::,,,,::::::;;;;;;''''''''''';;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;;;;;;;;;:::::::::::;;;;;;;;;::::::;;;::::,```````:;';;;;;;;;;;;;;::::::,,::::;;```````
```````.,::::::::::::::::::::::::;;;;;;:``.;;::::::::;;;;;;''''''''''''''';;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;::;;::;;;;;;;;::::::::;;;;;;;;;::::::;;;::::,```````,;';;;;;;:::::::::::,,,,:::;;;```````
```````.,,::::::::::::::::::::::::;;'';:``,''::;:::;;;;;'''''''''''''''';;;;;;:::;;;;;;;;;:;;:;;;;;;;'''''''';;;;;;;;;:::::::::::::;;:::::;;;;::;:::::::::;;;;;;;;;;:::::;;;::::,.``````,;';;;;;;:::::::::,,,,:::;:;;;```````
```````.,:::::::::::::::::::::::::;;;';; .:''::;;;;;;;'';;;''''''''''';;;;;;;;;;;;;;;;;;;;:;::;;;;;;;''''''''''''';;;;;;;;;::::::::::::::::::::::::::::::::;;;;;;;;;:::::;;;:::,,.``````.;'';;;;;:::::,,,,,,,::::;;;;;```````
```````.,:::::::::::::::::::::::::;;;;;;,:''';;;;;;;;;''''''''''''''';;;;;;;;;;;:;;;;;;;;;::::;;;;;;;;;;''''''''''';;;;;;;;;;::::::::::::;;;;;;:::::;;;;;;;;;;;;;;;;;::;;;';::::,,``````,;'';;;;;::::,,,::,::::::;;;;;```````
```````.,,::::::::::::::::::::::::;;;;'''++';;;;;;;;;;;;'''''''';;;;;;;;;;:::::::::::;;;;;::::;;;;;;;;;;;;;;;'''''';;;;;;;;;:::::::::::::::::::::::::::;;;;;;;;;;;;;::::;;;;:::::,``````,;';;;;;;::::::::::::::::;:::;```````
```````.,,::::::::::::::::::::::::;;;;'''++';;;;;;;;;;;;;;;;;;;;::::::::;;:::::::::::;;;;;::::;;;;;;;;;;;;;;;'''''';;;;;;;;;:::::::::::::::::::::::::::::::;;;;;;::::,,:::;::,,,:,`````` .,.....,....```,,,,,,,,,:,::: `````

També dóna l'opció de generar-ho en color.