SSSSSS######S%?**+++;;+++;:, ,,:;::,,,,,   ,::::;;+;+++*****?%SSSS%%??*+++;+***?%???**+++++;;::,                 ,,::;;;:::::;+*?%SSS%%??*+;;;:;;;+**?
SS%%%SSS##SS%?*+;;;:::;;;:,   ,,,,,          ,,,,,:::;;+****?%SSS%%??**++;++***??***++;;;;;;:,,                  ,:;;++++;;;;++*?%%%%???*+;:,,,,::;+*?
S%???%%SSSS%?*+;::,,,,:::,,                       ,,,:;+++*?%%SS%%%??**+;;++*******++;::;;;;:,                   ,:;;++**++++++*?%%%?***+;:,    ,,:;*?
%??????%%%%??*+;:,,, ,,::,,                          ,:;+**?%%SS%%????*+;;++********;;::,:++:,                   ,::;++*********?%%%*+**+;:,    ,,;+*%
%?*****????*++;:,,  ,,,:::,                           ,:;+**?%%%%%?%%??+;;;+********;;:,,:::,,                  ,,:;;++++**?*****???++++;;:,   ,:;+*?S
?*++++++***++;::,,,,,,::::,,                          ,::++*?%%???????*++;++*******+;::,,,,                     ,:::::;;;;+***??****+;;;;::,,,,:;+*?%S
?*+;;;;;;;+;;::,,,:::::;;::,                          ,,:;*?%%%?%%%??**++++***???**+;;:,,                       ,::,,,,::;+**???****+;:;;;::::;;++*?%#
%*+;;::::::::,,,,,:::::;;;:,                           ,:;+?????%%%%?********????**++;;:,                     ,,,,,    ,,:;++*******+;;+++;;;;+++**?S#
%*+;:,,,,,      ,,:,,,:;;::,,,,,,                      ,,:;+*+*????%?*****??????*+;++;;:,                    ,::,,       ,,:;++++++*+++****+++++***?%S
%*+:,, ,,        ,,, ,:;;::,,,,,                       ,,::;+++**??????????%%?*+;;;;;;;::,                   ,:,,,         ,:;;;;+**+**?????*+++++**?%
%*+;,                ,,::,,,,,,                       ,,::;;;;++*****???????*+;::::;;;;:,,                    ,,             ,:::;+**??%%%%?*++++++*?%
%?+;:,                                                ,,:;;;;;;;+**********+;;:,,::::::,,                                      ,,;++*?%SSS%?*++;;;;+?%
%?*+;:,                                                ,:;;;;;;;++++++****+;;:,::;;;;:::,                                       ,:;+*?%SSS%?*++;;;+*?%
%%?*+;:,,,,,                                            ,:::::::;;;+*****+;::::;;+****+;,                                        ,;;+*??%??*+++;;;**?%
%%?**+;::,,,,                                            ,,,  ,::;+*****++;:::;;+*????*+:,                                        ,,:;+****+;;;;;+*?%S
S%??**++:,,,,,                                                ,:;+*?????*+;;;+++*?%%%?**+:,                                          ,:;+++++++++*?%S#
#S%%??*+;:,,,                                                ,,:;*??%%%%?********??%%???*;,                                            ,::;;+++**?S##@
##S%%?**+;:,                                                ,:;+*??%%%%%%%%??**?????????*;,                                              ,:;;++*?S##@@
@##S%%??*;:,                                               ,:;**??%%%SSSSSS%???%%%??????*+:                                            ,,,:;++*?%#@@@@
@@##S%??*+:                                               ,:+*??%SS%%%SS%%%%%%%%%%???????*;,                                             ,:;+*?%S#@@@@
###SS%??*+:,                                              ,:+*?%%SS%%%%%%%%%%?%SS%%?****++:,                                            ,:;+*?%S#@@@@@
#SS%%??*+++:,                                                 ,,:::;++**+++++????*+:,,,                                               ,,:;+?%SS#@@@@@@
SS%%?**++;;:,                                                                ,,                                                       ,:;+?%%S##@@@@@@
%%???*+;;:,,,                                                                                                                        ,:;+*?%SS##@@@@@@
??****++;;::,,                                                                                                                       ,;+*?%SS###@@@@@@
%??****+++;;::,                                                                                                                     ,:+*?%S#####@@@@@@
SS%????**+;;;;:,                                                                                                                   ,:+*?%S####@@@@@@@@
##SS%%%%%?*+;;::,                                                                                                               ,,;+*?%SS###@@@@@@@@@@
@@####SSSSS%?*+;:,                                                                                                              :;*?%SS###@@@@@@@@@@@@
@@@@@####SSS%%?*;,                                                                                                             ,;*?%###@@@@@@@@@@@@@@@
@@@@@@@###SSSS?:                                                                                                              ,;+?%##@@@@@@@@@@@@@@@@@
@@@@@@@@@@####+                                                                              ,,                                ,,:;*#@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#?*;                                    ,                                      ,:,                                    ;@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@+                        ::::::::::;:                                      ,;;:,                               ,:;?@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@+                       ;*****+***?:                                       +?*+;:,                           ,%@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@?:                     ,:+?%%%%S#S,                                       ;SS%?;                          ,*#@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@%+:,                    :?##@@@%                                        :#@#*,                       ,;?#@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@#%?+,                 :S@@@@*                                        ,S@?,                 ,,,:;*?#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                  ?@@@@;                                         %@:                  ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                   +@@@@:                                         *#,                   *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@#,                   :SS%?,                                         ;S,                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                   ,,                                            ,+                   ,S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:                                                                                    :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                                                                                 ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                                                                               ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@