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