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