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