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