$$$$$$$\  $$$$$$\ $$$$$$$\  $$$$$$$\         $$$$$$\  $$$$$$$$\ $$$$$$$$\ $$$$$$\  $$$$$$\  $$$$$$$$\         
            $$  __$$\ \_$$  _|$$  __$$\ $$  __$$\       $$  __$$\ $$  _____|$$  _____|\_$$  _|$$  __$$\ $$  _____| 
            $$ |  $$ |  $$ |  $$ |  $$ |$$ |  $$ |      $$ /  $$ |$$ |      $$ |        $$ |  $$ /  \__|$$ |       
            $$$$$$$\ |  $$ |  $$$$$$$  |$$ |  $$ |      $$ |  $$ |$$$$$\    $$$$$\      $$ |  $$ |      $$$$$\     
            $$  __$$\   $$ |  $$  __$$< $$ |  $$ |      $$ |  $$ |$$  __|   $$  __|     $$ |  $$ |      $$  __| 
            $$ |  $$ |  $$ |  $$ |  $$ |$$ |  $$ |      $$ |  $$ |$$ |      $$ |        $$ |  $$ |  $$\ $$ |       
            $$$$$$$  |$$$$$$\ $$ |  $$ |$$$$$$$  |       $$$$$$  |$$ |      $$ |      $$$$$$\ $$$$$$  |$$$$$$$$\  
            \_______/ \______|\__|  \__|\_______/        \______/ \__|      \__|      \______| \______/ \________| 
                                                                                                       
                                                                                                                                          
                                                                                                                                          










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