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