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