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