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