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