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