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