@@@@@###SSS##@@@@#S%?*+*??%%%?*++;:,,,,,      ,,,,,,          :+++;:::+*S#@@@@@@#S%?*++++;+**??***+;::,,:;+*??%?+,     :+?S#@@@@@@#S%%%%SS@@@@@@@@@@@@
@@@@@@#####@@@@@@@#S%?*???%??*+;:,,                           :+++;::;+?S@@@@@@@#S%?****+++*????**+:,,, ,:;+*?%?;      ,+?S##@@@@#S%%%%%S#@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@#S%??%??**++:,      ,,,                   ,;+++;::;*%S#@@@@@@##S%????****????*+:,     ,:+*?*+:      ,+?S#@@@@##SSS%SS##@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@#S%??***++;,       ,,:,,,,              ,:+++;;;+*?SS####@@###SS%%%%???????**;,      ,:+***;,      ,;?%##@@@#########@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@####S%?**++;:,  ,,   ,,:::,::,,,,          ,;+++;;+*?%SSS#######SSSSSS%%%?****+;,        :+**+;,      ,;?%##@@#######@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@###SS%%?*;:,    ,,  ,:;:,:::;;:,,         ,:++++;++*?%SSSSS#SSSSSS%%SSSS%?*;;::,         ,;+++;,      :+?%##########@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#####S%%?+:,          ,:, ,:;;;;:,         ,:++++;;+*?%SSSSSSSSSS%%??%SSSS?;,,             :;+;::,,   ,+*%S#######@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@##SSSSS%?*;:,               ,,:;+;:,         ,:;::,,;*?S##S%%%%%%S%?**?%SS%*:,              ,;;;::,,   ,;?S#########@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#SSSSSS%?*;:,                  ,::::,,         ,,,  ,;*%S##SS%???%%%*+++*%%%*:                ,::,       :*%S##SSSSS##@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@#S%%????+;,,                     ,,,,               ,;*%#@@#S%??***+;:,,;+?%*:                           ,+%SS%????%##@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@##%????*+:,                                       ,,:+?S#@@@#S%%*+:,    ,::;:,                           ,;*??*+;+*%#######@@@@@@@@@@@@@
@@@@@@@@@@@@@@@#S%???*+:,                                        ,,:*%#@###SS%?+:                                       :;+;;:;+?%SSSSSS##@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#S%%%?+:                                             ,;;::,,::,,                                         ,:::;++*?????%SS#@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@##S%?*:,                                                                                                 ,:;+++++++*?%S#@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@##SS?+:,                                                                                                :;++++;;;+*?S#@@@@@@@@@@@@@@
@@@@@@@@@####SSS%%%%SS%?+:                                                                                              ,:;**??*+++*%S#@@@@@@@@@@@@@@@
@@@@@@@@@##SS%??**++*?%?*;,                                                                                            ,:;+?%S%%%%S##@@@@@@@@@@@@@@@@@
@@@@@@@@@@#S%%?****+++++++;,                                                                                           ,;+*%S####@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@#S%??*****+;;;++;,                                                                                      ,,,,:+?%S##@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@#S%%???*++;;+;:,                                                                                      ,:;;+?%S#@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@#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                                          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                                          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                         +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                      ,, +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                                      ;; ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@