*%SSSSSSSSSSS##################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
;++*******************???????????????????%%%%%%%%%%%%SS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
,:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;+++++++++++++***??%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                         ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::;+?%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
 ,                                                             ,:;*%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
,,,                                                             ,,;+?S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                ,,;+%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                 ,,;?S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                  ,,;*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                    ,:;+*???%%%%%%%%%%%SSSSSS###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                      ,,:;;;;;;+++++++++++++++++***??%S##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                           ,,,,,,,,,,,,,,,,,,,,,,,,,,::;;+*?%%S#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%
                                                                                                     ,,::;;+*??%SS#@@@##SSS%%%S##@@@@@@@@@@@@@@@@@##S?
                                                                                                     ,,::;;+**?%%S#####SS%??***?S#@@@@@@@@@@@@#S?***+;
                                                                                                     ,,,:;;+**?%%S##@@##SS%??***?S@@@@@@@@@@@S%*;:,,,,
                                                                      :+;,                           ,,,:;;++*??%SS#@@@@@@@@@##SS#@@@@@@@@@@S%?+;,,   
                                                                     ,*%*,     ,,,:;+++++;:,         ,,,::;++*??%SS##@@@@@@@@@@@@@@@@@@###S%%??*+;:,, 
                                                                      ;??;,:+?%S#@@@@@@@@@@@S?:      ,,,::;++**?%%S##@@@@@@@@@@@@@@##S%%???*****++;;::
                                                                     ,;?###@@@@@@@@@@@@@@@@@@@@%;     ,,::;;+**??%SS#@@@@@@@@@@@@@##SS%??**++;;;;;;:::
                                                                 ,;*S#@@@@@@@@@@@@@@@@@@@@@@@@@@@*,   ,,,::;++**?%%S##@@@@@@@@@@@@@@##SS%??*+;;::,,,,,
                                                              ,+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,   ,,,:;;++*??%SS#@@@@@@@@@@@@@@@@##SS%%?*++;:,,  
                                                            :%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,   ,,::;;+**?%%S##@@@@@@@@@@@@@@@@@##SS%%??*+;:,,
                                                           *@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?    ,,::;;+**?%%S##@@@@@@@@@@@@@@@@@@###SS%%?*++:
                                                          ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;    ,,::;;+**?%%S##@@@@@@@@@@@@@@@@@@@###SS%%?*+
                                                          +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%     ,,,::;++*??%SS#@@@@@@@@@@@@@@@@@@@@@###SS?*
                                                          ,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,      ,,,::;++*??%S##@@@@@@@@@@@@@@@@@@@@###S%*
                                                           ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:       ,,,::;;++*??%S##@@@@@@@@@@@@@@@#####SS%*
                                                            ;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,         ,,,,:;;++**?%SS##@@@@@@@########SSSS%*
                                                             :S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?            ,,,::;;++**??%%SS#######SSSS%%%%%%%*
                                                              ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%,             ,,,:::;;++**???%%SS####SSS%%%%%???+
                                                                :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%;                ,,,:::;;;++****???%SSSSSSS%%????*+
                                                                  :*#@@@@@@@@@@@@@@@@@@@@@@@@#?;:,                  ,,,,::::;;;+++****??%%%%%%%%%???*+
                                                                    ,;?S@@@@@@@@@@@@@@@@@#S?;,                      ,,,,:::::;;;++++*****???%???????*+
                                                                        :+?S#@@@@#S%?*+;:,                          ,,,,::::::;;;++++******?????????*+
                                                                            ,,:::,,                                 ,,,,:::::::;;;+++++**************+
                                                                                                                     ,,,,,,,,,,::;;;;++++++++++++++++;
                                                                                                                               ,,,,:::::::;;;;;;;;;;;:
                                                                                                                                          ,,,,,,,,,,,,
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                      