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