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