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