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