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