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