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