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