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