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