@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                     ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,                    
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                                     S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                     
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:                                   +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                       
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S:                                 ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                        
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                               *@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                         
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?+;;;;;,                      ,#@@@@@@@@@@@@@@@@@@@@@@@@@@S:                          
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,                      ?@@@@@@@@@@@@@@@@@@@@@@@@@@%,                           
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                      :@@@@@@@@@@@@@@@@@@@@@@@@@@*                             
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                        %@@@@@@@@@@@@@@@@@@@@@@@@#;                              
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                        +@@@@@@@@@@@@@@@@@@@@@@@@%,                             :?
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                        ,S@@@@@@@@@@@@@@@@@@@@@@@*                              ;#@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                          ?@@@@@@@@@@@@@@@@@@@@@@%:                             ,?@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                         ,*@@@@@@@@@@@@@@@@@@@@@#+                              :S@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                          ;S@@@@@@@@@@@@@@@@@@@@#*,                              ;#@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                         :%@@@@@@@@@@@@@@@@@@@@#*,                               +@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                         ,*@@@@@@@@@@@@@@@@@@@@#*,                               ,*@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+,                         +#@@@@@@@@@@@@@@@@@@@@*,                                ,?@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?:                         :%@@@@@@@@@@@@@@@@@@@@?:                                 ,?@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                         ,*@@@@@@@@@@@@@@@@@@@@%:                                   *@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                          ;S@@@@@@@@@@@@@@@@@@@@*                                    ;@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                          ,*@@@@@@@@@@@@@@@@@@@@@*                                    :S@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*:                           :S@@@@@@@@@@@@@@@@@@@@@@@%+:,                               ,%@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                            +#@@@@@@@@@@@@@@@@@@@@@@@@@#*,                              ,?@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%;                              *@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                *@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                              ,?@@@@@@@@@@@@@@@@@@@@@@@@#+,                                 *@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;                               ,%@@@@@@@@@@@@@@@@@@@@@@@@?,                                 ,?@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+:                              ?@@@@@@@@@@@@@@@@@@@@@@@%:                                  ;#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                           *@@@@@@@@@@@@@@@@@@@@@@S;                               ,+%%S@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                          ;@@@@@@@@@@@@@@@@@@@@@@*,                                 +#@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%:                           ;#@@@@@@@@@@@@@@@@@@@@%:     ,:                            ;#@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;                            :#@@@@@@@@@@@@@@@@@@@@?,  ,;?S@@?                           ;#@@@@@@@@@@@@@@@@@@@@@@
@@@@###SSSS%%%???***+++;;;;;::;:::::,                             ,::::::::;;;;+++***??*    +#@@@@#,                          +@@@@@@@@@@@@@@@@@@@@@@@
;::,,,,                                                                                     ,,,,:::                           ?@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                                             :#@@@@@@@@@@@@@@@@@@@@@@@
,                                                                                                                            :**?%S#@@@@@@@@@@@@@@@@@@
,                                                                                                                                  ,,:;+*?%S#@@@@@@@@@
,                        ,,,,     ,,:                        ,:::::,,,,,,,,,                                                                ,:;+*?%S#@
:,:::;;++++***???%%%SSSSSS##S:   ;S@S,                       %@@@@@@@@######SSSS%%%??**+++;;;:::,                                                  ,,:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,   *@@+     :,    ::    ,+,   ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?,     ,                                              ,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;  ;#@S,    *S,   ,S*    ?@,   S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,                :?%??*++::,,                         ,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS@@@;    *#:    +#,   :@@?++%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+               ,+%@@@@@@@@@@##S%?*+;::,                ,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+    ;@?     %@:  ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;          ,*?**?#@@@@@@@@@@@@@@@@@@@@@@#S%?*+;:,,       ,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:   ,S@@%+;;?@@@S%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,:+*, ,:;*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%?*+;,,,
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S%%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#S
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@