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