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