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