?*+;,           ,,:;;;;;::,,       ,,,,,               ,:++;;:,      ,:;++*??%%%%%%%*+;:,                                            ,:;;++******?%%SS
*+;:,            ,,::::::,          ,,,,           ,   ,:;::,,       ,:;++*?%SSSS%%?*+:,,                                           ,,:::;;+++***??%%S
++:,           ,,,,,:::,,             ,        ,,,,,,,,,::,           ,:;+*?%%SSSS%?+;:,                                            ,,,,,:;++++***??%S
+;,          ,,,,,,,::,                    ,,,,,,,,,,,,,,,             ,:;+*%SS##S%?*;:,                                               ,,:;;+++***?%%S
;,,         ,,:::,,,,                     ,,,,,,,,,,,,,,,               :;+?S#####S%?+:,                                               ,,:;;;++*??%%SS
:,         ,,::::,,                      ,,,,:::,,,                    ,;*?%S#####SS%*;:                                                ,::;;++*??%%SS
:,          ,,:::,,                    ,,,,,::::,,                     ,+?%SS%SSSSSS%*+;,                                               ,:;;+++***??%S
:,           ,,,,,                     ,,,,:::,,,                      ,;*????SSSSSSS?*;:,                                              ,:;++*******?%
::,,                                   ,,,,::,                         ,,:;+*?%SSSSSS%*;:,                                              ,:;++*++++++*?
;;;:,,                                  ,,,,,                           ::;;+*?%%%%%%%*+:,                                              ,,:;+++;;;;+*?
++;;:,         ,,,,                                                    ,;++++*??%%%???+;:,                                               ,::;;;::;;+*?
+++;:,         ,,,,                                                    ,;++*****?????*+;:,                                               ,,,,::::;;+*?
*++;:,,        ,,,,,                                                   :;++*********++;::,                                                   ,:::;;+*?
?**+;:,       ,,,,,,                                                   ,:;+++****++;;;::,,                                                    ,,::;+*?
??*++;:,       ,,,                                                    ,,:;++***+++;;::,,,                                                      ,::;+*?
%???*+;:,,                                                           ,:;;;+++*+++;;:,,,                                                         ,:;+*?
%???**+;:,,                                                          :;+++;;;;;;;;:,,                                                            :;+*?
??*****+;:,                                                         ,:+++;;::,,::,,,                                                             ,:;+*
??*++++++:,                                                         ,;;;;:,,                                                                     ,:;+*
%?*++;;;:,,                                                         ,:::,,                                                                       ,:;+*
%?*++;::,                                                           ,,,,,                                                                        ,:;+*
%?*++;::,                                                                                                                                       ,:;+*?
%?*++;;:,                                                                                                                                     ,:;+*?%%
%%?*+;:,                                                                                                                                      ,;*?%SSS
S%?*+:,                                                                       ,,,,,,                                                          ,;+*?%SS
S%%?+;,                                                                     ,,::;;;;:,,                                                        ,:+*?%S
S%??*;,                                                                   ,::;;++**++:,                                                         ,;+?%S
#SS?*+:                                                                  ,:;;+**???*+;:,                                                        ,;+?%S
##SS%*+:,,                                                               ,:;+*?%%%%?*+;:,                                                      ,:;*?%S
SSSSS%?*;:,                                                               ,:+*?%%?*+:,,                                                       ,:+*?%S#
%%SSSS%?+;:,                                                                ,:::,,                                                           ,:+?%S##@
%%%%%%??*+;:,,                                                                                                                              ,:+*%S#@@@
%%%%%%%%???*+;:,                                                                                                                           ,;+*%S#@@@@
SSSSSSSS%%S%%?*+;:,,                                                                                                                     ,,;*?SS#@@@@@
####SSSSSSSS%%%?*++;:,                                                                                                                 ,,:;+*%S###@@@@
####SSSSS%%%%%%???*+;:,,                                                                                                             ,,:;++*?%S##@@@@@
##SSSSS%%??????????**+;::,                                                                  ,;;:,                                ,::;;+*??%%SS##@@@@@@
#SSSSSSS%%%SSSSSSS%%??*+;;:,,,,,,,,,,,,,            ,,                                       ,?S?*;:,                         ,:;++*?%%SSS####@@@@@@@@
##########@@@@@@@##SS%?*++;;;;;;;;++++;;::,,,,,,,,,::,                                        ,%%%*+:,        ,,,,,,,,,,,,  ,,:;+*?%S###@@@@@@@@@@@@@@
@@@#@@@@@@@@@@@@@@##SS%%?*********?????*****+++++++*;                                          *%?*+;:,,,,,,:;;;;;;;+++++;;;;;;;++*%S##@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@##SS%%%%%%%%%SSSSSSSSSS%%%??%%S*                                         ,%S%??*++;;;++*???%%??%%%%%???*******?%S###@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@@#########S,                                        ;##SS%???*???%%SSS###SSSSSSSSS%%%%%%%%SSS##@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                        ;@###SSS%%%SSSS##@@@@##########SSSSS#####@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                                        ,S@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                                          *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@