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