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