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