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