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