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