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