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