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