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