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