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