,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,:-=-:,,:;;;;,,:;;;;,,,,;-=;,,,,;;;;;;;:,,,,;;;;;;;;:,,,:;-=;:,,,,,,,,,
,,,,,,,,;*SSSSS?;*SSS%:,*SSS%:,:?SSSS*:,;SSSSSSSS?;,:SSSSSSSS+,,+%SSSSS*;,,,,,,,
,,,,,,,-%SSSSSSS=*SSS%:,*SSS%::?SSSSSS*:;SSSSSSSSS%::SSSSSSSS+,*SSSSSSSS+,,,,,,,
,,,,,,;%SSSSSSS%,*SSS%:,+SSS%:+SSSSSSSS=;SSSS**SSSS-:SSSS%%%%=-SSSS%;;*+,,,,,,,,
,,,,,,*SSSSSSSS+,*SSS%:,+SSS%;%SSSSSSSS?;SSSS=;%SSS=:SSSS+:,,,+SSSS%;,,,,,,,,,,,
,,,,,;%SSSSSSS%:,+SSS%*+?SSS%-SSSS**SSSS-SSSS++SSSS-:SSSS*==:,+SSSSSS%*-,,,,,,,,
,,,,,-SSSSS*::;,,*SSSSSSSSSS%=SSS%::SSSS=SSSSSSSSS%::SSSSSSS-,;%SSSSSSSS*:,,,,,,
,,,,,-SSSSS*::;,,*SSSSSSSSSS%=SSS%;;SSSS=SSSSSSSS%-,:SSSSSSS-,,-%SSSSSSSS+,,,,,,
,,,,,;SSSSSS%S%:,+SSSS??%SSS%-SSSS%%SSSS-SSSS%SSS?,,:SSSS%**;,,,;+?SSSSSS?,,,,,,
,,,,,:?SSSSSSSS+,+SSS%:,*SSS%;%SSSSSSSS%;SSSS*%SSS-,:SSSS=,,,,,;+:,:+SSSS%:,,,,,
,,,,,,=SSSSSSSS%,+SSS%:,+SSS%:*SSSSSSSS+;SSSS+*SSS?,:SSSS%???==%S%=;=SSSS?,,,,,,
,,,,,,,+SSSSSSSS-*SSS%:,+SSS%:;%SSSSSS%:;SSSS=-SSSS-:SSSSSSSS+*SSSSSSSSS%-,,,,,,
,,,,,,,,=%SSSSS%-*SSS%:,*SSS%:,;%SSSS?;,;SSSS=,?SSS?;SSSSSSSS+,=%SSSSSS?;,,,,,,,
,,,,,,,,,:-+*+-:,;====,,-====,,,:=++-,,,:====;,-====;========;,,:-+*+=;,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,...,,,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,.,,,,,,,.,,,,,
,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::
:::::::::::::::::,,,,,,,,,,,,,,,:,,,,,,,,,,,,,::::;;;;;;;;:::;;;:;;:::;:;:::::;;
;:::;;;;;;;;;;;;;;:::::::::::;;;;;;;;:;;;;;:::::;;;;;;;;;;;;:::;;;;;;-----====++
-=========---------;;;;;;;;;;;;;;;;;;;-;;;;;;;;;;;-----=====++++++******???*??**
********************+++++++++++++++++++++=====-====+++++******??????%%%%%%%%%%%?
??%%%%%%%%%%%???????????*????????????????*********???????????%%%%%??*++=========
*++===++++++***????%%%?%??%?????????%%%%???????????%????**++===-------------=-==
----------------======++++++++++++++*%**+==++++++====--------------==+++********
------------------------------------=?==;==--------------=--===++*****??*??*****
==============+++++++============---=*=+-;---------======+++*????***++=------;;;
=+++++++++++++++******++++++++++++++*?+*?*+*++++++++***???**+==-------=========-
++*++++++++++++*++++++++++++++++++++++===++++*******+===--;----==++***????????**
--===++++++++++++++===================-------------------=+***??????????????***+
**??????????????????????????????????%?????***********?????%??????%%%%%%%%%%%%%??
%%%%%%%%%??%%????????????????????****?*??????????????????%?%%%%%%%%%%%%%%%%%S%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?%%%??%???????%%%%%%%%%%%%%%%S%SSSSSSSS%SSSSSS
%%%%%%%%%%%%%%%%%%%%%%%SSSSSS%%%%%%%%SSSSSS%%%%%%%%%%%%SSSS%%%??*********+++++++
%%SSSSSSSSSSSS%%%%%%%%%%%%??%%%%%%%%SSS**SSS%%%%%%%%??**+===----------==========
?**+=========+++=======-==------===++*+-=*?++==-----;;;;-----==++**???%%%%%%%%%%
======+++++++++++++++++++++=======+++==--=++++==----=====++*??%SSSSSS%%%%%%%%%%%
%%%SSSSSSSSSSSSSSS%SSSSSS%%%%%%%%%%%=-----=+%%??*****??%%SSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+-------=*SSSSSSSSSS%%SS%SSSSSSSSSSSSSSSSSSSS
SS%SSSSSSS%%S%%S%%%%%%%SS%%%%%SSSS+----;;;--=*%%??**?%%***?*?%%?*???%%%?%?%%%?**
%?**%??%S%*?%*?SS?*??*?S%**?*?%??+----;;;;---=*??%??%SS????*%S%?*?**%%%*%*%%%**?
SS?%S%%SS%?%??%SS??%??%S%????SS%*----;;;;;;-;-=*%%???SS%?%??%SS??%*?SS%?%*SS%**?
S%??%??SS%?%??%SS?*??*%S%*%??SS?--;;;;;;;;;;;;-=%S%%%SS%?%%?SSS??%??SS%%%?SS%???
#S%%S%S#SS%S?%%SS%?%??SS%?%?%SS=-;;;;;:::::;;;;-+SS%%%%%%%%%?%??????%%%%%%%%%?%%
S%?%%%%SS%?%??%SS??%??%S%%%%%%*;;;;:::::::::::;;-*%???**************************
%%%%S%%SS%%%???%%????*******?*;;;:::::::::::::::;-*???**????**?*?************???
????????????***************??-;;:::::,,,,,,::::::;+%%%%%%%%%%%%%%%%%%%%%%%?%%??%
????????**?************??%%%?;;:::,,,,,,,,,,,,,::;-?SSSSSSSSSSSSSSSSSSS%%%%%%%%%
%%%%??????????????????%%%SSS-;:::,,,,,,,,,,,,,,,::;=#SSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSS%%%%%%%%%%%%%%%SSSSS%:;::,,,,,,,::,,,,,,,,:;-?S%%%%%%%%%%%%%%%%%%SSSSSS%%
SSSSSSSSSSSSSSSSSSSSSSSSSSS-:::,,,,,,,;**;,,,,,,,::;=SS%%%%%%%SSS%S%%%%S%%%%S%%%
SSSSSSSSSSSSSSSSSSS%%%%%SS%;:::,,,,==:-S%-:==,,,,,::-%SSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSS%%S%%%SSSS+::::,,,:??;-?*=;??;,,,,::;+SSSSSS%%%SSS%%%%%%%%%%%%%%
SSSSSSSSSSSSSSSSSSSSSSSSSS;::::,:,:*?--%?--??;,:,,::;-??*++++=+=+====+=+++++++++
SSSSS####SSSSSSSSSSSS%%%%*;::::;+-:=?=;**--?+:-+-:::;-++=-=--=-===========+===++
SSSS#SSSSSSSSSS%%??*+++++-;;:::;S*:-*=;%?--*=:*%=::;:;=*++======+++++++++++*****
%%%%%?????****+++=====+++;;;;;;;=+;-?*;++-+?=;=+-;;;:;=***+*+******?????????????
+++++++++++++++++++++++*+;;;;++-*%--=+-**-=+=-%*-++;;;-*%%%%%%%%%%%%%%%%%%%%%%%%
?????????????????????%%%=-;;-**--++-+*-**-+*-=+=-**-;;-+%%%%??????????????%%%??%
SSSSSSSSSSSSSSSSSSSSSSSS---;--?+-*+--------=-+?=+?=;;--=%%%%?????????%%%%%%%%%%%
SSSSSSSSSS%S%S%S%%%%SSS%------=*--=-----------=-++-----=%%%%%%%%%%%%%%%%%%%%%%%%
SSS%S%S%%%%S%S%S%%%%%SS*---=*+=*=--------------=*=+*---=?SSSSSS%SSSSSSSS%%%%%%%%
SSSSSSSSSSSSSSSSS%SSSSS+====+*+--=--=------=--=-=+*+--==*SSSSSSSSSSSSSSSSSSSSSSS