                                                                                              ,,;+*???%%%SSSSSS########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                               ,,:+*???%%%%SSSSS#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                 ,:;**??%%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                  ,:;**???%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                   ,:;**???%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                    ,:+*???%%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                    ,,:+*???%%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@@@
                                                                                                     ,:;+*???%%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@@
                                                                                                      ,:+**??%%%%SSSSS###########@@@@@@@@@@@@@@@@@@@@@
                                                                                                      ,:;+*???%%%%SSSSS##########@@@@@@@@@@@@@@@@@@@@@
                                                                                                      ,,;+*???%%%%SSSSS###########@@@@@@@@@@@@@@@@@@@@
                                                                                                      ,,;+**???%%%SSSSS############@@@@@@@@@@@@@@@@@@@
                                                                                                      ,,:+**???%%%%SSSSS############@@@@@@@@@@@@@@@@@@
                                                                                                       ,:+**???%%%%SSSSS############@@@@@@@@@@@@@@@@@@
                                                                                                       ,:+**???%%%%SSSSS############@@@@@@@@@@@@@@@@@@
                                                                                                      ,,;+**???%%%%SSSSS############@@@@@@@@@@@@@@@@@@
                                                                                                      ,:;+*????%%%SSSSSS#############@@@@@@@@@@@@@@@@@
                                                                                                      ,:+**???%%%%SSSSSS#############@@@@@@@@@@@@@@@@@
                                                                                                     ,:;+**???%%%%SSSSS##############@@@@@@@@@@@@@@@@@
                                                                                                    ,,;+**????%%%SSSSSS##############@@@@@@@@@@@@@@@@@
                                                                                                    ,:+***???%%%%SSSSSS###############@@@@@@@@@@@@@@@@
                                                                                                   ,:+***???%%%%SSSSSS################@@@@@@@@@@@@@@@@
                                                                                                  ,:+***????%%%%SSSSSS################@@@@@@@@@@@@@@@@
                                                                                                ,,:+***????%%%%SSSSSS#################@@@@@@@@@@@@@@@@
                                                                                               ,,;+***???%%%%%SSSSSS##################@@@@@@@@@@@@@@@@
                                                                                              ,:;+**????%%%%%SSSSSS#################@@@@@@@@@@@@@@@@@@
                                                                                            ,:;+***????%%%%SSSSSSS###################@@@@@@@@@@@@@@@@@
                                                                                          ,,:+***?????%%%%SSSSSSS####################@@@@@@@@@@@@@@@@@
                                                                                        ,,:+***?????%%%%%SSSSSSS####################@@@@@@@@@@@@@@@@@@
,                                                                                     ,:;++**?????%%%%%SSSSSSS#####################@@@@@@@@@@@@@@@@@@@
;:,                                                                                ,,:;+***?????%%%%%SSSSSSSS#####################@@@@@@@@@@@@@@@@@@@@
?*+:,,                                                                          ,,:;++***?????%%%%%SSSSSSSS######################@@@@@@@@@@@@@@@@@@@@@
%??**+;:,,                                                                   ,,:;++***??????%%%%%SSSSSSSS########################@@@@@@@@@@@@@@@@@@@@@
%%%???**+;:,,,                                                           ,,::;+****??????%%%%%%SSSSSSSS#######################@@@@@@@@@@@@@@@@@@@@@@@@
S%%%%%%???**+;::,,,                                                ,,,,:;;++***???????%%%%%%SSSSSSSSS########################@@@@@@@@@@@@@@@@@@@@@@@@@
SSSS%%%%%%????**++;:::,,,,                                  ,,,,,::;;++*****???????%%%%%%SSSSSSSSS##########################@@@@@@@@@@@@@@@@@@@@@@@@@@
#SSSSSSS%%%%%%?????***++;;;:::,,,,,,,,,          ,,,,,,,,:::;;;++*****?????????%%%%%%%SSSSSSSSSS###########################@@@@@@@@@@@@@@@@@@@@@@@@@@@
####SSSSSSSS%%%%%%%???????*****++++;;;;;;;;;;;;;;;;;+++++*******?????????%%%%%%%%%SSSSSSSSSS#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
########SSSSSSSS%%%%%%%%%%???????????*?************????????????????%%%%%%%%%%SSSSSSSSSSSS##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
############SSSSSSSSSS%%%%%%%%%%%%%??????????????????????%%%%%%%%%%%%%%%SSSSSSSSSSSSS#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@###############SSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SSSSSSSSSSSSSSSSS##################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@#################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@#####################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS###########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@############################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@#################################################################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@