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