##########################################################################################################################################################################################################################&&%%&&$$$$&&&&&&@@&&&&%%&&&&@@&&$$$$$$%%$$&&%%%%$$}}}}!!                  %%$$$$%%%%}}}}}}}}}}%%$$}}$$%%%%&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%$$$$$$$$$$
########################################################################################################################################################################################################################@@%%&&&&$$%%%%&&&&@@&&&&%%@@&&@@$$$$$$$$$$$$&&&&%%$$}}}}!!                  %%$$%%%%$$}}}}}}}}}}%%$$}}$$%%$$&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%$$$$$$$$$$
########################################################################################################################################################################################################################&&%%&&%%$$&&&&&&@@&&&&@@%%&&@@%%}}$$$$$$$$!!&&%%%%$$}}}}                  !!%%%%%%&&}}}}}}}}}}$$%%$$$$%%%%%%&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%$$$$$$$$$$
######################################################################################################################################################################################################################@@%%&&&&%%%%%%&&&&@@&&&&@@%%&&&&}}$$$$$$$$!!  &&&&%%$$}}}}                  $$%%%%%%&&}}}}}}}}}}%%$$}}$$%%%%&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%$$$$$$$$$$
######################################################################################################################################################################################################################&&%%&&&&$$&&%%&&@@&&&&&&@@%%&&$$}}$$$$$$}}    &&&&%%$$}}}}                !!&&%%%%&&$$$$}}$$$$$$%%$$$$$$%%%%&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%$$$$$$$$$$
####################################################################################################################################################################################################################@@%%%%&&%%%%&&&&&&@@&&&&&&@@&&%%$$$$$$$$}}      &&&&%%$$}}}}                $$%%%%%%@@$$$$$$$$$$$$%%$$$$%%%%%%&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%$$$$$$$$
####################################################################################################################################################################################################################$$$$&&%%$$&&$$&&@@@@&&&&@@@@&&$$$$$$$$$$        &&&&%%$$}}}}                %%%%%%&&&&}}$$$$$$}}%%%%$$%%&&%%&&&&&&&&$$}}}}}}}}}}}}}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%$$$$$$$$$$
##################################################################################################################################################################################################################WW&&%%@@%%%%%%&&&&@@@@&&&&@@@@%%}}$$$$$$!!        &&&&%%$$}}}}                %%$$%%&&%%$$$$}}$$$$%%$$}}%%&&%%&&&&&&&&}}}}}}}}}}}}}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%$$$$$$$$
################################################################################################################################################################################################################WW%%$$$$%%$$&&%%&&@@&&&&&&@@@@@@}}$$$$$$$$          &&%%%%$$}}}}              !!&&%%%%&&$$$$$$}}}}$$%%$$$$%%%%&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%$$$$$$$$
################################################################################################################################################################################################################@@%%$$$$$$$$%%&&&&@@&&&&&&@@@@&&}}$$$$$$}}        !!&&&&%%$$}}}}              $$%%%%%%&&$$$$$$$$$$$$%%$$$$%%$$&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%$$$$$$$$
################################################################################################################################################################################################################&&}}$$$$%%$$%%&&@@&&&&&&@@@@@@$$}}$$$$}}          !!&&&&%%$$}}}}              %%$$&&&&%%}}$$$$$$$$%%$$$$%%%%%%&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%$$$$$$$$
##############################################################################################################################################################################################################@@%%}}&&%%%%%%%%&&@@&&&&&&@@@@&&}}$$$$$$}}          !!&&&&%%$$}}}}            !!&&$$%%&&$$$$$$$$$$$$%%$$$$%%$$&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%$$$$$$$$
##############################################################################################################################################################################################################&&$$&&%%$$&&&&&&@@@@&&&&&&@@@@%%}}$$$$$$!!          !!&&&&%%$$}}}}            !!&&%%%%&&$$}}$$$$$$%%%%$$%%&&$$&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%%%$$$$
############################################################################################################################################################################################################@@%%$$@@%%%%%%&&&&@@@@@@&&@@@@@@$$$$$$$$$$            !!&&&&%%$$}}}}            $$%%&&&&&&$$$$}}$$$$%%$$$$%%%%%%&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%$$$$$$
############################################################################################################################################################################################################&&%%&&%%$$%%%%&&@@@@&&&&@@@@@@&&$$$$$$$$}}            !!&&&&%%$$}}}}          !!%%$$&&&&%%$$$$$$$$%%%%$$%%%%$$&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%%%$$$$
##########################################################################################################################################################################################################&&&&&&&&$$%%%%&&&&@@@@&&&&@@@@@@$$$$$$$$$$!!            !!&&&&%%%%$$}}          $$$$$$%%@@$$$$$$$$$$%%%%$$%%%%$$&&&&&&&&%%!!!!}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%%%$$$$
########################################################################################################################################################################################################WW&&&&@@%%%%%%&&&&@@&&@@&&@@@@@@&&$$$$$$$$$$              !!&&&&%%$$$$}}        }}%%$$%%%%&&$$$$$$$$$$%%$$$$%%$$&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%%%%%$$
########################################################################################################################################################################################################&&%%&&&&%%&&%%&&@@@@&&@@&&@@@@@@&&}}}}}}}}!!              !!&&&&%%$$$$}}        $$%%%%%%&&%%$$$$$$$$$$%%$$%%&&$$&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%%%%%$$
######################################################################################################################################################################################################@@&&&&@@$$%%%%&&&&@@&&&&&&@@@@@@@@%%$$}}}}$$!!              !!&&&&%%$$$$}}      }}%%$$&&%%@@$$$$$$$$$$%%$$$$%%%%$$&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$%%%%%%%%%%%%%%$$$$
############################################################################################################################################################################################@@@@##WW&&%%&&@@%%%%&&%%&&@@@@&&&&&&%%@@@@@@$$$$$$}}$$                }}&&%%%%$$$$}}      %%%%%%%%&&&&$$$$$$$$$$&&$$$$%%$$&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%$$
############################################################################################################################################################################################@@WW##@@&&%%&&&&$$%%%%&&@@@@&&&&&&&&}}@@@@&&$$$$$$$$}}                }}&&%%%%$$$$}}    !!%%%%%%&&&&$$$$$$$$$$%%%%$$%%%%%%&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%$$
############################################################################################################################################################################################&&&&##&&&&&&@@$$%%&&&&@@@@&&&&&&&&%%$$@@@@%%$$$$$$$$!!                $$&&%%%%$$$$}}    %%%%%%%%@@&&}}$$$$$$$$%%%%$$%%%%&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%$$
############################################################################################################################################################################################@@@@@@&&&&&&%%$$&&&&&&@@@@&&@@&&@@&&%%@@@@%%$$$$$$$$                  $$&&%%%%$$$$}}  !!%%%%%%&&&&$$}}$$$$$$%%%%$$%%&&%%&&&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}&&%%%%%%%%%%%%%%%%
############################################################################################################################################################################################@@WW&&&&@@%%%%%%&&&&@@@@@@@@@@@@@@@@&&@@&&$$$$$$$$}}                  $$&&%%%%$$$$}}  $$%%%%&&&&%%}}$$$$$$$$%%%%$$%%&&&&&&&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%%%
############################################################################################################################################################################################&&&&%%@@&&%%&&%%&&&&@@@@@@@@@@@@@@@@@@@@%%%%%%$$}}                    $$&&%%%%$$$$}}!!&&$$%%&&@@}}$$}}$$$$%%%%$$%%%%&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%%%
##########################################################################################################################################################################################WW&&%%&&&&$$%%&&&&%%@@@@@@@@&&@@@@@@@@@@@@%%%%%%$$}}                    $$&&%%%%$$$$}}$$%%%%%%@@%%}}$$}}}}$$%%$$$$%%%%&&&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%%%%%%%%%%%%%%%%%
##########################################################################################################################################################################################WW@@%%@@%%%%&&&&&&&&@@@@@@@@&&@@@@@@@@@@@@%%%%$$}}}}                    %%&&%%%%$$$$$$%%%%&&&&&&}}$$$$$$$$%%%%$$%%%%&&&&&&&&&&&&&&@@$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&%%%%%%%%%%%%%%
##########################################################################################################################################################################################@@&&%%&&$$%%&&&&@@&&@@&&@@&&@@@@@@@@@@@@@@$$$$}}$$}}                    %%&&%%%%$$$$%%%%%%%%&&$$}}$$$$}}%%%%$$%%%%%%&&&&&&&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&%%%%%%%%%%%%%%
##########################################################################################################################################################################################&&%%&&&&$$&&&&&&@@&&@@@@&&@@@@@@@@@@@@%%%%}}}}}}}}                      %%&&%%%%$$%%%%$$&&&&&&$$$$$$$$$$%%$$$$%%%%&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&%%%%%%%%%%%%%%
########################################################################################################################################################################################@@&&&&@@$$&&&&&&@@@@%%@@@@@@@@@@@@@@@@&&%%$$$$$$}}}}!!                    %%&&%%%%$$%%%%%%%%@@%%}}$$$$$$%%%%$$%%%%%%&&&&&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&%%%%%%%%%%%%%%
######################################################################################################################################################################################WW%%%%@@$$%%&&&&@@@@@@&&&&&&@@@@@@@@@@&&&&&&$$$$$$$$}}!!                    &&&&%%$$%%%%%%&&&&&&}}$$$$$$$$%%$$$$%%%%&&&&&&&&&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&%%%%%%%%%%%%%%
######################################################################################################################################################################################@@%%@@&&%%&&&&@@@@@@@@&&&&@@@@@@@@@@@@&&&&&&$$}}}}}}}}                      &&&&%%$$%%%%%%%%&&%%$$$$$$$$%%%%$$%%%%&&&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&%%%%%%%%%%%%%%
####################################################################################################################################################################################@@%%&&@@$$&&&&&&@@@@@@@@&&&&@@@@@@@@%%%%%%&&$$$$$$$$}}}}                      &&&&%%%%%%%%&&&&&&}}$$$$$$$$%%$$$$%%%%&&&&&&&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}%%&&&&%%%%%%%%%%%%
##################################################################################################################################################################################WW&&&&@@%%&&&&&&&&@@@@@@@@@@&&@@@@@@$$$$%%%%&&$$$$$$$$}}}}}}                    &&&&$$%%%%%%&&@@%%$$$$$$$$%%%%$$%%%%&&&&&&&&&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$&&&&%%%%%%%%%%%%
################################################################################################################################################################################@@&&&&@@&&%%&&&&&&@@@@@@@@&&&&&&@@&&$$$$$$$$%%&&&&%%%%$$}}!!                      &&&&$$$$%%&&&&%%$$$$$$$$$$%%$$%%%%&&&&&&&&&&&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$&&&&%%%%%%%%%%%%
################################################################################################################################################################################&&&&&&@@%%&&&&&&@@@@@@@@@@@@&&&&@@$$$$$$$$}}}}%%&&%%$$$$}}!!                      %%&&$$$$$$&&&&$$%%$$$$%%%%%%$$&&&&&&&&&&&&&&&&&&&&&&&&@@$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$&&&&%%%%%%%%%%%%
##############################################################################################################################################################################&&&&$$%%%%%%&&&&@@@@@@@@@@&&@@@@@@%%$$$$$$}}    !!&&%%$$}}}}                        %%&&&&%%$$&&&&}}$$$$$$%%&&%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$&&%%%%%%%%%%%%%%
############################################################################################################################################################################@@&&&&$$$$%%$$&&&&@@@@@@@@@@@@@@@@%%$$$$$$!!        &&&&$$$$}}                      }}&&%%&&%%$$&&$$$$$$$$$$%%%%%%&&%%&&&&&&&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$&&&&%%%%%%%%%%%%
##########################################################################################################################################################################&&&&&&@@%%%%&&&&&&@@@@@@@@@@@@@@@@&&$$$$$$$$          &&%%$$}}}}                      %%&&%%&&%%$$%%}}$$$$$$%%%%$$%%&&&&@@&&&&&&&&&&&&&&&&&&&&$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$&&&&%%%%%%%%$$%%
########################################################################################################################################################################@@&&%%&&&&%%&&@@&&&&@@@@@@@@@@@@@@@@%%$$$$$$}}          &&&&%%$$}}                    !!&&%%&&@@%%$$$$$$$$$$$$%%%%$$&&%%@@&&&&&&&&&&&&&&&&&&&&@@$$}}}}}}}}}}}}}}}}}}}}$$}}$$}}}}$$$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$}}}}$$&&&&%%%%%%%%%%%%
######################################################################################################################################################@@##############WW&&%%%%@@%%&&&&&&&&@@@@@@@@@@@@@@@@@@$$$$$$$$            &&&&%%$$}}                    $$&&%%&&&&}}$$$$$$$$$$%%%%%%&&&&&&@@&&&&&&&&&&&&&&&&&&&&&&}}}}}}}}}}}}}}}}}}}}}}$$$$$$}}}}$$$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$&&&&%%%%%%%%%%%%
######################################################################################################################################################&&WW##########&&%%&&%%&&%%&&&&@@@@@@@@@@@@@@@@@@@@@@%%$$$$$$!!            @@&&%%$$}}                    %%%%&&@@$$}}$$$$}}}}$$%%$$%%%%&&&&@@&&&&&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}}}$$$$}}}}}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$$$&&&&%%%%%%%%%%%%
######################################################################################################################################################@@WW########@@&&&&%%@@%%%%&&@@@@@@@@@@@@@@@@@@@@@@@@$$$$$$}}              @@&&%%$$}}                  $$&&%%&&&&}}$$$$}}$$}}$$%%$$%%&&&&&&@@@@&&&&&&&&&&&&&&@@@@$$}}}}}}}}}}}}}}}}}}}}}}}}}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$}}$$}}}}$$&&&&%%%%%%%%%%%%
######################################################################################################################################################@@########@@&&%%&&&&%%%%&&&&@@@@@@@@@@@@@@@@@@@@@@%%$$$$$$!!              @@&&$$$$}}                  %%%%&&@@%%$$$$$$$$%%$$$$$$%%&&&&&&&&@@&&&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}$$}}}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$}}$$}}}}$$&&&&%%%%%%%%%%%%
######################################################################################################################################################&&######&&&&&&%%&&%%%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@$$$$$$}}                @@&&$$$$}}                }}&&%%&&@@}}}}$$}}%%%%%%$$$$%%&&&&&&&&@@&&&&&&&&&&&&&&@@%%}}}}}}}}}}}}}}}}}}}}}}$$$$}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$$$}}}}}}}}&&&&%%%%%%%%%%%%
####################################################################################################################################################WW&&@@##@@&&&&@@%%%%&&&&&&@@@@@@@@@@@@&&@@@@@@@@@@&&$$$$$$!!                @@&&$$$$!!                %%%%&&&&%%}}$$$$$$%%$$%%%%}}%%&&&&&&@@&&&&&&@@&&&&&&@@&&%%$$$$}}$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$$$$$}}}}}}&&&&%%%%%%%%%%$$
######################################################################################################################################################@@##WW&&&&@@%%%%&&&&&&@@@@@@@@@@@@&&@@@@}}@@@@@@$$$$$$$$                  @@&&$$$$!!                }}$$%%@@$$$$$$$$%%%%$$%%&&$$%%@@&&&&&&&&&&&&&&&&@@&&&&%%&&$$$$}}}}}}}}}}}}}}}}}}$$}}$$$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$}}$$$$}}}}}}&&&&&&%%%%%%%%$$
####################################################################################################################################################WW@@&&&&&&@@%%%%@@&&%%@@@@@@@@@@@@&&@@@@&&$$@@@@&&$$$$$$}}                !!@@&&$$$$!!                }}&&&&%%$$$$$$$$%%$$%%%%&&%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%&&%%}}}}}}$$$$}}$$}}$$$$$$$$$$}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}$$$$$$}}$$$$$$}}}}&&&&&&%%%%%%%%$$
######################################################################################################################################################&&&&&&&&&&%%&&@@@@&&@@@@@@@@@@@@@@@@@@@@%%@@@@%%$$$$$$!!                !!@@&&$$$$!!              !!%%%%&&$$$$$$$$%%%%$$%%%%&&&&&&@@&&&&&&&&&&%%$$$$$$%%%%&&&&%%$$$$}}$$$$}}$$}}$$$$$$}}}}}}}}$$$$$$}}}}$$$$}}}}}}}}}}}}}}}}}}}}}}}}}}$$}}%%&&&&%%%%%%%%%%
####################################################################################################################################################WW&&&&@@@@%%&&&&@@@@&&@@&&&&&&@@@@@@@@@@@@@@@@@@$$$$$$$$                  !!@@&&$$$$!!            !!!!&&%%%%%%$$$$$$$$%%%%%%&&&&&&&&&&@@&&@@&&$$}}$$$$$$%%&&%%&&&&$$$$$$$$}}$$$$}}$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$}}}}}}}}}}}}}}}}$$}}$$$$}}%%&&&&%%%%%%%%%%
####################################################################################################################################################&&&&@@@@%%&&&&&&@@@@&&&&@@&&&&@@@@@@@@@@@@@@@@&&$$$$$$}}                  !!&&&&$$$$!!            }}%%%%&&&&&&$$$$$$$$%%%%%%&&@@%%&&&&&&&&%%}}$$$$$$$$$$$$&&&&&&&&$$$$$$}}}}$$$$$$$$$$$$}}}}$$}}}}$$$$$$$$$$$$$$$$$$$$$$}}}}}}}}}}$$$$$$$$}}%%&&&&%%%%%%%%%%
##############################################################################################################################################@@%%&&%%@@@@%%&&&&@@@@@@@@&&&&@@&&@@@@@@@@@@@@@@@@@@%%$$$$$$!!                  }}&&&&$$$$!!          !!}}&&%%&&@@$$$$$$$$%%%%$$%%&&&&$$&&&&&&$$$$}}$$$$$$$$$$$$$$&&&&%%$$$$$$}}}}$$$$$$$$$$$$$$}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$}}}}}}}}}}$$$$$$$$$$%%&&&&&&%%%%%%%%
##############################################################################################################################################%%@@&&&&@@%%&&&&@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@$$$$$$$$                    }}&&%%$$$$!!        !!!!%%%%&&&&&&$$$$$$$$&&%%%%&&&&@@$$&&@@%%$$$$$$$$$$$$$$}}}}$$&&&&%%$$$$}}$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%%%%%
############################################################################################################################################%%%%&&@@@@%%&&&&@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@&&%%$$$$$$}}                    }}&&%%$$$$!!        }}}}&&%%&&@@$$$$$$$$%%%%%%&&&&@@@@$$@@%%}}$$$$$$$$$$$$$$}}$$$$&&&&%%$$$$$$$$}}}}}}}}}}}}}}}}$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%%%
########################################################################################################################################@@&&&&&&&&&&%%&&&&@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@&&&&&&&&$$$$$$$$                    $$&&%%$$$$!!      !!!!%%%%&&@@&&$$$$$$%%%%$$%%&&&&&&&&%%&&$$$$$$$$$$$$$$}}}}$$$$$$&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%%%
######################################################################################################################################@@%%&&%%%%%%%%&&&&@@@@@@@@@@@@@@@@@@&&@@@@@@%%$$$$$$}}$$&&&&$$$$$$}}                    $$&&%%$$$$!!    !!!!}}&&%%&&@@%%$$$$$$%%%%%%&&&&&&@@&&&&$$$$$$$$$$$$$$$$}}}}$$}}$$&&$$$$}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
####################################################################################################################WWWW############@@%%&&%%%%$$%%$$&&@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$!!      &&%%$$$$$$}}                    %%&&%%$$$$!!    !!!!%%%%%%&&&&$$$$$$%%&&$$&&&&&&&&@@@@$$$$$$$$$$}}$$$$$$}}$$}}$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
####################################################################################################################@@@@##########@@&&&&%%WW%%%%&&&&&&@@@@&&&&@@@@@@@@@@@@&&%%$$$$}}        }}&&%%%%$$$$$$!!                  %%&&%%$$$$!!  !!  $$&&%%&&@@%%$$$$$$&&%%%%&&&&@@&&@@&&}}$$$$$$$$$$$$$$$$$$$$$$}}&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
####################################################################################################################WW@@########&&%%%%$$@@%%%%&&&&@@@@@@@@&&&&@@@@@@@@@@&&$$$$$$!!          &&&&&&%%$$}}!!                    &&&&%%$$$$!!!!!!  %%%%&&@@%%$$$$$$%%&&%%&&%%@@@@&&@@$$$$$$$$$$$$$$$$}}$$$$$$$$$$%%&&$$$$%%%%$$$$$$$$}}}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%%%%%%%
####################################################################################################################WW########@@%%%%$$@@%%%%&&&&@@@@@@@@@@&&&&@@@@@@@@&&$$$$$$                }}&&%%$$}}                      &&&&%%$$$$!!}}  }}&&&&&&@@$$$$$$%%&&%%&&&&&&@@@@&&@@}}}}$$}}}}}}}}}}}}$$$$$$$$&&&&%%%%&&&&%%%%$$$$$$}}}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%%%%%%%
####################################################################################################################@@@@####&&&&%%&&&&%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$!!                  &&%%$$}}                      @@&&%%$$$$}}}}!!%%%%&&@@%%$$$$$$%%%%%%&&&&@@&&@@@@%%}}$$$$$$$$$$$$$$$$}}$$$$$$&&%%&&&&%%%%%%$$$$$$}}}}}}}}}}}}}}$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
####################################################################################################################@@WWWW&&&&&&%%&&%%%%&&@@@@@@@@@@@@@@&&@@@@@@@@@@$$$$$$!!                    &&%%$$}}                      @@&&%%$$$$!!!!&&%%&&&&&&$$$$$$$$%%%%&&&&@@@@&&&&&&}}$$$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%%%%%%%%%%%%%$$$$}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
####################################################################################################################@@@@@@&&&&@@%%%%&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@%%$$$$}}                      &&&&$$}}                    !!@@&&%%$$!!!!$$&&%%&&@@$$$$$$$$%%%%%%&&&&@@@@&&@@$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}%%%%&&&&&&%%%%$$$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
####################################################################################################################@@&&&&&&@@%%&&&&%%&&@@@@@@@@@@@@@@&&@@@@@@@@&&}}$$$$                        &&&&$$}}                    !!@@&&%%}}}}  %%%%&&&&%%$$$$$$%%%%%%&&%%@@@@@@&&&&}}}}$$}}$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$@@&&&&%%%%%%$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
####################################################################################################################&&&&&&@@$$&&&&&&%%@@@@&&@@@@@@@@@@%%%%@@@@@@%%$$$$!!                        &&%%$$}}                    !!@@%%$$!!}}!!%%&&&&&&$$$$$$%%&&$$&&%%&&@@@@@@@@%%}}}}$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
##################################################################################################################&&&&&&@@%%&&&&&&@@&&@@@@@@@@@@@@@@&&%%@@@@@@&&$$}}$$                          &&%%$$}}                    !!$$%%$$}}}}%%&&&&@@%%$$$$$$&&%%%%%%%%@@@@&&@@@@}}}}}}$$$$$$$$}}$$}}$$$$$$$$$$$$$$$$$$$$@@&&&&%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
##############################################################################################################&&%%&&&&@@%%%%%%&&@@@@&&@@@@&&@@@@@@@@&&@@@@@@@@$$$$$$!!                          &&%%$$}}                    }}@@&&%%}}%%%%&&@@&&$$$$$$%%%%%%&&%%@@&&@@@@@@&&}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
##########################################################################################################WW&&%%&&@@@@%%&&&&&&@@@@@@&&@@&&@@@@@@@@@@@@@@@@@@&&}}$$}}                          !!&&%%$$!!                    }}&&%%$$%%%%%%&&&&$$$$$$%%%%%%&&%%@@@@@@@@@@@@%%}}}}}}$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%%%$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
########################################################################################################@@%%%%&&&&@@%%&&&&@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@$$$$$$!!                          }}&&%%$$!!                    $$&&%%%%&&%%&&@@$$$$$$$$&&%%%%&&&&@@@@@@@@@@@@$$}}}}}}$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%%%%%
######################################################################################################@@%%&&&&%%&&%%&&&&&&@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@&&$$$$}}                            $$&&%%$$!!                    %%&&%%&&%%&&@@%%$$$$$$&&%%%%&&&&&&@@@@@@@@@@&&$$}}}}}}$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
################################################################################WW################WW%%%%&&&&&&$$%%%%&&@@@@@@@@&&@@&&&&@@@@@@@@@@@@@@@@@@@@$$}}}}!!                            %%&&%%$$!!                  !!%%&&%%$$&&&&@@$$$$$$%%&&%%&&%%@@@@@@@@@@@@@@$$}}}}}}}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
################################################################################@@##############WW$$@@&&&&@@%%&&&&&&@@@@@@@@@@@@&&@@&&@@@@@@%%$$$$}}$$@@&&$$$$}}$$!!                          &&&&%%$$!!                !!!!%%&&&&%%%%@@%%$$$$$$&&%%&&&&&&@@@@@@@@@@@@@@}}$$}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
################################################################################WW############&&%%&&&&@@&&%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@%%$$$$!!      }}@@%%}}$$}}                            &&&&%%$$!!              !!!!}}&&%%&&%%&&&&$$$$$$&&%%%%&&&&&&@@@@@@@@@@@@%%$$$$}}$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%%%$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
################################################################################@@########@@&&&&&&&&@@%%%%&&&&@@@@@@@@@@@@@@@@@@@@@@&&$$$$$$            @@$$$$$$}}!!                          &&&&%%$$!!            !!!!!!&&&&&&@@%%%%$$$$$$&&&&%%&&&&@@@@&&@@@@@@@@@@$$$$$$$$$$}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&%%%%$$$$}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%
################################################################################@@######&&&&&&%%@@&&%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$}}            &&&&%%$$$$}}!!                          &&&&%%$$!!          !!!!!!$$&&&&&&@@$$$$$$$$%%&&%%&&&&&&@@@@@@@@@@@@@@&&$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
##############################################################################WW&&WW@@&&&&&&@@&&&&&&&&&&@@@@@@@@&&@@@@@@@@@@@@@@@@$$$$}}              !!%%&&$$$$!!                            &&&&%%$$!!        !!!!!!}}&&&&&&@@$$$$$$%%$$&&%%&&&&&&@@@@@@@@@@@@@@@@%%}}$$}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
################################################################################@@&&%%&&&&@@&&&&%%&&&&@@@@@@@@@@@@&&&&&&@@@@@@@@$$$$$$                  $$&&%%$$                              @@&&%%$$!!        !!!!}}$$&&&&@@%%$$$$$$&&%%%%&&&&&&&&@@@@@@@@@@@@@@@@$$}}}}}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
##############################################################################WW%%&&&&@@@@%%&&@@&&@@@@@@@@@@@@@@&&@@&&$$@@@@@@&&}}$$!!                  !!&&%%$$                              @@&&%%$$!!      }}}}$$$$%%&&&&&&$$$$%%&&%%&&%%%%&&@@&&@@@@@@@@@@@@@@&&}}}}$$}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
####################################################@@####################@@$$&&&&&&@@&&%%&&&&@@&&@@@@@@@@@@@@@@@@@@&&%%@@@@WW$$$$}}                    !!&&%%$$                              @@&&$$$$$$  %%}}}}$$$$$$&&&&@@$$$$$$%%&&&&&&%%%%@@@@&&@@@@@@@@@@@@@@&&}}}}$$}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
####################################################@@################WW&&$$&&&&@@@@&&&&&&&&@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@%%$$$$!!                    !!&&%%$$                            !!@@&&%%$$%%%%}}}}$$$$$$%%&&&&@@%%$$$$%%&&&&&&@@&&@@@@@@@@@@@@@@@@@@@@$$}}}}$$}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
####################################################WW############WW@@%%%%&&&&@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&}}$$}}                      }}&&%%$$                            !!@@&&%%$$%%}}}}$$$$%%%%&&%%@@&&$$$$$$&&%%&&&&@@&&@@@@@@@@@@@@@@@@@@@@}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
####################################################@@########WW&&$$%%&&&&%%&&&&&&@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@%%$$$$                        $$&&%%$$                      !!!!  %%&&&&%%$$$$}}$$$$$$$$&&%%&&@@$$$$$$%%%%%%&&&&&&&&@@@@@@@@@@@@@@@@&&%%}}}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&&&%%%%
####################################################@@######@@%%%%&&&&&&@@%%&&&&@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@&&}}$$}}                        $$&&%%}}                    !!$$%%$$&&&&%%$$}}}}$$$$$$$$%%&&&&@@%%$$%%%%%%%%&&&&@@&&@@@@@@&&&&&&&&@@@@$$}}$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%%%%%
####################################################&&WW@@%%%%&&&&@@@@&&&&&&@@@@@@@@@@@@@@@@&&@@@@&&@@@@@@@@@@&&&&&&@@@@%%$$}}}}                        %%&&$$}}                $$$$}}%%%%%%&&&&%%}}}}$$%%$$$$%%%%&&&&&&$$$$%%&&%%&&&&@@@@%%@@&&%%$$$$$$$$&&&&&&$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&&&&&&&%%%%
####################################################&&%%%%&&&&@@@@&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$$$}}      }}&&%%$$$$}}                        &&&&$$}}          }}!!}}%%%%%%%%%%%%%%%%%%}}!!$$%%$$$$&&%%&&WW$$$$$$&&%%&&&&&&@@@@@@%%$$$$$$$$$$%%&&&&@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%$$&&&&&&&&%%%%
##########################WW####################@@@@%%&&&&@@@@%%&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$!!            %%%%$$$$}}                        &&&&%%}}    !!  }}$$$$&&%%%%&&&&%%&&&&&&%%$$}}$$%%$$%%%%&&@@%%$$$$&&%%%%%%&&@@@@@@%%$$$$$$$$$$$$$$%%&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%$$&&&&&&&&%%%%
##########################WW##################@@%%@@&&&&@@&&&&&&@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@%%$$$$!!              }}&&%%$$$$$$                        &&&&$$}}  !!$$$$%%%%%%%%&&&&&&&&&&&&&&&&%%$$}}$$%%&&&&%%@@&&$$%%%%&&%%&&&&&&@@@@&&$$$$$$$$$$$$$$$$}}@@&&$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%$$$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%&&&&&&%%%%%%
##########################WW############WW@@&&%%&&&&@@&&&&&&@@@@@@&&@@@@@@@@@@&&@@@@@@@@@@@@%%$$}}                    $$&&$$$$!!                        @@%%$$}}  !!%%%%%%&&&&&&&&&&&&&&%%}}&&&&%%$$}}$$%%&&&&&&@@$$%%%%&&%%&&&&&&@@@@@@%%$$$$$$$$$$$$$$$$}}@@&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
##########################@@########WW@@%%%%&&&&&&@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@%%$$$$                      !!&&$$}}                          &&%%$$}}}}%%&&&&&&&&&&&&&&&&&&$$$$$$@@&&%%$$}}%%&&&&&&@@%%%%$$&&%%&&&&&&@@&&@@&&$$$$$$$$$$$$$$$$$$$$@@&&$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
##########################@@######@@%%%%&&@@@@%%%%%%&&@@@@@@@@@@@@&&@@@@@@@@@@@@%%@@@@@@$$$$$$                          &&%%$$                          @@%%$$$$&&&&&&&&&&&&&&&&&&%%$$%%%%%%@@&&%%}}}}&&%%&&@@%%$$$$%%&&&&&&&&&&@@&&@@$$$$$$$$$$$$$$$$$$$$$$&&@@%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
##########################@@WW&&%%&&&&&&@@@@&&&&&&@@@@@@@@@@&&@@@@&&@@@@@@@@@@@@@@@@@@%%$$$$!!                          &&%%$$                  !!$$$$$$&&%%$$$$&&&&&&&&&&&&&&&&$$$$%%%%%%%%&&$$$$%%%%&&&&@@%%$$$$%%&&&&&&&&@@&&&&@@%%$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
########################@@&&$$&&@@@@@@@@&&&&&&@@@@@@@@@@@@@@@@&&@@&&@@@@@@@@@@@@@@@@@@$$$$!!                            &&%%$$              $$%%$$%%%%%%&&%%$$%%&&&&&&&&&&&&%%}}&&&&%%%%%%&&%%$$%%&&%%%%@@%%$$$$%%%%%%@@%%@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
############@@##@@WW%%$$%%&&&&@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$$$}}                            !!&&%%$$        !!}}!!%%%%%%%%%%&&&&%%$$%%&&&&&&&&&&$$$$&&&&&&&&&&&&@@$$%%&&&&&&%%&&$$$$%%&&&&@@%%@@@@@@@@&&&&$$$$$$$$}}$$$$$$$$$$&&&&%%$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
######WWWW@@@@&&%%%%%%&&@@@@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$&&@@@@&&}}$$                          !!  !!&&%%$$  !!}}!!$$%%%%&&&&&&&&&&&&&&%%$$%%&&&&@@%%$$%%&&&&&&&&&&&&@@@@%%&&&&@@&&&&%%%%%%&&&&@@&&@@@@@@@@&&@@$$$$$$$$$$}}$$$$$$$$$$@@%%&&%%$$$$$$$$$$}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$$$$$%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
WW@@WW@@&&%%%%%%&&@@&&&&@@@@&&&&&&&&@@&&@@@@@@@@&&@@@@@@@@@@@@&&$$$$!!        $$&&%%$$$$!!                          !!!!@@%%$$!!$$%%%%&&&&&&&&&&&&&&&&&&&&%%$$%%&&&&$$%%&&&&&&&&&&&&%%&&@@@@&&&&&&&&%%%%%%%%&&%%&&&&@@@@@@@@@@@@&&}}$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%$$}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
WW&&%%%%%%&&&&@@@@@@%%%%%%&&@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@%%$$$$!!            &&%%$$$$              !!              $$&&%%$$%%&&&&&&&&&&&&&&&&&&&&&&@@&&%%$$%%&&$$&&&&&&&&%%&&&&&&&&&&@@@@&&@@@@%%%%%%&&%%&&&&&&@@&&@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%
%%%%&&@@&&&&@@@@&&&&&&@@&&@@@@@@@@@@@@%%@@&&@@@@@@@@@@@@@@&&$$$$!!            !!&&%%$$$$}}              !!      !!  }}%%&&%%$$&&&&&&&&&&&&&&&&&&&&&&@@@@&&%%$$$$$$&&&&&&&&&&%%&&&&&&&&@@@@&&&&@@%%%%%%&&%%%%&&&&@@@@@@@@@@@@@@&&}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&%%&&&&&&&&%%%%
@@@@@@@@&&%%&&&&&&@@@@@@@@@@@@@@@@@@@@&&@@@@@@@@@@@@@@@@&&$$$$!!                $$&&%%}}          !!      }}}}}}%%%%%%&&&&%%$$&&&&&&&&&&&&&&&&&&&&@@@@&&$$}}!!%%&&&&&&&&&&&&&&&&&&&&@@&&%%&&%%&&%%%%&&%%&&@@&&@@@@@@@@@@@@@@@@%%}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&%%
@@&&&&&&@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@@@@@@@@@$$$$}}                  !!&&$$!!          !!}}!!}}%%%%%%&&&&&&&&&&$$$$&&&&&&&&&&&&@@&&@@@@@@&&@@&&%%}}%%&&&&&&&&&&&&&&&&@@@@&&&&&&@@&&&&%%%%&&%%&&@@@@@@@@@@@@@@@@@@@@$$$$}}$$$$}}$$$$$$$$$$$$$$$$$$$$&&&&&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%%%$$$$$$$$}}$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@@@@@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@%%$$}}  !!                !!&&%%}}      !!  $$$$%%%%&&&&&&&&&&&&&&&&$$$$&&&&&&&&@@@@@@@@@@@@@@%%@@&&%%}}%%&&&&&&&&&&%%&&@@@@&&&&&&@@@@$$%%%%&&&&&&&&@@@@@@@@@@@@@@@@@@&&}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%%%%%$$$$$$$$}}$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
@@@@@@@@@@&&@@@@@@@@@@@@%%@@@@@@@@@@&&%%$$!!!!!!}}@@&&$$$$!!    !!      !!      !!&&%%}}    !!$$%%&&&&&&&&&&&&&&&&&&&&&&&&$$%%@@&&@@@@@@@@@@@@@@&&$$%%@@&&$$$$%%%%&&&&$$%%&&@@@@&&&&&&@@&&$$$$%%&&%%&&@@@@&&@@@@@@@@@@@@@@@@%%}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%%%$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%
@@@@@@@@@@&&@@@@@@@@@@@@$$@@@@@@@@%%$$}}          &&&&$$$$!!      !!            $$&&%%}}!!!!}}%%&&&&&&&&&&&&&&&&&&&&&&@@&&$$%%@@@@@@@@@@@@@@&&%%%%&&&&&&&&$$$$%%%%$$}}%%@@&&&&&&%%&&@@%%$$%%&&%%%%&&&&@@@@&&@@@@&&&&@@&&@@@@%%}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&&&&&%%%%%%%%$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%
@@@@@@@@@@&&@@@@@@@@@@@@&&@@@@&&$$$$}}            $$&&$$}}    !!    !!  !!$$$$!!%%&&$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@%%$$%%@@@@@@@@@@@@&&$$&&&&&&&&&&%%$$}}}}}}&&@@@@@@&&%%&&@@@@%%$$%%%%%%&&&&&&@@@@@@&&%%$$$$$$$$$$&&%%$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%&&&&%%%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$$$$!!              %%%%%%}}!!  }}}}}}%%%%$$&&&&&&&&&&%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@%%$$%%@@@@@@@@&&$$%%&&&&&&&&@@%%$$$$}}$$@@&&@@&&&&&&&&@@&&$$$$%%%%%%&&&&@@@@@@@@@@%%$$%%$$$$$$$$&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%&&&&%%%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
@@@@@@@@@@@@&&&&@@@@@@@@@@&&%%$$!!                  &&%%}}%%!!$$%%%%&&&&&&&&&&&&&&&&$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@%%$$&&@@@@@@$$%%&&&&&&&&%%%%@@$$$$$$%%@@@@%%&&&&&&&&@@$$$$%%&&%%%%%%&&@@&&@@@@@@%%$$$$$$$$$$$$%%&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%&&&&&&%%%%%%$$$$$$$$$$$$$$%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%
@@@@&&%%$$$$!!  !!  %%@@@@$$$$}}          !!  !!%%!!&&%%$$&&%%&&&&&&&&&&&&&&&&&&@@&&$$%%&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@%%$$&&@@%%%%&&&&&&&&$$}}$$&&@@$$$$&&@@&&&&&&%%@@@@%%$$%%&&%%%%&&&&&&@@&&&&@@@@&&$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%&&&&&&%%%%%%$$$$$$$$$$$$$$%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
@@%%$$}}              &&&&$$$$!!!!  }}}}!!%%$$$$%%%%&&$$%%&&&&&&&&&&&&&&&&&&&&&&@@&&$$%%&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@%%$$%%%%&&&&&&%%}}}}$$$$$$&&@@&&&&&&&&&&@@@@%%&&$$$$%%&&&&&&&&&&&&@@@@@@@@@@&&$$$$$$$$$$$$$$$$$$&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&%%%%%%$$$$$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
$$$$!!                %%&&$$}}$$%%}}%%%%%%&&&&&&&&%%&&$$%%&&&&&&&&&&&&&&&&&&&&&&@@&&$$&&@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@%%$$}}%%&&$$}}$$$$$$$$%%%%$$&&@@@@@@&&&&@@&&$$$$$$%%&&%%&&&&&&@@@@@@&&@@@@@@&&$$$$$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
$$!!    !!!!        }}&&&&$$$$&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&&&&&&&&&&&@@&&@@&&$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%$$}}$$$$$$$$$$%%%%$$$$&&@@@@&&&&&&@@%%$$%%&&$$%%%%&&&&@@@@@@&&&&@@@@@@@@%%$$$$$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
}}!!!!!!%%%%!!$$!!!!}}%%@@$$&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&@@@@&&&&@@@@&&@@&&$$&&@@@@@@@@@@@@@@@@@@@@@@@@%%$$%%&&%%$$$$$$}}%%%%$$}}}}&&@@@@@@&&&&@@@@$$$$%%&&%%%%%%&&&&@@&&@@@@&&&&@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
%%%%%%&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&@@@@@@@@@@@@@@@@@@@@&&$$&&@@@@@@@@@@@@@@@@@@&&}}}}$$%%%%&&%%}}%%%%}}!!$$%%%%@@&&@@&&&&&&@@&&$$%%&&%%%%&&&&%%@@@@@@@@@@@@&&@@&&@@@@%%}}$$$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&&&&&&&&&&&@@@@&&$$&&@@@@@@@@@@@@@@@@@@@@@@@@%%$$&&@@@@@@@@@@@@&&$$}}$$%%%%$$$$%%&&%%}}}}%%%%$$$$&&&&@@&&%%&&@@@@%%$$%%%%%%&&&&&&@@&&&&@@@@@@@@@@&&@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$&&&&%%%%$$$$$$}}}}$$$$$$$$$$$$$$$$$$$$&&&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&@@@@@@@@&&@@@@&&$$&&@@@@@@@@@@@@@@@@@@@@@@@@%%$$&&@@@@&&%%$$$$%%%%%%$$%%&&&&%%&&%%$$}}$$}}$$&&&&@@&&&&&&@@@@%%$$%%&&%%&&&&@@@@&&&&&&&&@@&&@@@@@@&&@@@@@@&&$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%$$$$}}$$$$$$$$$$$$$$$$$$$$%%&&&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&%%%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&&&&&&&%%%%&&&&&&&&&&&&@@@@@@@@@@@@&&$$@@@@@@@@@@@@@@@@@@@@@@@@@@%%$$$$%%%%$$$$%%$$$$%%%%&&$$$$%%&&@@$$$$}}$$%%&&&&@@&&&&@@@@&&%%$$%%%%%%&&@@@@@@&&@@&&@@&&&&&&@@@@@@&&@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%$$$$$$}}$$$$$$$$$$$$$$$$%%%%%%&&&&%%%%%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&@@&&@@%%%%&&@@@@@@@@@@@@@@@@@@@@@@%%$$@@@@@@@@@@@@@@@@&&&&%%$$&&%%$$%%$$$$$$$$%%&&%%$$$$$$%%&&%%@@@@$$$$&&@@&&%%&&&&&&@@@@%%$$%%&&%%&&&&@@@@@@@@@@@@%%%%$$$$$$$$%%&&@@@@@@&&}}$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%%%$$$$}}$$$$$$$$$$%%%%%%%%%%%%&&&&%%%%$$$$$$$$$$%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&@@&&@@%%%%&&@@@@@@@@@@@@@@@@@@@@@@%%$$@@@@@@@@&&%%%%$$$$%%&&&&&&$$}}}}%%&&&&%%$$$$%%%%%%%%$$$$$$@@@@%%&&&&&&%%$$%%@@&&%%$$%%&&%%&&&&@@@@@@@@@@@@@@%%$$$$$$$$$$$$$$$$&&@@&&$$}}}}}}$$$$$$$$$$$$$$$$$$$$%%&&&&%%$$$$$$$$$$$$%%%%%%%%%%%%%%%%&&&&%%%%$$$$$$$$$$%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&@@&&@@%%%%&&@@@@@@@@@@@@@@@@@@@@@@%%$$%%%%$$$$%%&&@@&&&&%%$$$$&&%%$$%%$$$$$$&&&&%%$$}}$$%%%%$$}}&&&&@@&&%%%%&&&&%%&&$$%%&&%%&&&&&&@@@@@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$&&%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%$$$$$$$$%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%$$$$$$$$%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%
&&&&&&&&&&&&&&&&&&&&@@@@%%%%@@@@@@@@@@@@@@&&%%$$}}&&%%%%@@@@&&%%%%$$$$$$$$&&&&%%&&%%$$%%@@&&$$}}}}%%&&$$}}%%&&&&&&&&@@&&%%&&&&&&$$$$$$%%%%&&&&&&@@&&@@@@@@@@@@&&$$$$$$$$$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&&&&&@@@@@@&&&&&&&&&&&&%%
@@&&&&&&&&&&&&&&&&&&@@&&%%%%@@@@&&$$%%%%%%&&&&@@@@@@%%$$$$$$%%&&&&%%%%%%$$}}$$&&&&%%$$}}}}$$&&%%$$$$%%&&&&&&&&@@@@&&&&&&&&&&$$$$%%%%$$&&&&&&@@&&&&&&@@@@@@@@@@$$$$$$$$$$$$$$$$$$$$$$$$$$@@&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&&&@@@@@@@@@@@@@@@@@@&&&&&&&&%%%%
&&&&%%%%$$$$&&&&&&&&&&&&%%$$%%%%&&&&@@&&&&%%$$$$%%@@%%$$&&&&$$$$}}$$$$%%&&&&%%%%&&$$}}$$%%}}$$%%&&&&&&&&@@@@&&&&%%&&@@@@%%$$$$%%%%%%&&&&&&&&@@@@&&@@&&@@&&@@%%$$$$$$$$$$$$$$$$$$$$$$$$$$@@&&$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&&&&&%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%
}}}}}}}}}}}}$$%%%%%%&&&&$$%%&&%%%%%%%%%%&&&&&&&&&&&&$$}}$$$$%%&&&&&&$$$$$$$$%%&&%%$$}}}}%%&&&&&&&&@@@@@@&&%%&&&&@@&&%%%%%%%%%%&&&&&&@@&&&&@@@@&&&&@@@@@@@@%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$%%%%%%%%%%&&&&&&%%$$$$$$%%%%%%%%%%%%%%%%%%%%%%&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$&&&&@@&&&&&&&&&&&&&&&&&&&&&&@@@@@@&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%
}}!!!!!!}}&&&&&&&&%%%%&&$$$$%%&&@@@@@@&&%%%%$$$$$$@@%%$$&&&&%%$$$$$$%%&&&&$$%%@@%%$$$$%%&&&&&&@@@@&&&&%%&&&&@@&&%%%%%%&&&&&&&&&&@@@@&&&&@@@@&&&&&&@@&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%&&&&%%%%$$$$$$%%%%%%%%%%%%%%&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$%%&&@@&&&&&&&&@@&&&&&&&&&&&&&&@@@@&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&
}}    !!}}$$$$%%&&&&&&&&$$&&&&%%%%$$}}$$%%&&&&&&&&&&%%}}$$$$%%&&&&&&$$}}$$%%&&@@&&&&&&&&@@@@&&%%%%%%&&&&&&%%$$%%%%&&&&&&&&@@@@&&@@@@&&&&@@@@@@&&&&@@@@@@%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%@@&&$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%&&&&%%%%$$$$$$%%%%%%&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$%%@@&&&&&&@@@@@@&&@@@@@@@@&&@@@@@@&&@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&%%
}}  !!@@@@@@@@&&&&%%%%&&$$$$%%&&&&&&&&&&%%%%$$$$$$&&$$$$&&%%$$$$$$%%&&&&%%%%&&&&&&&&@@@@&&%%%%&&%%@@&&%%$$%%&&&&&&&&&&&&&&&&&&@@@@@@%%$$$$$$$$%%&&@@&&&&}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%$$$$}}}}$$%%%%%%%%%%%%%%%%%%&&&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$%%@@@@@@&&&&@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&@@&&&&&&&&%%
}}!!}}$$$$$$%%&&&&&&&&%%$$&&%%$$$$$$$$%%&&&&&&&&@@%%$$}}$$&&&&&&$$%%&&&&&&&&@@@@@@&&&&&&&&@@&&%%$$$$%%%%%%&&&&&&@@&&@@@@&&&&&&@@&&$$$$$$$$$$$$$$$$&&@@%%}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$%%&&%%$$$$$$%%%%%%%%%%%%%%%%%%%%&&&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&&&&&%%%%%%$$$$$$$$$$$$$$%%@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%
%%&&&&&&%%&&&&&&%%$$%%%%$$%%%%&&&&&&&&&&%%$$}}%%@@%%$$}}}}$$%%&&&&&&&&&&@@@@&&&&&&&&&&@@%%$$%%%%%%%%%%&&&&&&@@@@&&@@@@@@&&&&@@%%$$$$$$$$$$}}$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%$$}}$$%%%%%%%%%%%%%%%%%%%%@@&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@&&&&&&%%%%%%$$$$$$$$$$$$}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@&&&&&&%%%%
%%%%%%%%%%$$$$%%%%&&&&%%$$&&%%%%%%$$$$%%%%&&&&&&@@%%%%%%&&&&&&@@@@@@&&&&&&&&&&@@@@&&&&%%%%&&&&&&&&%%&&&&&&@@@@@@@@@@@@@@&&@@&&}}$$$$$$$$$$$$$$$$$$$$@@$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&%%$$$$%%%%%%%%%%%%%%&&&&&&&&&&&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&&&&&&&&&@@@@&&&&@@&&&&@@@@&&&&&&&&%%%%$$%%$$$$$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&@@@@@@&&&&&&&&%%
$$%%&&&&&&&&&&&&%%%%&&$$}}$$&&&&&&&&&&%%%%%%%%&&&&&&&&&&@@@@&&&&%%%%%%&&&&@@&&%%%%%%&&&&&&&&&&@@@@&&&&&&&&@@@@@@&&@@@@@@@@&&}}$$$$$$$$$$$$$$$$$$$$%%@@$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%&&%%%%$$$$%%%%%%&&&&&&&&&&&&&&&&&&&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&@@&&&&&&&&@@@@&&&&&&&&&&&&&&&&@@&&&&%%%%%%%%$$$$$$$$$$$$$$%%@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$%%&&&&%%%%
&&&&%%%%%%$$$$$$%%&&&&$$$$}}%%$$$$$$%%&&&&@@@@&&@@@@@@&&&&&&&&$$%%&&&&&&%%%%%%&&&&&&&&@@@@@@@@@@&&&&&&&&@@@@@@@@&&@@@@@@&&}}}}}}$$$$$$$$$$$$$$$$$$%%&&$$$$$$$$$$$$$$%%$$%%%%%%%%%%%%%%%%&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&&&&&&&@@@@@@@@@@@@&&&&@@&&&&&&&&@@@@&&%%%%%%%%$$$$$$$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%}}}}!!%%&&&&%%%%
$$%%%%&&&&&&&&&&&&@@&&$$$$$$&&@@&&&&&&&&@@@@@@&&&&&&&&&&&&@@&&%%%%%%$$&&&&&&&&&&&&@@@@@@@@&&@@@@@@&&%%%%%%&&@@@@@@&&@@@@$$$$}}$$$$$$$$$$$$$$$$$$$$%%&&$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%&&&&@@%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$&&@@&&&&@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@&&%%%%%%%%$$$$$$$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$}}!!}}&&&&&&%%&&%%%%
%%%%$$$$}}$$$$&&&&@@&&&&&&&&&&&&@@&&&&&&&&&&&&&&@@@@&&%%$$%%%%%%$$%%&&&&&&&&&&@@@@@@@@@@@@&&@@$$$$$$$$$$$$$$$$$$&&@@@@%%$$}}}}$$$$$$$$$$$$$$$$$$&&&&%%$$$$$$$$$$%%%%%%%%%%&&&&&&&&&&&&&&@@%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$%%&&&&&&&&&&&&&&@@&&&&&&&&&&%%%%%%$$$$$$$$&&@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%%%$$$$$$$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@&&@@@@@@&&%%$$!!!!!!$$&&@@&&&&&&&&%%&&%%%%
%%%%&&&&&&&&&&&&&&&&@@@@&&&&&&&&&&&&&&@@@@&&&&%%%%%%%%%%%%&&&&&&&&&&&&&&&&@@&&@@@@&&&&&&@@%%}}}}$$$$$$$$$$$$$$$$$$&&&&$$}}}}$$%%%%%%%%%%%%%%%%%%%%%%&&%%$$}}$$%%%%%%&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$%%&&&&&&&&&&&&&&@@&&&&&&&&&&%%%%$$$$$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%%%$$$$$$$$$$$$$$%%@@@@@@@@&&@@@@&&@@@@@@@@&&%%%%$$!!!!}}%%&&&&&&&&&&&&&&&&&&&&%%&&%%
&&&&&&&&@@@@&&&&&&&&&&&&&&@@@@&&%%%%%%&&%%%%%%%%%%&&&&&&&&&&&&&&%%&&&&&&&&@@&&@@@@&&&&@@%%}}}}$$$$$$$$$$$$%%$$%%%%&&&&$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%&&%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$%%&&&&&&&&&&&&&&@@@@@@&&&&&&%%%%%%$$$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%%%$$$$$$$$$$$$$$$$@@@@@@&&@@@@@@@@@@&&%%$$}}!!!!$$%%&&&&&&&&&&&&@@&&%%%%%%%%%%%%&&%%
&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%&&%%&&&&&&&&&&&&@@&&&&&&@@&&&&&&&&&&@@@@@@@@@@@@&&$$}}}}$$%%$$$$%%%%%%%%%%%%%%&&&&$$$$$$%%%%%%%%%%%%%%%%%%&&&&&&&&%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$%%@@@@&&@@@@@@@@@@@@@@&&&&&&%%%%%%$$$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$$$$$$$$$@@@@@@@@&&&&&&%%$$}}}}$$$$%%&&&&&&&&&&&&&&&&&&%%%%$$}}!!$$%%&&%%%%
&&%%&&&&&&&&&&%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&%%%%$$%%&&@@@@@@@@@@@@$$}}}}$$%%%%%%%%%%%%%%%%%%%%%%&&&&$$$$$$%%%%%%%%&&&&&&&&&&&&&&&&&&%%%%$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&&&&&&&&&@@&&&&@@&&&&&&%%$$$$$$&&@@@@&&@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$$$$$$$$$@@&&&&$$}}}}}}}}$$&&&&&&&&&&&&&&&&&&&&%%$$$$$$}}!!!!}}%%%%%%%%%%%%
%%$$$$%%%%%%%%%%%%&&&&&&&&&&&&&&&&%%&&&&&&&&&&&&&&&&@@@@@@%%}}$$$$$$%%$$%%&&@@@@@@%%}}}}$$%%%%%%%%%%%%%%%%%%%%%%%%&&%%$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&&&&&&&&&@@@@@@&&@@&&&&%%$$$$$$&&@@@@&&@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%%%$$$$$$$$$$$$$$$$$$$$}}!!$$&&@@&&&&&&&&&&&&&&&&$$%%$$$$}}!!!!!!$$&&@@&&&&&&&&%%%%%%
&&&&%%&&&&&&&&&&&&@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@$$}}$$$$%%%%%%%%%%%%&&@@&&}}}}}}%%%%%%%%%%%%%%%%&&&&&&&&&&&&$$$$$$}}&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&&&&&&&@@@@@@@@@@@@&&&&%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%$$$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$$$$$$$}}}}&&@@&&&&&&&&&&&&&&%%%%%%%%%%$$!!  !!%%&&@@@@&&&&&&&&&&&&%%%%%%%%
&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&$$$$$$$$$$%%&&&&&&@@&&@@$$}}$$%%%%%%%%%%%%%%%%&&&&$$$$}}$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}$$&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$&&&&&&&&&&&&&&&&&&&&@@@@&&&&&&%%%%$$$$&&@@&&@@@@@@@@@@@@@@&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$$$}}$$$$&&&&&&&&@@&&%%&&%%$$$$}}!!!!$$%%&&&&&&&&&&@@&&&&&&&&&&%%%%%%%%%%%%
&&&&&&&&&&&&&&&&&&@@&&&&&&$$}}$$%%%%%%%%%%%%&&&&&&&&$$}}$$%%%%%%%%%%%%%%&&&&&&&&%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&@@&&%%$$&&&&%%%%$$$$&&@@@@@@@@@@@@@@@@@@&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&%%%%%%$$$$$$$$$$$$$$$$&&&&&&&&%%%%%%$$!!}}}}$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%
$$$$$$%%&&&&&&&&&&&&&&&&$$}}$$%%%%%%%%%%%%%%%%&&@@%%}}$$&&&&&&&&&&&&&&&&&&&&&&&&$$$$}}%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$&&&&&&&&&&&&&&&&&&&&&&@@&&&&%%$$$$&&&&&&&&&&@@&&@@&&%%%%%%%%&&&&%%$$$$$$%%&&@@@@@@@@@@@@@@@@&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$%%@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$}}$$&&&&%%%%%%$$$$$$$$$$$$$$$$&&%%%%$$}}!!!!$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%&&&&&&%%%%%%%%%%%%%%
%%%%%%%%%%%%%%&&&&&&&&$$}}$$%%%%%%&&&&&&&&&&&&&&&&}}$$$$&&&&&&&&&&&&&&&&&&&&&&&&$$}}$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$&&&&&&&&@@@@@@@@@@&&&&@@&&&&%%$$$$&&&&@@@@@@&&@@&&%%%%%%%%%%&&&&%%$$$$$$$$$$}}&&&&%%&&&&&&@@&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$%%@@@@@@@@@@@@@@&&&&%%$$}}!!}}$$%%%%&&&&&&%%%%%%$$$$$$$$$$}}$$$$}}}}}}$$%%&&@@&&&&&&&&&&&&&&&&&&%%&&&&&&&&&&%%%%$$$$}}$$%%%%%%%%%%
%%%%%%%%%%%%%%%%&&&&$$}}%%&&&&&&&&&&&&&&&&&&&&&&&&}}$$%%&&&&&&&&&&&&&&&&&&&&&&&&$$}}}}$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$&&@@@@@@@@@@@@@@@@@@&&@@&&&&%%$$$$&&&&&&@@@@@@&&%%%%%%%%%%%%&&&&%%$$$$$$$$%%}}%%@@&&&&&&&&&&&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$%%@@@@@@&&%%$$$$}}}}}}$$%%&&@@@@@@&&&&&&&&%%%%%%$$$$$$$$$$$$$$$$&&&&@@&&&&&&&&&&&&&&&&&&@@&&&&@@&&&&%%%%%%%%$$}}!!!!}}%%%%%%$$$$$$
&&&&&&&&&&&&&&&&&&%%}}$$%%&&&&&&&&&&&&&&&&&&&&&&&&}}}}%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$@@&&&&&&&&&&&&&&&&&&&&&&@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@&&@@&&&&%%$$$$&&@@@@@@@@&&%%%%%%%%%%%%$$&&&&%%$$$$$$%%%%}}%%%%&&&&&&&&&&&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%%%%%$$$$$$$$$$%%$$$$!!}}$$&&&&@@&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$}}$$$$@@&&@@@@&&&&&&&&&&&&@@&&@@&&%%%%%%%%$$}}!!  !!$$&&@@&&$$%%%%%%%%%%
&&&&&&&&&&&&&&&&&&&&}}$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$&&@@&&@@&&%%%%%%%%%%$$}}}}&&&&%%$$$$$$%%%%$$%%%%%%&&&&&&&&&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@&&@@@@@@&&&&%%%%%%$$$$$$$$$$$$%%&&@@@@@@@@&&&&@@&&%%@@&&&&%%%%%%&&&&%%%%%%$$$$$$$$$$$$}}$$&&&&&&&&&&&&&&&&&&&&%%%%$$$$$$!!    }}%%&&&&&&&&&&&&&&&&%%%%%%%%%%
&&&&&&&&&&&&&&&&&&%%}}$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}%%&&&&@@&&&&&&@@@@@@@@@@&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$&&@@@@@@%%%%%%%%%%}}!!!!}}&&&&%%$$$$$$!!}}}}%%%%$$&&&&&&&&&&&&%%%%$$$$$$&&@@@@@@@@@@@@@@@@@@&&%%&&&&%%%%$$$$$$$$$$%%&&&&&&%%&&&&@@&&&&&&&&%%$$$$}}!!$$%%&&%%%%%%%%$$$$$$$$$$$$$$$$@@@@&&@@&&&&%%%%%%$$}}!!!!}}$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%
&&&&&&&&&&&&&&&&&&%%$$}}%%&&&&&&&&&&&&&&&&&&&&&&%%$$$$&&&&@@&&&&&&&&@@@@@@@@@@&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$&&@@@@%%%%%%%%$$}}!!!!!!}}&&&&%%$$$$$$    !!%%%%$$%%&&&&&&&&&&%%%%$$$$$$@@@@@@@@&&&&%%$$}}}}$$%%&&&&%%%%$$$$$$$$$$$$&&&&&&&&&&&&%%%%$$}}}}}}$$&&&&&&@@&&&&&&%%%%%%$$$$$$$$$$$$$$$$&&&&%%%%%%$$}}!!}}}}$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%$$
&&&&&&&&&&&&&&&&&&%%}}$$&&&&&&&&&&&&&&&&&&@@@@&&&&$$$$@@&&@@&&@@&&@@@@@@@@@@@@&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$%%&&&&%%%%%%$$}}!!!!!!!!}}&&%%%%$$$$$$      }}%%%%%%&&&&&&&&&&%%%%$$$$$$$$$$%%$$}}$$$$%%&&&&@@&&&&&&%%%%$$$$$$$$$$%%%%%%$$}}}}$$}}}}%%&&&&@@@@&&@@&&&&&&&&&&%%%%%%$$$$$$$$$$$$$$$$$$}}}}}}}}}}%%&&@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%$$$$
&&&&&&&&&&&&&&&&&&%%$$%%@@&&&&@@@@@@@@@@@@@@@@&&&&$$$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@@@&&&&&&%%$$$$&&&&%%%%%%%%}}!!!!!!!!!!}}&&%%%%$$$$}}    !!!!}}%%%%&&%%%%&&&&%%%%$$$$$$%%&&&&@@@@@@&&&&&&&&&&%%&&&&%%%%$$$$$$$$$$}}}}}}}}$$&&@@&&&&&&&&&&&&&&@@&&&&&&&&&&&&%%%%%%$$$$$$$$$$}}$$$$$$%%&&@@&&&&&&&&&&&&@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%$$$$$$
&&&&&&&&&&@@@@@@&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$%%&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@@@@@%%&&&&&&%%$$$$&&&&%%%%%%}}!!!!!!!!!!!!$$&&&&%%$$$$}}  !!!!!!}}}}}}}}}}$$&&%%%%%%$$$$$$&&&&@@&&@@@@@@&&&&&&&&%%&&&&%%%%$$$$$$$$$$%%@@@@&&&&&&@@&&&&&&@@&&&&&&&&@@&&&&&&&&&&%%%%%%$$$$$$$$$$$$}}$$@@@@&&&&&&&&@@@@&&&&&&&&&&&&&&&&&&&&&&&&@@&&%%%%%%%%%%%%%%%%%%$$}}
&&@@@@@@&&@@@@&&&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$&&@@@@@@@@@@@@@@&&%%@@&&&&%%%%$$$$&&%%%%%%}}}}!!!!!!!!!!!!$$&&%%%%$$$$}}!!  !!}}&&&&&&&&&&&&&&%%%%%%$$$$$$&&@@&&@@&&&&&&%%$$}}!!!!%%&&%%%%%%$$$$$$$$%%&&@@&&&&&&&&@@&&@@&&@@&&&&&&%%%%%%%%&&&&%%%%%%$$$$$$$$$$}}$$$$@@&&&&&&&&@@&&&&&&&&&&&&&&&&&&@@&&&&%%$$%%$$%%$$%%%%%%%%%%%%%%$$}}
&&@@@@@@&&@@@@&&&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@&&$$}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@&&%%&&&&&&@@&&%%%%$$$$&&%%%%%%}}!!!!!!!!!!!!!!$$&&%%%%$$$$}}  !!  $$&&&&&&&&&&&&&&%%%%%%$$$$$$%%$$$$}}}}}}$$%%&&&&&&&&&&&&%%%%$$$$$$$$$$%%&&@@@@&&&&@@&&&&%%%%$$$$$$!!  }}$$%%&&&&%%%%%%%%$$$$$$$$}}}}$$@@&&&&@@&&&&&&&&&&&&@@&&&&%%$$%%%%%%$$}}  !!%%%%%%%%%%%%%%%%%%$$}}
&&@@@@@@&&@@@@@@&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@&&$$$$&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@&&&&&&&&&&&&@@&&%%%%$$$$&&%%%%%%}}!!!!}}!!!!!!!!$$&&%%%%$$$$}}      $$&&&&&&&&%%%%&&%%%%$$$$$$$$%%%%%%&&@@&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$&&&&%%%%%%$$$$}}!!!!!!%%%%&&&&&&&&&&&&&&%%%%%%%%$$$$$$$$}}}}$$@@@@&&@@&&&&&&%%$$%%%%%%$$$$}}!!!!    !!$$%%%%%%%%%%%%%%%%%%%%}}}}
@@@@@@@@@@@@@@@@&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@&&$$}}%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%$$$$@@@@@@&&%%&&@@&&&&&&&&@@&&%%%%$$$$&&%%$$$$!!!!}}}}!!!!!!!!$$&&%%%%$$$$}}!!}}}}}}}}}}}}}}}}$$&&%%%%$$$$$$$$&&&&&&&&&&&&&&&&@@&&@@&&&&%%%%%%%%$$$$$$$$$$$$}}}}}}}}}}$$%%&&@@@@@@&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$}}}}$$&&&&%%%%$$$$$$$$$$$$}}!!    !!$$%%&&&&&&@@&&%%%%%%%%%%%%%%%%$$}}}}
@@@@@@@@@@@@@@@@&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@%%$$}}&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%$$$$@@@@&&%%&&@@&&&&%%%%%%%%&&%%%%$$$$$$$$}}$$!!!!}}}}!!!!!!!!$$&&%%$$$$$$$$$$$$$$%%%%&&&&@@@@@@&&%%%%$$$$$$$$&&&&&&&&&&&&&&@@@@&&&&&&&&%%%%%%$$$$$$$$$$$$$$%%&&&&@@@@@@&&&&&&&&@@&&&&@@@@&&&&&&&&%%%%%%$$$$$$$$$$}}}}}}%%$$}}}}}}!!!!!!!!}}$$%%&&&&@@&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%$$}}}}
&&&&@@@@@@@@@@@@&&%%$$&&@@@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@@@%%$$}}&&@@@@@@@@@@@@@@@@@@@@@@@@&&&&%%$$$$$$%%$$$$$$$$$$$$$$$$$$%%%%&&%%$$$$$$}}}}}}$$!!!!!!}}!!!!!!!!$$&&%%$$$$$$%%&&&&&&@@&&&&&&&&&&&&&&%%%%$$$$$$$$@@@@&&&&&&&&&&%%$$$$$$$$%%%%%%%%$$$$$$$$$$$$@@&&&&&&&&@@&&&&&&&&&&&&&&@@&&@@&&&&&&%%%%%%%%%%$$$$$$$$$$}}}}!!  !!!!$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
&&&&&&@@@@@@@@@@&&%%$$&&&&@@@@@@@@@@@@@@@@@@@@&&%%$$$$@@@@@@@@@@@@@@@@@@@@@@&&%%$$}}&&&&&&&&%%%%%%$$$$$$}}}}}}}}$$%%$$$$$$%%&&&&&&&&&&&&&&%%&&%%%%&&%%%%$$$$}}}}$$$$!!!!!!!!!!!!!!!!$$&&%%%%$$$$%%&&&&&&&&%%&&&&&&@@&&&&%%%%$$$$$$$$%%%%%%$$}}!!!!}}!!$$%%&&&&&&%%%%$$$$$$$$$$$$@@&&&&&&&&@@&&&&@@&&@@&&&&&&@@&&&&&&%%%%%%%%%%%%$$$$$$$$$$}}}}$$@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
@@&&&&@@&&@@@@&&&&%%$$&&@@@@&&&&@@&&@@@@@@&&&&&&%%$$$$%%%%%%%%%%%%$$$$$$$$$$%%%%$$}}%%%%%%&&&&&&&&&&@@@@&&&&&&&&&&%%$$$$$$&&&&&&%%&&&&&&&&%%%%&&&&&&%%$$$$$$}}}}$$%%}}}}}}}}!!!!!!!!%%&&%%$$$$$$%%&&&&&&&&@@&&&&&&&&%%&&%%%%$$$$$$$$}}}}$$%%&&@@@@@@@@@@&&@@&&%%%%%%$$$$$$$$$$$$&&&&&&&&&&&&@@&&&&&&&&%%%%%%%%%%%%%%%%%%$$$$$$$$$$$$}}}}}}}}}}}}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
$$%%$$$$$$$$$$%%%%$$$$$$%%%%%%%%%%%%%%%%&&&&%%&&%%$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$&&&&%%%%%%%%%%$$}}}}%%&&&&%%$$$$$$}}$$$$%%}}}}}}}}!!}}}}!!%%&&%%$$$$$$%%&&%%%%$$$$$$}}}}}}}}&&%%%%$$$$$$$$@@@@@@@@@@&&&&@@@@&&&&@@&&%%%%%%$$$$$$$$$$$$@@&&&&&&%%%%$$%%$$}}}}!!  !!!!$$%%&&%%%%%%%%%%$$$$$$$$$$}}}}}}$$@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
&&&&&&&&&&&&&&&&&&$$$$&&&&@@&&&&@@&&&&&&&&&&&&&&%%$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&&&&&%%&&%%%%%%%%%%$$$$$$%%$$$$}}}}$$$$}}$$$$$$%%}}}}$$$$&&%%$$$$$$}}}}$$%%}}}}}}!!}}}}}}}}%%&&%%$$$$$$$$$$$$%%%%&&&&&&&&&&&&&&%%%%$$$$$$$$&&&&&&@@@@&&&&@@@@@@&&@@&&%%%%%%$$$$$$$$$$$$%%%%$$}}}}!!!!}}}}$$%%&&&&&&&&&&&&&&%%%%%%%%$$$$$$$$$$$$}}}}$$}}$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
%%&&&&%%&&&&&&&&%%$$$$&&&&&&&&&&&&&&%%%%&&%%%%&&%%$$$$%%%%%%%%%%%%%%%%%%%%$$%%%%$$}}$$$$%%$$%%%%%%%%%%%%%%%%$$%%&&%%$$$$$$&&&&&&&&%%&&&&&&$$$$}}}}&&%%$$$$$$}}}}$$$$}}!!}}}}}}$$$$$$&&&&%%$$$$$$&&@@@@@@&&&&&&&&&&&&&&&&%%%%$$$$$$$$@@&&@@@@&&@@@@@@@@&&&&&&&&%%%%%%$$$$$$$$$$}}!!}}}}%%%%&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%$$$$$$$$}}}}}}}}}}}}}}&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
$$$$%%$$$$$$$$$$%%$$$$%%$$%%$$$$%%$$%%%%%%%%%%%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&@@@@@@@@&&&&&&&&&&%%%%&&&&&&%%$$$$$$&&&&&&&&&&&&&&&&%%!!}}}}&&%%$$$$$$}}}}$$$$!!!!!!$$&&&&&&&&&&&&%%$$$$$$&&@@@@&&@@&&&&&&@@&&&&&&%%%%$$$$$$$$@@&&&&&&&&%%%%%%$$}}}}}}%%%%%%%%$$$$$$$$}}$$@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$}}$$$$$$$$$$$$$$$$}}$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&&&@@@@&&&&&&&&%%%%%%%%%%%%%%%%%%$$}}}}
&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&&&&&&&&&&&&&$$&&&&&&%%&&%%$$$$$$%%%%%%&&&&&&&&%%!!}}}}$$&&%%$$$$$$}}}}}}}}!!!!!!$$&&&&&&&&&&&&%%$$$$$$&&&&@@@@@@@@@@@@@@&&&&&&%%%%$$$$$$$$$$$$}}}}}}!!}}}}$$%%&&&&&&%%%%%%$$$$$$$$$$$$@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}$$$$$$$$$$$$$$$$}}}}$$$$$$$$$$$$@@&&&&&&&&&&@@&&&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}
&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&%%%%%%%%$$$$$$$$$$$$}}%%%%$$$$}}}}!!  }}%%%%}}$$$$}}}}}}&&%%$$$$$$}}}}}}}}!!!!  $$&&&&&&&&&&%%%%$$$$$$&&&&&&%%%%%%$$%%%%$$$$&&%%%%$$$$$$$$&&&&@@@@@@&&&&&&&&&&&&&&%%$$$$$$}}}}}}}}}}}}@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$&&&&&&&&%%%%$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}}}}
%%%%%%%%%%$$$$%%%%$$}}$$%%$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$%%$$%%%%$$%%%%$$%%%%%%$$}}%%%%&&%%%%%%$$%%%%%%&&&&&&&&&&%%$$$$$$&&&&$$$$}}!!}}}}}}}}}}$$&&%%$$$$}}}}}}$$}}!!}}}}%%%%%%%%%%&&%%%%$$$$$$}}}}$$$$$$$$%%%%&&&&&&&&%%$$$$$$$$$$@@&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%$$$$$$$$$$$$&&@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$}}}}}}}}}}}}}}}}}}}}$$$$$$$$$$%%%%%%%%%%%%%%%%$$$$}}}}!!!!  !!%%%%%%%%%%%%%%%%%%%%$$}}
&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$}}&&&&&&&&%%%%&&&&&&&&&&&&&&&&&&%%$$$$$$&&$$}}}}}}$$}}!!}}}}$$$$&&%%$$$$$$}}}}}}}}}}$$$$$$%%%%%%%%&&%%%%$$$$$$&&&&&&&&&&&&&&&&&&&&&&%%$$$$$$$$}}}}&&&&@@@@&&&&&&&&&&&&&&&&%%%%$$$$$$$$}}}}}}}}}}@@@@&&@@&&&&&&&&&&&&@@@@&&&&&&&&%%$$$$$$}}$$}}}}}}}}}}}}}}}}$$$$$$$$$$$$}}}}!!!!  !!$$}}!!!!}}%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}
&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&&&%%%%&&&&&&&&&&%%&&&&&&%%%%%%$$$$$$&&%%}}$$$$%%}}}}!!}}$$$$&&%%$$$$$$%%&&&&&&&&&&&&&&&&@@@@&&&&%%$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$$$}}}}&&&&@@&&&&&&&&&&&&&&&&&&%%}}}}$$}}}}}}}}}}$$}}$$$$&&&&&&&&&&&&&&%%&&&&&&&&&&&&%%$$$$$$$$$$}}}}}}}}}}}}}}}}}}}}$$$$$$}}}}$$$$%%%%&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%$$}}
%%%%%%%%%%&&%%&&%%$$$$&&%%%%%%%%%%%%%%%%%%%%%%%%$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%$$}}%%$$}}%%%%%%$$%%%%%%$$$$$$!!%%%%$$$$$$%%%%}}$$$$$$$$}}}}}}}}$$&&%%$$$$}}&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$$$}}&&&&&&&&&&&&&&@@&&&&&&%%$$$$$$$$$$}}$$&&&&&&@@@@&&&&&&&&&&&&%%}}}}$$$$$$$$$$$$$$$$$$$$&&%%%%%%%%%%%%$$$$$$&&%%&&&&%%$$$$$$$$}}}}}}}}}}}}}}}}}}$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%$$}}
%%%%%%%%%%%%$$%%%%$$$$%%$$%%%%%%%%%%%%%%%%%%%%%%$$$$$$%%$$%%%%%%%%&&%%%%%%%%%%%%$$}}%%$$}}%%&&%%%%&&%%%%%%%%%%&&%%%%$$$$}}}}}}}}$$}}$$$$}}}}}}}}$$%%%%$$$$}}&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$$$}}&&&&&&&&&&&&&&&&&&&&&&$$}}$$$$$$$$$$}}}}&&&&&&&&%%%%%%&&&&&&$$}}}}}}}}$$$$}}}}$$$$}}}}}}}}!!!!!!}}}}}}}}$$&&&&&&&&%%}}$$$$$$}}$$}}}}$$}}}}}}$$$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%}}}}
&&&&&&&&&&&&&&&&%%$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$$$&&%%$$%%&&&&&&&&&&%%&&&&&&&&%%%%$$}}}}}}}}}}$$}}$$$$!!}}}}!!%%%%$$$$$$$$&&&&&&&&&&&&&&&&&&@@&&%%$$$$$$$$}}}}$$&&&&&&&&&&&&&&&&&&%%$$$$$$}}$$$$$$$$$$$$$$}}}}}}!!!!&&&&&&$$}}}}}}$$$$$$$$$$}}$$}}}}&&@@@@@@@@&&&&&&&&&&&&&&&&&&%%}}}}$$$$}}}}}}}}}}}}}}}}}}}}}}$$$$}}%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%$$}}
&&&&&&&&&&&&&&&&$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&%%$$}}&&&&&&&&&&&&&&&&&&&&&&&&%%%%$$}}&&%%}}&&&&%%%%&&$$&&&&&&&&&&%%$$$$}}}}}}}}}}$$}}$$$$!!!!!!%%&&%%$$$$}}}}$$&&&&&&&&&&&&&&%%%%&&&&$$}}$$$$}}$$$$$$$$$$}}}}}}$$&&&&%%}}}}$$$$$$$$$$$$$$%%&&&&&&@@@@&&&&&&&&$$}}}}}}}}$$$$$$$$$$$$$$}}&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%}}}}$$$$}}}}}}}}}}}}}}}}}}}}}}}}$$$$%%&&%%%%&&&&&&&&&&&&&&&&&&@@@@%%%%%%%%%%%%%%%%%%%%%%$$}}
$$$$$$$$$$$$%%%%$$$$}}%%%%%%%%%%%%%%%%%%%%%%%%$$$$}}%%&&&&%%&&&&&&&&&&&&&&&&$$$$}}}}%%%%$$%%%%%%$$%%%%&&&&&&&&%%%%$$$$}}}}$$}}}}}}}}}}}}!!!!$$&&&&$$}}}}}}}}$$$$$$}}}}$$}}}}$$%%&&&&$$}}}}$$$$$$$$$$&&&&&&&&&&&&&&&&%%$$$$$$$$$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&$$}}}}}}}}$$$$$$$$$$$$$$}}&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}$$$$}}$$}}$$$$$$%%&&&&@@&&&&&&&&&&&&&&&&&&@@@@&&%%%%%%%%%%%%%%%%%%%%$$}}
%%%%%%%%%%%%%%%%$$}}}}}}%%%%%%%%%%%%$$$$$$%%%%$$}}}}}}$$%%$$$$$$$$$$$$}}$$%%%%}}}}}}}}$$!!}}}}}}!!  $$%%%%%%%%%%%%}}}}}}$$}}}}}}}}!!}}!!}}$$%%&&&&$$$$}}$$}}}}%%@@&&&&@@&&&&&&&&&&&&$$}}}}$$$$$$$$$$&&&&@@&&&&&&&&&&%%$$$$$$$$$$$$$$$$$$%%&&&&&&&&@@&&&&&&&&$$}}}}}}}}$$$$$$$$$$$$$$}}&&@@&&@@&&&&&&&&&&&&&&&&&&&&%%}}}}}}}}}}}}}}}}}}}}}}$$}}$$$$$$$$$$%%@@@@@@@@&&&&&&@@@@&&&&&&@@&&&&%%%%%%%%%%%%%%%%%%%%$$}}
%%%%%%%%%%&&%%%%$$}}}}}}&&&&&&&&%%%%%%%%&&%%%%$$}}}}}}%%&&&&&&&&&&&&&&&&%%%%%%}}}}}}}}$$$$%%%%%%%%}}}}}}$$$$%%%%%%}}}}}}}}$$}}!!!!!!!!!!}}$$%%&&&&$$$$}}$$$$$$$$&&@@&&&&&&&&&&&&&&&&}}}}$$$$$$$$$$$$&&&&&&&&&&&&&&&&%%$$$$$$$$$$$$$$$$$$%%&&@@@@&&@@&&&&&&&&$$}}}}}}$$$$$$$$$$$$$$$$$$&&@@@@&&&&&&&&&&@@@@&&&&&&&&%%}}}}}}}}}}}}}}$$$$}}$$$$$$$$$$$$$$$$%%&&@@@@&&&&&&&&@@&&&&&&&&@@@@&&%%%%%%%%%%%%%%%%%%%%$$}}
%%%%%%%%%%%%%%%%$$}}}}}}&&&&&&&&&&&&&&&&%%%%%%$$}}}}}}%%&&&&&&&&&&&&%%&&%%%%%%}}}}}}}}$$}}!!}}!!!!!!!!!!    $$%%%%}}}}}}}}}}!!            }}%%&&&&$$$$$$$$$$$$$$@@@@&&&&&&&&&&&&&&&&}}$$$$$$$$$$$$$$&&@@&&&&@@&&&&&&%%$$$$}}$$$$$$$$$$}}%%&&@@@@&&@@&&&&&&&&$$}}}}}}$$$$$$$$$$$$$$$$$$&&@@@@&&&&@@&&&&&&@@&&&&&&&&$$}}}}}}}}$$$$}}$$$$$$$$}}$$$$}}}}$$$$%%&&&&@@&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%$$}}
$$$$$$$$$$$$%%%%$$}}}}}}%%%%%%%%%%%%%%%%%%%%%%$$}}}}}}%%&&&&&&&&&&&&%%&&%%%%%%}}}}}}}}$$$$!!}}!!!!!!!!!!!!  %%%%%%}}}}}}}}}}!!            }}%%%%&&$$}}}}}}}}}}%%&&@@&&@@@@&&&&&&&&&&}}$$$$}}}}}}$$$$&&&&&&&&&&&&&&&&%%}}$$$$$$$$}}}}}}}}%%&&&&&&&&&&&&&&&&%%$$$$$$}}$$$$$$$$$$$$$$$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&$$}}}}}}$$}}$$}}$$$$$$$$}}$$}}}}$$$$$$%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%$$}}
$$$$$$$$$$$$%%%%$$$$$$$$}}}}}}}}$$$$$$$$%%%%%%$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%}}}}}}}}$$$$!!$$!!!!!!!!!!!!  $$%%%%}}}}}}}}}}!!!!!!!!!!!!!!$$%%%%%%}}}}}}}}}}}}$$&&%%%%%%$$}}}}$$%%&&$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%&&$$}}}}}}}}$$$$}}}}}}%%&&&&&&&&&&&&&&&&%%}}}}}}$$$$$$$$$$$$$$$$$$}}%%&&&&&&&&&&&&&&&&&&&&%%&&&&$$}}}}}}$$$$}}$$$$}}$$$$$$$$}}}}$$}}}}$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&%%%%%%%%%%%%%%%%%%%%}}}}
$$%%%%%%%%$$%%%%%%$$$$%%}}!!}}}}%%%%$$$$%%%%%%%%%%$$$$%%$$%%%%%%%%%%%%%%$$%%%%}}}}}}}}!!  !!}}    !!!!!!!!  $$%%%%$$$$$$$$$$$$%%$$$$$$$$$$$$%%%%%%$$$$$$$$$$}}}}}}}}$$$$$$$$$$%%%%&&$$$$$$$$$$}}$$$$$$$$$$$$$$$$&&%%$$$$$$$$$$}}$$$$$$}}$$$$$$$$$$$$$$%%&&%%}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&$$}}}}}}}}}}$$}}}}$$}}}}}}}}$$}}}}}}$$$$%%%%%%%%%%%%%%%%%%%%$$$$}}}}}}%%%%%%%%%%%%%%%%%%%%$$}}
}}$$$$$$$$$$$$$$$$$$}}}}!!!!}}}}%%%%$$%%%%%%%%$$%%$$}}$$$$%%%%%%%%$$%%$$$$$$$$}}}}}}}}!!}}!!!!!!  !!  !!!!  $$%%$$%%$$$$%%$$%%%%$$%%%%$$$$%%%%%%%%$$$$$$$$$$}}!!!!$$$$$$$$$$$$%%%%%%$$$$}}}}$$$$}}$$$$}}}}}}}}$$%%%%$$$$}}}}$$!!!!!!!!!!}}}}}}}}}}}}$$&&%%%%}}$$$$$$$$}}$$$$$$$$}}$$$$$$}}$$}}}}}}$$$$$$$$&&%%&&&&$$}}$$$$$$$$$$$$$$$$}}}}}}}}}}}}}}}}}}!!}}}}}}}}}}}}}}}}}}}}}}}}$$}}}}%%%%%%%%%%%%%%%%%%%%$$}}
$$$$$$$$$$$$%%}}}}}}!!  !!!!}}}}}}}}!!}}}}}}}}}}!!!!!!}}}}$$$$$$$$$$$$}}!!!!}}!!}}}}}}}}}}!!!!!!!!!!!!!!!!  $$%%$$&&%%$$}}!!%%%%$$}}!!$$%%%%%%%%%%%%%%$$$$$$}}!!}}$$$$$$$$$$$$%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%$$$$}}$$$$!!    }}}}}}}}}}}}$$$$$$%%%%%%}}}}}}$$}}$$}}}}}}}}}}$$}}}}}}$$}}$$}}$$$$$$}}%%%%%%%%%%$$$$$$}}}}}}$$$$$$$$$$$$$$$$$$$$}}!!$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$}}%%%%%%%%%%%%%%%%%%%%$$}}
$$$$$$$$$$$$$$}}}}}}!!  !!}}}}}}}}}}}}$$$$%%$$$$!!!!!!}}}}$$}}$$}}$$}}}}!!}}$$$$$$$$}}$$$$}}!!}}}}$$!!!!!!!!}}$$}}%%$$}}!!  %%%%$$!!  $$$$%%!!!!$$%%%%$$$$$$}}!!}}$$$$$$$$$$$$%%%%%%$$$$}}}}$$$$$$$$$$$$$$$$$$%%%%%%$$$$}}$$$$!!!!!!}}}}$$$$$$$$$$$$$$%%&&%%$$}}$$$$}}}}}}}}}}}}}}$$$$$$}}$$$$$$$$}}$$}}$$%%%%%%%%%%$$}}$$}}}}}}}}}}$$$$$$$$$$$$$$$$!!!!$$$$$$$$%%$$$$}}$$$$}}$$$$$$$$}}%%%%%%%%%%%%%%%%%%%%$$}}
%%%%%%%%%%%%%%}}}}$$!!  !!}}}}}}}}}}}}$$$$$$$$$$!!!!!!!!!!}}}}}}}}}}}}}}!!}}$$$$$$$$$$}}}}!!!!}}$$}}}}!!!!!!!!!!!!$$$$}}!!!!$$$$$$!!  $$$$$$!!!!$$$$$$$$}}$$}}!!}}$$$$$$$$$$$$%%%%%%$$}}}}}}$$$$$$$$$$$$$$$$$$%%%%%%$$$$}}$$$$}}!!  }}}}$$$$$$$$$$$$$$%%%%%%$$$$$$$$}}$$}}}}}}}}$$$$$$$$}}$$$$$$$$}}$$$$$$%%%%%%%%%%}}$$}}}}}}}}}}}}}}$$}}}}}}}}$$}}!!}}$$}}}}}}$$$$$$}}}}}}}}$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%}}}}
%%%%%%%%%%%%%%}}}}}}}}  !!}}}}}}}}}}}}$$$$$$$$$$!!!!!!}}}}}}}}}}!!}}}}}}  }}}}$$$$}}}}}}}}!!!!$$}}!!!!  !!}}}}!!!!}}$$}}!!}}}}}}}}!!}}}}}}}}!!!!$$$$!!!!  $$}}  }}}}%%$$$$$$$$%%%%%%$$}}$$$$}}$$$$$$%%$$$$$$$$%%&&%%$$$$$$$$$$}}!!  }}}}$$$$$$$$$$$$$$%%%%%%$$$$$$$$}}$$$$$$}}}}$$$$$$$$}}}}$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$}}}}}}}}}}}}!!!!        !!  }}$$$$}}}}$$}}$$$$$$}}}}$$}}}}}}$$%%%%%%%%%%%%%%%%%%%%}}}}
%%%%%%%%%%%%%%}}$$$$!!    }}}}}}}}}}}}%%$$$$%%$$!!!!!!}}!!!!}}}}}}}}$$}}!!$$%%$$$$$$}}!!}}!!!!}}!!}}!!}}!!}}!!!!$$}}}}}}!!!!}}}}}}!!}}}}}}!!!!!!$$$$!!}}!!$$!!  !!$$%%%%%%$$$$%%%%%%$$$$$$}}$$$$%%$$$$$$$$$$$$$$&&%%$$$$$$$$$$}}!!  }}}}$$$$$$$$$$$$$$%%%%%%}}$$$$$$}}}}$$}}}}}}$$%%$$$$}}$$$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$$$}}$$$$}}}}!!            !!}}}}$$$$}}$$}}$$}}$$}}}}$$}}}}}}$$%%%%%%%%%%%%%%%%%%%%$$$$
$$%%$$$$$$%%%%}}$$$$}}    !!!!}}}}}}}}$$$$$$%%$$!!!!!!!!!!!!!!}}!!}}}}}}!!$$$$$$%%$$}}}}!!!!!!}}!!}}}}!!!!  }}}}    !!    !!}}}}!!  !!!!!!!!!!  $$$$!!}}}}}}!!!!!!!!%%%%%%%%%%$$$$%%$$}}}}}}}}$$$$$$$$$$$$$$}}$$&&&&$$$$}}$$$$}}!!  }}}}$$$$$$$$$$$$$$%%%%%%$$$$$$$$}}$$$$}}}}}}$$$$$$$$}}$$$$$$$$$$$$$$$$%%%%%%%%%%$$$$%%$$$$$$$$$$}}!!!!!!    !!!!}}}}$$$$$$$$$$$$$$}}}}$$}}}}}}}}$$$$%%%%%%%%%%%%%%%%%%%%$$$$
%%$$%%%%%%%%%%}}}}$$}}    }}}}}}}}}}$$$$$$$$$$$$!!!!!!!!!!!!!!!!!!}}$$}}!!$$$$$$$$$$}}}}}}!!!!}}}}$$}}!!!!!!}}}}}}}}$$}}!!    !!!!  !!!!!!!!!!  $$$$  !!}}}}!!!!!!!!%%%%%%$$$$$$$$$$%%$$$$$$$$$$%%$$$$}}$$$$$$$$%%&&$$$$$$$$$$}}}}  }}}}$$$$$$$$$$$$%%%%%%%%$$$$$$$$}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%$$%%%%$$$$$$$$$$$$!!!!!!!!  }}}}}}}}$$$$%%$$$$$$$$$$}}$$$$$$$$}}$$$$%%%%%%%%%%%%%%%%%%%%$$$$
}}$$$$$$$$$$$$}}}}$$}}  !!}}}}}}$$}}}}$$$$$$$$$$!!!!!!!!!!!!!!!!!!}}}}}}!!$$$$$$$$$$}}}}}}!!!!!!!!        !!!!}}}}}}}}}}}}    !!!!  !!!!!!!!  !!%%}}  !!!!}}!!!!!!  %%%%%%%%$$$$$$$$$$%%$$$$$$$$%%%%%%$$$$$$$$%%%%%%%%$$$$$$$$}}}}  }}}}$$$$$$$$$$$$%%%%%%%%$$$$$$$$}}}}$$}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%$$%%$$$$$$$$$$$$$$!!!!!!!!  }}}}}}}}$$$$%%$$$$$$$$$$}}$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%$$$$
!!}}}}$$$$$$$$$$}}$$}}  !!}}}}}}$$!!}}$$$$$$$$}}!!!!!!!!!!!!!!!!!!$$}}}}!!$$$$$$$$$$}}}}}}}}!!!!!!!!!!}}}}!!!!!!!!}}!!!!}}                    !!%%}}  !!!!!!!!!!!!  %%%%%%%%$$$$$$$$$$$$$$$$$$%%%%%%$$$$$$%%$$$$%%%%%%%%$$$$$$}}!!  }}}}$$$$$$$$$$$$%%%%%%%%$$$$$$$$}}$$}}}}}}}}}}$$$$$$}}$$$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$$$$$$$$$$$}}!!!!!!!!  }}}}}}}}$$$$%%$$$$$$$$}}}}$$$$$$$$$$}}$$%%%%%%%%%%%%%%%%%%%%%%$$
!!!!$$}}}}}}}}$$$$$$!!  !!}}}}}}}}!!$$$$$$$$$$$$!!!!  !!!!    !!!!}}}}}}!!$$$$$$$$$$}}}}}}  !!}}$$}}!!        !!  !!  !!!!!!!!                  $$}}  !!!!!!!!!!!!  %%%%%%$$$$%%$$$$$$$$$$$$$$%%%%%%$$$$$$%%$$$$$$$$%%%%$$$$%%}}!!  !!$$$$%%%%%%$$%%%%%%%%%%}}$$$$$$}}$$}}}}!!}}$$$$$$$$}}$$$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$$$$$$$$$$$$$}}!!!!!!!!}}$$}}}}$$$$%%$$$$$$$$$$}}$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%$$
  $$!!$$$$$$}}$$$$$$!!  !!}}}}}}}}!!$$$$$$$$$$}}!!!!!!    !!!!!!!!}}}}}}!!$$$$$$$$$$}}}}}}$$}}!!              !!        !!                    !!$$$$  !!!!!!!!!!!!  $$$$%%$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%$$%%$$$$$$$$$$%%$$%%%%}}!!  !!$$$$$$%%%%$$%%$$$$%%%%}}$$$$$$$$$$}}}}!!$$$$$$$$$$}}$$$$%%$$$$$$$$$$%%%%%%%%%%$$$$$$$$$$$$$$$$$$}}  !!!!!!}}}}}}}}$$$$%%%%%%$$$$}}$$$$$$$$$$}}$$$$$$%%%%%%%%%%%%%%%%%%%%$$
}}}}!!$$$$}}}}$$$$$$!!  !!}}}}}}}}!!$$$$$$$$$$}}!!!!          !!!!$$}}}}!!}}}}$$$$$$}}$$!!!!  !!!!                  !!!!!!!!!!                !!$$}}    !!!!!!!!!!  $$$$%%$$$$$$$$$$$$$$$$$$$$%%%%%%$$$$$$%%$$$$$$$$$$%%$$%%%%}}}}  !!$$%%%%%%%%$$%%$$$$%%%%}}$$}}}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$%%$$$$$$$$$$}}!!!!!!  }}}}}}}}$$$$%%$$$$$$$$$$}}$$%%%%$$}}$$$$$$%%%%%%%%%%%%%%%%%%$$$$
}}$$%%&&&&$$}}%%$$$$!!    }}}}}}}}!!$$$$$$$$$$$$$$$$$$$$$$}}}}$$}}}}}}}}!!}}}}$$}}}}}}!!  !!!!!!!!!!!!              !!!!!!!!}}                !!$$}}      !!  !!!!  $$$$$$$$$$$$$$$$$$$$$$$$$$%%$$$$$$$$$$$$$$$$$$$$$$%%$$$$%%}}!!  !!$$%%%%%%%%$$$$$$$$$$%%$$$$}}$$$$}}}}}}!!}}!!}}}}$$}}}}$$$$$$$$$$$$$$%%%%%%%%%%$$$$$$%%$$$$$$$$$$}}!!!!!!!!}}}}}}}}$$$$%%$$$$$$$$$$$$$$$$$$%%}}$$$$$$%%%%%%$$%%%%%%%%%%%%$$
}}}}$$%%@@&&$$$$$$$$!!  !!!!!!!!!!}}}}}}}}}}}}}}$$%%}}}}}}$$$$$$}}}}$$}}}}!!}}}}!!!!!!!!!!  !!!!!!!!!!              !!!!!!!!!!                !!$$}}      !!    !!  $$$$$$$$$$$$}}}}$$$$$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}!!  !!$$%%%%%%%%$$$$$$$$$$$$}}$$$$$$}}$$!!!!!!}}}}$$$$$$}}$$$$%%$$$$$$$$$$%%%%%%%%%%$$$$%%%%$$$$$$$$$$!!!!!!!!  }}}}}}}}$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%$$
  !!%%%%@@&&%%%%$$}}!!    !!!!!!!!!!!!!!!!!!!!!!!!!!!!}}$$$$}}!!!!!!!!!!!!!!!!$$!!!!!!  }}!!  !!!!!!              !!!!!!!!!!!!                !!$$}}            !!  $$$$$$$$$$$$}}$$$$$$$$}}}}$$}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}!!!!!!$$%%%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!!}}$$$$%%$$}}$$$$%%%%$$$$}}%%%%%%%%%%$$$$%%%%$$$$$$$$}}!!!!!!!!!!}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%$$%%$$
  }}%%%%&&%%&&&&%%$$!!    !!!!!!!!                !!!!!!}}}}}}!!!!!!!!!!!!!!  !!!!!!!!      !!                          !!!!!!                !!$$}}            !!  $$$$$$$$$$$$}}}}$$$$$$$$}}$$$$$$$$$$}}$$$$$$$$$$$$$$$$}}$$}}!!  !!$$$$%%%%$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$}}$$%%$$%%$$!!$$$$$$$$$$$$$$%%%%%%%%$$$$$$$$%%$$$$$$$$$$}}!!!!!!!!!!}}}}$$$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$%%%%%%%%%%%%%%%%%%$$%%$$$$
  }}}}}}&&%%&&&&$$$$!!    !!!!!!!!  !!}}!!!!}}}}}}!!!!  !!}}!!!!!!!!      !!      !!!!!!    !!!!                !!  !!  !!!!!!                !!$$}}                }}}}}}}}}}}}$$}}$$}}}}$$$$$$$$$$$$$$}}}}$$}}}}$$$$$$$$$$$$!!!!  !!$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$}}$$$$}}$$}}$$%%%%%%$$}}%%%%$$$$}}}}}}%%%%%%%%$$}}}}$$}}$$$$$$$$}}!!!!!!!!  !!}}}}}}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%$$$$%%$$%%
    !!}}%%%%&&&&%%@@}}    !!!!!!}}}}$$}}!!!!              !!!!}}!!!!!!        !!!!!!!!!!  !!!!!!                  !!                          !!}}}}                }}}}}}}}}}}}}}}}}}}}}}}}$$$$$$$$$$$$$$$$$$}}!!}}!!$$$$$$$$}}}}  !!$$%%$$%%$$$$$$$$$$$$$$}}$$$$$$}}$$$$}}}}}}%%$$%%%%%%$$$$$$$$$$$$$$$$%%%%%%%%$$$$$$$$!!}}$$$$}}}}!!!!      !!}}}}}}$$$$}}$$$$$$$$$$$$$$$$$$$$$$$$%%$$%%%%%%%%%%%%%%%%%%%%$$
}}}}}}}}%%&&&&%%%%%%}}!!$$$$$$}}!!!!                        !!!!!!!!!!          !!!!!!!!!!  !!!!                                              !!}}}}                }}}}}}}}}}}}}}}}}}}}}}$$}}$$$$$$}}$$}}$$$$}}}}!!}}$$$$$$}}!!!!  !!$$$$$$$$$$$$$$$$$$$$$$}}$$$$$$}}$$$$$$}}$$$$%%$$%%$$%%$$$$$$$$$$$$$$$$%%%%%%%%$$$$%%$$$$$$}}}}}}!!        !!}}}}}}$$$$$$$$$$$$$$$$$$}}$$$$$$$$$$$$$$%%%%%%%%%%%%%%$$%%$$%%
}}}}!!}}$$%%%%%%$$}}}}!!!!!!                                    !!!!    !!        !!!!                                  !!                    !!}}}}                }}}}}}}}}}}}}}}}}}}}}}}}}}