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