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