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