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