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