@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########SSSSSSSSSSSSSS#######@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######SSSSSSSSSSSSSSS######@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SSSSSSSSSSSSSSSS######@@@@@@@@@SS#?+?#@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SSSSSSSSSSSSSSSS######@@@@@@@@?,,: ,%@@@@@@@@@@@
@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSSSSSSSSSSSSSS#####@@@@@@@@%+%S*,;#@@@@@@@@@@@@
@@@#S%?***?SS@@S?**S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSSSSSSSSSSSSS#####S%?*??%%;;S%;,*@@@@@@@@@@@@@@
@@@@@@@@#S?: :,    +@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSSSSSSSSSS#####%;,         :: +#@@@@@@@@@@@@@@@
@@@@@@@@@#*,      ,;:,,,,,:;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSSS##SSSSS####S:              ;S@@@@@@@@@@@@@@@
@@@@@@@@S:  ,,               ?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###SSSSS###SSSS####S;               ,S@@@@@@@@@@@@@@
@@@@@@@@@#%%#*               +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####SSSS###SSSSS###*,                +@@@@@@@@@@@@@@
@@@@@@@@@@@@@;                :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SSSSSSSSSSSS###+                 %@@@@@@@@@@@@@@
@@@@@@@@@@@@#,                ,%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SSSSSSSSSSSS####S;              *@@@@@@@@@@@@@@@
@@@@@@@@@@@@@;               ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######SSSSSSSSS####S*,             +@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@?               ,+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######SSSSSSS###%+:,              *@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%                 ,:*S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######SSSSSS##S;                ,*@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@;                     ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######SSS#S?;,                 ;@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@;                       ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####SS%;,                    ;@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@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@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                ;*?%%S@@@@
@@@@@@@@?                                          %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*,,                            +S@@@@@@@@@@
@@@@@@@@?:+;;;;;,                              ,:;+S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##S+      ,         ,;++****?S@@@@@@@@@@@@
@@@@@@@@@@@@@@@@S,   ,                 ,      ;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,   ;##;    ,+?S@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@#SS###S*     ,::    +###SSSS#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:   *@@#,   :@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@?    +@@@,   %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+   *@@@*    %@@@@@@@@@@@@@@@@@@@@@@@@