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