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