}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}~~~~}}{{{{{{{{{{}}}{{{{{zzzzz{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzzzzzzzz{{zzzzzz{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzzzz}}}~~~~~~zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyzz{{{{{{{{{{z{{{{zzzz{{{{~~~~~~~~~~zzzz{{{{{zzzzz{{{{{{{y{{{{{{zzzz}}}}zzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{zzz{}}{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{zzzzzzzzzzy{{{{{{{zzzzzz}}}{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzz{{{zzzzzzzyyyyyyyyyyy{{{{yyyyyyyyyyyyyyyyzz{yy}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}zzz~~}~~}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz}}}{{{{{{{}}}{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyy{{{{{{{{{{{{{{zzzz{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}~~~~~}{{{{{{{{{{}}}}{{{{zzzzz{{{{{{{{{{{{{{{{{{zz{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{zzzzz{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zz{}}}{~~~~~zzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyz{{{{{{{{{{{{{{{zzzzz{{~~~~~{{~~{{{{zz{{{{{zzzzzz{{{{{{{{{{{{zzzzz}}}}zzzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}}~~~}}}}}}}}{{{{zzz{{z{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{zzzzzzzzzzz{{{{{zzzzzzzz}}}{{{{{{{{{{zzz{{{{zzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzz{{{zzzzzzzyyyyyyyyzzzyy{yyyyyyyyyyyyyyyyyzzzyy}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{zz}}}~~~~}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz}}}{{{{{{{}}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyy{{{{{{{{{{{{{{{zz{{{{{}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}~~~~~}{{{{{{{{{{{{}{{{{{zz{{{{{{{{{{{{{{{{{{{{{z{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{z{{{{{{{{~~{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyzzz{{{{{{{{{{{{{{{zzzzzz{{~~~{{{{{{{{{{zz{{{{{zzzzzz{{{{{zz{{{{zzzzzzzzzzzzz{}}{{{}{{}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~}}~~~~~~~}}}}}{{{{zzzzzzz{{{{{{{{}}}{{{}}}}}}}{{{{{{{{{{{zzzzzzzzzzz{{{{zzzzz{z{}}}}{{{{{{{{{zzz{{{{{zzzzz{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{zzzzzzzzyyyyyyyzzyyy{yyyyyyyyyyyyyyyzyzzzzz}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~{{}{{{{{}}~~~~}}{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{}}}}}{{{zzzzzzzyzzzzzzzzzzzzyyyyzzz{{{{{{zzz{{{{{{{{{{{{{}}}}}}}}~~~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}~~~~}}{{{{{{{{{{{{}}{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyzzzz{{{{{{{{{{{{{{z{{zzz{{{{~~~~{{{{{{{{{{yy{z{{zzz{{{{{{{zzzzzzzzzzzzzzz{{{{{}}}}}}}}}}}}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzzzzz{{{}}}}}}{{}}}}}}{{{{{{{{{{{{{zzzzzzzzzzz{{{{zzz{{{{{{}}{{{{{{{{zzz{{{{{{zzzzz{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{zzzzyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzz}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{~~~~}}}{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{}}}}}{{{{zzzzzzyyzzzzzzzzyyyyyyyzzz{{{{{{zzz{{{{{{{{{{{{}}}}}}}}}~~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~}}{{{{{{{}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{z{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{zzzzzzz{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{zz{{{{zzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyzzz{{{{{{{{{{{{{zzz{{{{{{{{{~~~~~{{{{{{{{{yy{zzzzz{{{{{zzzzzzzzzzzzzzzzzz{{{{}}}}}}}}}}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzzzz{{{{}}}}}}{{{}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzz{zzz{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{zzyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzzzzzzzzz{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{}}}}}}{{{{{{{zzzzzzzzzzz{{{zzzz{{{{{{{{{{{{{{}{{zz{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{}}}}{{{{{zzzzzzyzzzzzzzyyyyyyyzzzzz{{{{{{{z{{{{{{{{{}}}{}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}{{{{{{{}}}}}}}}{{{{{{{{{{{}}{{{{{{{{{{{{zzz{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{z{{{{{{{zzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzz{{{{zzz{{{{{{{{{{~~~~{{y{{{{{{yyyzzzzz{{{{{zzzzzzzzyyzzzzz{zz{{{{}}}}~~~}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{zzzzzzzyy{{}}}}}}}}{{{}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{zzzz{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzz{{zyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzzzzzzzzzzz{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}{{{{{{}{{{{{{{{}}{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{}}zzzzz{{{{{{{{{{{zzzzzzzzzzzzz{{{{}}}{{{{{{{zzzzzzzzzzzzzyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{}}~~~}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}{{{{{}}}}}}}}}}{{{{{{{{{{{}}{{}}{{{{{{{{{z{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{z{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~}~~{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{z{{{{{{{{{{{{{{{zzzzzz{{{zzzzzzzzzzzzzzz{{{{{{{zz{{{{{{{{{{{{{{{{{{}}}{{yyy{yyyyyyyyzzzz{{zzzzzzzzzyyyy{zz{{{{{{}}}}~~~~~~}}}}}}~~}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{zzzzzzyyyy{{}}}}}}}}}~~}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{zz{{{}}}{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{zz{{{zzzzzzzzzzzzyyyyyyyyzzyzzzzyyyyyyyyyyyyyzzzzzzzzzzz}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}{{{{}}{{{{{{{{{}{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{}}zzzzz}{{{{{{{{{{{zz{zz{zzzzzzzz{}}}}{{{{{{{zzzzzzzzzzzyyyyzzzyyyyyzzzzz{{{{{{{{}{{{{{{{}}~~~~}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}}}}}}z{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{{zzz{{{{{{{}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}{{{{{}}{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}yyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyy{{{{{{{{{{}}}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{zzzzzzyyyy{{}}}}}}}}}~~}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{zzz{{{zzzzzzzzzzzzzyyyyyyyzzzzzzzyyyyyyyyyyyyzzzzzzzzzzz}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}}}}}}}{{{zzzzy{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{z{{}}}}{{{{{{{{{{{{{{zzzzzzzz}}}~}}{{{{{zzzzzzzzzzzyyyzzzzzyyyyzzzz{{zz{{{{{}}}zz{{{{}}}~~}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}{{{{{{{{}}}}}}}z{{{{{{{{{{}}}{{{}{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{zzz{{{{{{{}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}{{{}}}}{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{zzzzzzzzzzzzz{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{}}yyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{}}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzzzzzzzzy{{}}}}}}}}}}}}~~}}}}}}{{{{{{{{{{{{{zzzzzzzzzyyzz{{{{{{{{{{{{}{{{{{{{{}}}}{{}}{{}}}}}}}}}{{z{{{{{{{{{zzzzzzzzzzzzzyyyyzzzzzzzzzzzyyyyyyyyyzzzzzzzz{{{{{}~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{zzzzzy{{{{zzz{{{{{{{{z{{{{}}{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{zzzzzz{}~~~}}{{{{{{zzzzzzzzzyyyzzzzzzyyyyzzzz{{{{{{{{}}}zzzz{{{}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~{{}{{{{{{{}}}}}zz{{{{{{{{{}}}{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{zz{{{{{{{{{{zz{{{{}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{yyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzzzz{{}}}}}}}}}}}}}~}}}}}}}}}}}}{{{{{{{zzzzzzzzzzy{{{{{{{{{{{{{}}}}}{{{{{}}}}}}}}}}}}}}}}}}}{{zz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzz{{{{{~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{zzzzzzzzzzzzzz{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{zzzz{{yy}~~}}{{{{{zzzzzzzzzzzyyzzzzzzyyyyzz{{{{{{{{{{{zzzzz}}}{}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}{{{{{{}}{{{zz{{{{{{}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zzzz{{{{{{{{{{z{{{}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{}}}}}{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{yyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{zzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzz{{{{{{{{{{{}}}}}}}{{{{{}}}}}}}}}}}}}}}}}}}}{{z{{{{{{{{{{{{{zzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzz{zzzz{{{{{{~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{}}}{{zzzzzzzzzzzzzzzz{{{{{{{{{{{}}}z{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{{{{{{yyyyy{yyy~~}}{{{{zzzzzzzzzzzzzzzzzzzzzyyyy{{{{{{{{{{{{{zzz}}}}~~}~}}~~~}}~~~}~~~~~}}}}}}}}}}}}}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}{{{{{{zzzz{{{{{{{}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zz{{{{{{{{{{{{{{{{{}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}zz~~~~~~~~~~~~~~~}}~~~~~~~~{{{{{{{{}}}}}{{{{{{{{zzzzz{{{{{{{{{{{{{}}}{{{{{{{{{{{zzzzzzzzzz{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{yyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{zzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzz{{{{{{{{{}}}}}}}}}{{{}}}}}}}}}}}}}}}}~~}}{{zz{{{{{{{{{{{{{zzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzz{{zzzz{{{{{{}}}}}}}}}}}}~~~~~~~~~~}}~~~~~~~~}}{{}}}}}{{{}{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{}}{zz{{{{}}{{{{{{{{{{{}}}}}}}}}}{{{{}}{{{{{{yyyyyyyyyy}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyy{{{{{{{}}{{{{{{}}~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}{{{{{zzzz{{{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{zzz{{{{{{{{{{{{{{{{{{}~~~~~~}}}}~~~~~~~~~~~~~}}}~~}}}}}}}~~~~{{~yzz~~~~~~~~~~~~~~~}}}}~~~~~}{{{{{{{{}}}}}}}{{{{{{{{{{{{{}}}}}}}{}}}}}}{}{}}{{{{{{{zzzzzzzzz{{zzzzzz{{{{{{{{{{{{{{{}}{}}}}{{{{{{{zz{yyyyyyyyyyyyyyyyyzzzzz{{zzzzzzzzzzzzzzz{{{~}}}~~~~~~~~~~}}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}{{{{zzzzzzzzzzzzz~~}}}}}}}}}}~}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzz{{{{{{{{{{}}}}}}}{{{{}}}}}}}}}}}}}}}}}~~~{{{zzzz{{{{{{{{{zzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzz{{{zzz{{{{{}}}}}}}}}}}}}~~~~~~~~~~}}~~~~~~~}}}{{~~~~}{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{z{{{}}}}}{{{{{{{{{{}~}}}}}}}}{{{}}}{{{{yyyyyyyyyyy}}}{{{{{{zzzzzzzzzzzzzzzzzzzzyyyy{{{{{{{}}}{{{{{{}}}}~~~~~~~~}~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}{{{{{{zzzz{{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzz{{{{{{{{{{{{{{{{{{{~~~~~~}}}}~~~~~~~~~~~~~~}}~~}}}}}}}~~~{{{{yyy~~~~~~~~~~~~~~~}}}}}~~~~}}{{{{{{}}}}}}}}}}{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}zz}}}}}}}{}}zzzzyyyyyyyyyyyyyyyzzzzzz{{{{zzzzzzzzzzzzz{{{{~~~~~~~~~~~~~~}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~{}}{{{{{{zzzzzzzzz~~~~~}}}}}}}}~~~~}}}}}}}}}}}}{{{{{{{{{zzzzzzzz{{{{{{}}}}}}}}}}}{{{{~~~}}}}}}}}}}}}~~~~~{{{z{zz}}}{{{{{zzzzzzz{zzzzzyzzzzzzz{zzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~}}~~~~~~~}}{{{{~~~~{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{~~~}}}}}}{{{{{}}}}{yyyyyyyyyyzy}}{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyy{{{{{{{{{{{{{{{{}}}}~~~~~~}}}~~~~~~~~~}}}}}}}~}}~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}{{{{{{{{{{{{{zzzz{{{}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzz{zzyyy{{{{{{{{{{{{{~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{yyyyy~~~~~~~~~~~~~}}~}}~~}{}}{{{{{}}~}}}}{}}}}{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{zzzz}}}}}{{{zzzzzyyyyzzyyyyyyyzzzzzzz{{{{zzzzzzzzzzzzz{{{{~~~~~~~~~~~~~~~}~~~~~~~~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}{{{{{{zzzz{{zzz{~~~~~}}}}}}~~~~~~}}}}~}}}}}}}{{{{{{{{{zzzzzzzz{{{{{}}}}}}}}}}}}}{{}~~~~}}}}}}}}}}~~~{{{{{{{zz}}}zzzzzzzzzzz{{zzzzzzzzzzzzz{{{zz{zzzzzzz{{{{{{{{{}}}}~}}}}}}}}}}}}}~~~~~~~~~}~~~~~~~~{{{{{{{~~{{{{{{{{{{{{{zz{{{{{{{{{{{}}{{{{{{{{{{{{{{}}}}}}}}}{{{{{{yyyy}}~}}{{{{{{zzz}zzyyyyyyzyzzzzzz{{{{{{{zzzzzzzyzzzzzzzzzzyyyyyy{zzz{{{{{{{{{{{}}}~~~~}}}}}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}{{{{{{{{{{{{{zzz{{{}}}}}~~~~~~~}}}}}}}}}{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zzzzzyyy{{{{{{{{{{{{{~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}zzzzyyyyy~~~~~~~~~~~~~~~}}}}}{}}}{{{{}~~~}}{{{}}{{{{{{{{{{}}}}}}}}}}}}}}~}}}}}}}{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzzzz}}}}}{{zzzzzzzzzzzzyyyyyyyzz{zz{{{{{{zzzzzzzz{{zz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{zzz{{~~~~}}}}~~~~~~~~}}}~~~}}}}}}}}{{{{{{{{z{zzzzz{{{{{}}}}}}}}}}}}}~}}}~~~~}}}}}}}~~}}~{{{{{{{{{{{zzzzzzz{zzzz{{zzzzzzzzzzzz{{{{{{{zzzzzzz{{{{{{{{{}}}}~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{}}{{{{}{{{{{{{{{}}}}}}}}{{{zzzzyyyyy~~}}}{{{}}}zzzzzyyyyyzzzzzzzzzz{{{{{zzzzzzzyyzzyyyyzzzzyyyyyyzzzz{{{{{{{{{{{}}~~~~}}}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{z{{}}}}}}~~~~~~~~}}}}}}}}}{{{}{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzzzzzy{{}}{{{{{{{}}~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}}}}}}zzzzzzyyyy~~~~~~~~~~~~~}}}{{{{}}{{{{{}}~{{}{{{{}{{{{{{{{{{}}}}}}}}}}}}}~~~}}}}}}{{{{{zzzzzzzz{zzzzz{{{{{{{{{{{{{{{{{{{zzz}}}}}}{{{{zzzzzzzzzzzyyyyyyyy{{{z{{{{{zzzzzzzz{{{{{}{{}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{zz}{{~~~~}~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zzzz{{{{{}}}}}~~}}}}}}~~~~~~~~}}}}}}}}~}}}}{{{{{{{{{{zzzzz{{{zzz{{{zzzzzzzzzzz{{{{{{{{zzzzzz{{{{{{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{}}{{{{{{{{{}}}}}}}{{{zzzzzyyyy~~~}}}{{}}{zzzzzzyyyyzzzzzzzzzzz{{{{zzzzzzzyyzzyyyzzzzzyyyyyyyzzzz{{{{{{{{}}}~~~~}}}}}}}}~~~~~~~~~}~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}}}~~~~~~~}}}}}}}}}}}}}}{{{{zzz{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zzzzzz{{{{}{{{{}}}}~~~~~~~~}}{~~~~~~~~~~~~}{~~~~~~}}}zzzzzyzzzyyyyyyy{{~~~~}}}~~}}{{{{{{{{{{{{~~{{{{{{{{{{{{{{{}}}}}}}}}~~}~~}}}~~~~~~}}}}{{{{zzzzzzz{{{{zzz{{{{{{{{z{{{{{{{{{{{{{}}}}}{{{{{zzzzzzzzzzyyyyyyyyz{{{{{{{{zzzzzzzzz{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}{{{{}{{{{{{{{{{{{{zz}}~~{~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{zzzz{{{{{{{{~~~}}}}}}~~~~~~~~}}}}}}}}}}}}}{{zz{{z{{{zzzzzz{{zzzzzzzzzzzzzzzzz{{{{{{{{{zzzzz{{{{{{{{{}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}~~~{{{{{{{{{{{{{{{{{{{{{}{{}}}}}}{{{}}}}}{{{{{{}}{{{{{{{zzzzzzyyyyy~~}}}{{{{{zzzzyyyyyyyzzzzzzzzzzzz{{zzzzzyyyzzzzyyzzzyyyyyyyyyzzzz{{{{{{{{}}}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{}}~}}}~~~~}}}}}}}}}}}}}}}}}{{{{zz{{{{yyyzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zzzzzzz{{{}}{{{}}}}}~~~~~~~~}{{~~~~~~~~~~~}}{{~~~~~}}{{zzzzyyyyyyyyyyyyy{{~~~}}}~~~}{{{{{{{{{{{{{~~{{{{{{{{{{{{{}{{}}}}}~~~~~~~~}}~~~~~~~}}}}}}{{zzzzzzz{{{{zzz{{{{{z{zz{{{{{{{{{{{{{}{}{{{{{{{zzzzzzzzyyyyyyyyzzz{{{{{{{{{{{zzzzzz{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{}{{z{{{{{{{{{{{{{{{{}~~}}~~~~~}}}~~~~~~~~~}}}}}}}{{{{{{{{{{{{{z{zzz{{{{{{z~~~}}}}}~~~~~~~~~~~~}}}}}}}}}zzzz{{zzzzzzzzzz{{{zzzzzzzzzzzzzzzz}}}{{{{{{{{{zz{{{{{{{{}}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}}}}{{{{{{{{{{{{{}}}}}}}}}{{{}}}}}}}}{{}~}}}{{{{{{zzzzzyyyyyy~}}}}}{{{{zzzzyyyyyyyyzzzzz{{{zzz{{zzzzyyyyyzzzyyyyyyyyyyyyyyyzzz{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}~~}}}}~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{yyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{zzzzzzzzzz}}{{}}}}}}}}}~}}~~~{~~~~~~~~yy~~{{{{~~~~}}}{{zzzzyyyyyyyyyyyyyyz}}~}}}~~~}}{{{{{{}{{{{{{{{{{{{{}}{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}{{{zzzzzzz{zzzzzz{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyzz{{{{{{{{{{{{{{zzzzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{}}}{{zz{{{{{{{{{{{{{{}}~~}}~~~~~{}}~~~~~~~~}}}{{}}{{{{{{{{{{{{{{{{{zz{{{{{zz~~~~}}}}}~~~~~~~~~~~~}}}}}}{zzzz{{zzzzzzzzzzzz{{{zzzzzzzzzzzzzzz}}}{{{{{{{{{z{{{{{{{{}}}}}~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}~~{{{{{{{zzzzzyyyyyyyyy}}}{{{{{{zzzzzyyyyyyyy{{{{{{{{{{{zzzzzyyyyzzzyyyyyyyyyyyyyyyz{{{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}~~~~~}}}}}}}}}}}}}}}}{{{{{{z{{zzyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzzzzzz}}}{{{}}}}}}}}}{{~zzzzzzz~zyyyzz{{~~~~~~}{{zzzzzyyyyyyyyyyyyyyz}}~~~~~~~}}}}{{{{}}}}{{{}{{{{{}}}}{{{{}}}}}}}~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzz{{{{{zzzzz{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyzz{{{{}}}{{{{{{{zzz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}}}{{zz{{z{{{{{{{{{{{~}~~}~~~{{{{{{~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{~~~}~}}~~~~~~~~~~~~~~}}}}}{{zzz{{zzzzzzzzzzzzz{{zzzzzzzzzzzzz}}}}}}{{{{{{{{z{{{{{{{{}~~~~~~}}}}}}}}}}}~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{}}{{}}}}}}}}}}}}}}}}}}}}}}}}~~~{{{{zzzzzzzyyyyyyyyyyy}{{{{{zzzzzyyyyyyyyyy{{{{{{{{{{{zzzzyzzzzzzzyyyyyyyyyyyyyyzz{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{}}}}~~~~}}}}}}}}~~~~}}}}}}}}{{zzzzzzzzyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzzzyy{{{}{{z{{}}}}}}}}{{{{zzzzzzzzzzzyzz~~~~~~~zz{{zzzyyyyyyyyyyyyyyyy}}~~~~~~~~}}}}{{}}}}}}}}}}{{}{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}{{{{{{{zz{{{{{zz{zz{{{zzzzzz{{{{{{{{{{}{{{{{{{{{{{{{zzzzyyyyyyyyyz{{{}}}}}{{{{{{{zzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}}}}zzzzzzzz{{{{{{{{{~~~~~~~~}}{{{{{~~~~~~}}}}}{{{{{{{}{{{{{{{{{{{{{zzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}{zzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}{{{{{{{{{{{{}{{}}}~~~~~~}}}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~}~~~}}}}}}}}}}}}}}{{{{{}}{{{{}}}}}}}}}}~~}}}}}}}}}}}}~~{{{zzzzzzzzyyyyyyyyyyzz{{{{zzzzyyyyyyyyyyyyyzz{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyz{{{{{{{}}~~}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~}}}}}}}}}{{{{zzz}}}}}}~}}}}}}}}~~~~~~~}}}}}zz{zzzzzzzzyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzz{{{zzzzzzzyy{{{{{zz{{}}}}}}}{{{{{{zzzzzzzzzzzzz~~~~~~zzz{{zzzzyyyyyyyyyyyyzzz}~~~~~~~~~}}}}{{}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{z{{{{{{{{{zzzz{{{{{}}}}}}{}}{{{{{{{{{zzzzzzyyyyyyyz{{{{{}}{{{{{{{{{{zzz{{{{~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{zzzzzzzz{{{{{{{{{{~~~~}}}}}}}}{{{}}~~~{{{{{{{}}{{}}{{{{{{{{{{zzzzzzzzzzzz~~~~~~~~zz{{~~~~~~~~~~~~~}}}{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}{{{{{{{{{{{}}}}}}}~~~~~~}}}}}}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}{{{{{{{{{{~}}}}}}}}~~~}}}}}}}}}}}}{{{{{{zzzzzzzzzzzyyyyyyzz{{{{zzzzzyyyyyyyyyyyyzzz{{{{{{zzzzzzyyyzzzzyyyyyyyyyyyyzz{{{}{{{}}~{}}{}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}~~~~~}}}}}}}}}{{{{zz{{}}}}}~~}}}}}}~~~~~~~~~}{{{zzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzz{{{zzzzzzzzy{{{zzzzz}}}}}}}}}{{{{{zzzzzzzzzzzzzzz{~~zzzzzzzzzzyyyyyyyyyyyyzzzz~~~~~~~~~}}}}}{}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{zzzzzzzyyyyyzzz{{{{}}{{{{{{{{{{{zz{{{{~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzzzzzzz{{{{{{{~~~}}}}}}}}}{{{}}~~~{{{{{{}}}}}}}}{{{{{{{{{zzzzzzzzzzzz~~~~~~~{zzz{~~~~~~~~~~~~~}}{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{}}{{{{{{{{{{{{{}}}}}}}}}~~~~~~}}}}}}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}{{{{}}{{{~~~}}}}}}~~}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzz{{{zzzzzzyyyyyyyyyyyyzz{{}{{{{{zzzzzyyyyyyyyyyyyyyyyyyyzz{{}}{{{}}}}{z{{{{~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}{{{{{{{{{{}}}}~~~}}}~}}~~~~~~~~~{{{zzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzz{{zzzzzzzzyyzzzzzzz}}}~}}}}}{{{{{zzzzzzzzzzzzzzz{~{{zzzzzzzzzzyyyyyyyyyzzzzz{{~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{zzzzzzzzyyyyyzz{{}}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{zzzzzzzzz{{{{{{{{~~}}}}}}}}}}{{}}~{{{{{{{{}}}}}{}}{{{{{{{{{{zzzzzzzzzzz{{~~~~~{{zzz~~~~~~~~~~~~~}}{{zzzzzzzzzzzzz{z{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}~}~~~~~~~~}}}}}}}~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}{{{{}}}{~~~~}}}}}~~~~}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzz{{{zzzzzzyyyyyyyyyyyyyy{}}}{{{{{zzzzzyyyyyyyyyyyyyyyyyyyz{{{{{{{{zzzzzz{{{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}{{{{{{{{{{{}}~~~~~~~~~~~~~~~~}}}}}zzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzyyyyyyyyzzyyyyyyzzzzzz{{{{zzzzzzzzzzzzzzz}}~~~~}}}}}{{{{zzzzzzzzzzzzzzz{{{{zzzzzzzzzzzyyyyyzzzzzz{{{{zz~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{zz{{{z{{{}}}}}}}}}}}}}}}}}{{zzzzzzzzzzzyyyyyy}}}}}}{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~}}}}}}}}~~~}}}~~~~~~~~~~~~}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{zzzzzzz{{{}}{{{~~}}}}}}}}}}}{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{zzzzzzzzz{{{~~~}}{{zz~~~~~~~~~~~~~~}}{{{{zzzzzzzzzz{{{{{{zz{{{{{zz{zzz{{{{{{}{{{{{{{{{{}}}}}~~~~~~~~~~~}}}}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}{}}}}}}}~~~~~}}~~~~}}}}}}}}~~~}}}{{{{{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzyyyyyyyyyyyyyz}}}{{zyyyzzyyzzzzyyyyyyyyyyyyyzzz{{{{{{{{zzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~}}{{{{zzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzyyyzzzzzyyyyyzzzzzzz{{{{{{zzzzzzzzzzzz}}}~~~~}}}}}{{{{{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzyyyzzzzzzzzz{zzzz~~~~}}}}}}}}}~~}}}}}}}}}}}}~}~~}~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{zzz{{zz{}}}}~}}~~}}}}}}{{{{{zzzzzzzzzzzzzzzyy}}}}}}}{{{{{{{{{{{{{}}}~~~~~~~~~~~~~}}}}}}}}}}~~~}}}}}~~~~~~~~~~~}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{zzzzzzz{{}}}{{{{{{}~}}}}}}}}{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{zzzzzz{{{{{{}}}}{{{}}~~~~~~~~~~~~{}{{{{{{zzz{zzzzz{{{{{{zz{{{{{{{{{z{{{{{{}}}{{{{{{{{{{}}}}~~~~~~~~~~~}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}~~~~~~}}~~~}}}}}}}}~~~~}}}{{{{{{zzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzyyyyyyyyzzz{{{{zyyyyyyyzzzzzyyyyyyyyyyyyzzzz{zz{{{zzzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~}}}~}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~}}}{{{{zzzzzzzz{{zzzzzzzyyyyyyzzyyyzzzzzzyzzzzzzzzzyzzzzzzz{{{{{{{{{zzzzzzzzzzz}}}~~~~}}}}}}{{{{zzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}~~~}}}}}}}}}~}}}~~}}}}~}}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{zzz{{zz}}}}~~~}~~}}}}}}}{{{zzzzzzzzzzzzzzzzyy}}}}{{{{{{}}}{{{{{{}}}}~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}~~~~~~~~~~}}~~~~~}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{}}{{{{{{{{zzzzzz}}}}{{{{{{{~~~~~}}}}}}}{{{{{{zz{{{{}}}}}{{{{{{{{{{{{{{zzzzz{{{{{{{}}{{{{{}}}}~~~~~~~~~~{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}~~~~~}}{{{{{{zzz{{zzzzzzzzzzzz{{{{zzzzzzzzzzyyyyyyyyyyz{{zzyyyyyyyyyzzzzzzyyyyyzzzzzzzzzzzzz{{{zzzzzz{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~~}}}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzz{{{{{{zzzzzzzzyyyyyyyzzzzzzyyyzzzzzzzzyzzzzzzz{{{{{{{{zzzzzzz{{{z{{}~~~~~}}}}}{{{{{zzzzzzzzyyyzzzzzzz{{{zzzzzzzzzzzzzzzzz{zzzzzzzz}}~~{{}}}}}}}}}}}~~~~~~~}}}~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}{{{{{{}}}}{{{{{{{{{{{{{{}}}~~~~~~}}}}}}{{{{zzzzzzzzzzzzzzzzzzzz}}{{{{{{}}}{{{{{}}}}~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}}~~~~~~~~~~~}}~~~~}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{zzzz{{zz{zzzz}{{{{zz{z~~~~~~}}}}}}}{{{{{{zz{{{}}}}}}{{{{{{{{{zzz{{{z{{{{{{{{{{}{{{{{{{}}}~~~~~~~~~}{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}~~~~}}{{{{{{z{{{{{{{zzzz{{{{{{z{{zzzzzzzzzyyyyyyyyyyyy{{zzyyyyyyyyyzzzzzyyyyzzzzzzzzzzzzzzz{{{{{{{{zz{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}{{{}{{{{{{{{{{{~~~~~~~~~~~~~~~~}}}{{{zzzzzzzz{{{{{{zzzzzzzzzzyyyyzzzzzyyyyyzzzzzzzzyzzzzzzzzz{{{{{{yzzzzz{{{{{{{{~~~~~}}}}z{{{{{{{zzzzzzyyyzzzzzz{{{{zzzzzzzzzzzzzzz{{{{zzzzzzzz}}}{{}}}}}}yy}}}~~~~~~~~}}~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}{{{{}}}}}{{{{{{{{{{{{{{{}}}~~~~{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~}}}~~~~}}}}}}}}}~~~~~~~~~~~~~}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}{{zzzz{{{{{{zz{{{{{{zzzzz~~~~~}}}}}}}}}{{{{zz{{{{{}}zz{{{{{{{{{zzz{{zzz{{{{{{{{{{{{{{{{{{}}~~~~~~~~~}}{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{}}~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}~~~~}}{{{{{{{{{{{{{{{z{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyzzyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzzzzzzzz{{{{{{{{z{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}{{{}}{{{{{~~~~~~~~~~~~~~~~}}{{{{zzzzzzzzz{{{{zzzzzzzzzzzyyyyyzzyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{yyyyz{{{{{{{{{~~~~~~}zzz{{{{{{{{{{zzzzyyzzzzzzz{zzyyyzzzzzzzzzzz{{{{{zzzzzzz{{}}{{}}{{{yyy~~~~~~~~~~~~}~~~~~~~}}~~}}}}}}}~~~~~~~~~~~~~~}~}}}}}}{{{{{}}}}}}}{{{{{{{{{{{{}}}~~~~{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyy{{{{{{{{{}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzz{{{{{{z{{{{{{{zzzz{{}~~~}}}}}}}}}{{{{zzyyzz{}}zzyzz{{{{{{zzz{zzzz{{{{{}}{{}}}{{{{{{{~~~~~~~~~~}}}{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{}}}{{}}}}}{}}}~~~~~~~~~~~~~~}~~~~~}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~{{{{{zzzzzzz{{{{{{zz{zzzzzzzzzyyyyyyyyyyyyyyzzzzyyzzzzzz{{zzyyyyy{{yyyyzzz{{{{{{{~~~~~~zzzzz{{{{{{{{{zzzzzzzzzzzzzzzzyyyzzzzzzzzzz{{{{{{{{zz{{{{{zz{{zz{{yyyy~~~~~~~~~~~}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}}}}{{{{{{}}}}}}}{{{{{{{{{{{{{}~~~~~{{{{{{{{{{{{zz{{{zz{zzzzzzzzzyyyyy{{{zzzz{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}~~~~~~~~~~~~~~~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~}}{{{{{{zz{{{{{zzzz{{{zzzzzzz{{}}~~}}}}}}}}}{{{{zzyyzzz{{{yyzzzz{{{zzzzzzz{zz{{{{}}}}}}}}{{}}{{~~~~~~~~}}}}{{{{{{{{{{{{zzzzzzz{{}}{{{{{{{{{{{{}}}{}}{{}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}{~~~~~~~~~~~}}~~~~~{{{{{{{zzzzzz{{{{{{{{zzzzzzzzzzyyyyyyyyyzzyyzzzyyyzzz{{{{{zzyyyyyz{zzzzzz{{{{{{{z~zzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzyyyzzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzz{zyy~~~~~~~~~~~~~}}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}{{{{}}~~~}}}{{{{{{{{{{{{{}}~~~~{{{}}}{{{{{{{{{{{{{{{zzzzzzzzyyyyyyz{zzzzz{{}{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~}~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}~~~~~~~~~~~}}}~~~~~~~~}}{}{{{{{{{{{{{{{zzzzz{zzzz{{zz{{{}}~~}}}}}}}}{{{{zzzzzzzz{zyyzzzz{{{zzzz{{z{{{{{{{{}}}}}}}}}}}}}}~~~~~~}}}}{{{{{{{{{{{{{{zzz{{}}}}}{{{{{{{{{{{{{}{{}zz}}}}{{{}~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{zz{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}~~~zz{{{{{{{{zzz{{{{{{{{{{zzzzzzzzzyyyyyyyyyzzyyyyyyyyzz{{{{{{zzyyyyzzzzzzzz{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzyyyyyzzzzzzzzz{{{{{{{{{{{{{zz{yyyzzzzzzzyy~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}{{{}}}~}}{{{{{{{{{{{{{{{}}}~~~{{zz}}{{{{{{{{{{{{{{zzzzzzzzzyyyyzzzzzzz{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~}}~~~~~~~~~}{{{{{{{{{{{{{{{{zzzzzzyyyz{{zz{{{}}~~~}}}}}}}{{{zzzzzzzzzzzyyzzzzz{zzzzz{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~}}}zzzz{{zzzzz{{{{zz{{{{}}}}}{zz{{{{{{{{{{{{zzz}}{{{}}}}~~~~~~~~~~~~~~~~~~~~~~{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}~~~~~~~~~~~~~}}}{{}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyzzzzzzzyyyyyyyyyyyyyyzzzzz{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}~}zz{{{{{{{{{{{{{{{{z{{{{{zzzzzzzzyyyyyyyyyzzyyyyyyyyzzz{zzzzzzyyyzzzzzzzzz{{{{{{zzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{{{{{{{{zzyyyyzzzzzzyyz~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}}}~}}{{}}}}{{{{{{{{{{}}{{{{zz}}}{{{{{{{{{{{{{{zzzzzzzzzzyyyzzzzzz{{{{{{{}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~}}}{~~~~{{~~{{{{{{{{{{{{{{{{{zzzzzzyyzzzzzzz{{~~~~~~~~}}}{{{{zzzzzzzzzzzyzzzzzzzzzzzz{{{{{{{{{{}~~}}}}}}}}}}zzzzzz~~}}zzzzzzzzzzz{{{{{zzy{{{{}}}}}}z{{{{{{{{{{{zz{z}}{{}}}}~~~~~~~~~~~~~~~~~~~~~}}{}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~{{{{{}{{{{{{{{{{{{}}{{{{{{}{{{{{{{{zzzzzzzzzzzzzzyyyyzzzzzzzzyyyzzzzzzzyyzzzzzz{{zzzzzzzz{{{{{{{{{}{{{{{{}}{{{{~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}~~}}}}}}}}}}}}}~~~~~~~~~~}}}}}}z{{{{{{{{{{{{{{{zzzz{{{zzzzzzzzyyyyyyyyzzyyyyyyyyyyzzzzzzzzzyyyyzzzzzzzz{{{{{{zzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyzzzz{{{{{{{{{{{{{{{zz{zzyyyyyzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}{{}}~~~}}}}}}}}{{{}}{{{{{{{{{{{}}}}{{{{{{{{{{{{{{zzzzzzzzzyyyyzzzzz{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~{{{~~~{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyzzzzz{{~~~~~~~~}}{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}~~~}}}}}{{{{zzzzzzzzzzzzzzzzzzzzzz{zz{{{yyz{{}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~}}{{}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}~~~~~~~~}{{{{{{{{{{{{{{{}}}{{{}}{}}{{{{{{{{{zzzzzzzzzzzzyyyyyzzzzzzzzyzzzzzzzzzzzzzzzzz{{zzzzzzzz{{{{{{{{}}}{{{{{}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}~~~}}}}}}}}}}}}~~~~~~~~~~~}}{{}}zz{{{{{{{{{{{{{z{zz{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyzzzzzzzz{{{{{{zzzz{{zzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzyyyyzz{{{{{{{{{{{}{{{{{yyzzzzyyyyzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}}}}}{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyzzz{{{{{{{}}~}}}}}}}}~}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~{{{{~~zzzz{{{{{{{{{{{{{{{zzzzzzzzzyyyyzzzzz{{~~~~~~~}}{{{{{z{zzzz{zzzzzzzzzzzzzzzzz{{{{{{{{}}{~~~~~}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{yyyz{{{}}}}zzyy{{zyy{{{{yz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~}}{{{{{}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}~~~~~~~~~{{}{{{{{{{{{{{{{{}}}}}{{}}}}{{{{{{{{{zzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzz{{{{{{}}}}}{{{}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~{{{{{{zz{{{{{{{{{{{{zzz{{{{{{zzzzzzzzyyyyyyyyzyyyyyyyyyyyyzzzzzzzzyyyyyzzz{{zzzz{{zz{{{{{{{zzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzyyyzz{{{{{{{{{}}}}{{{{zyzzzzzzyyyzzzyyy{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}{{}}}}}{{}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyzzz{{{{{{{{}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~}}}}}}}}}}~~~~~~~~~~~~~{{{{zzzzzzz{{{{{{{{{{{{{{{zzzzzzzyyyzzzzzzzzz~~~~~~~{}{{{zzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{{{{}}}}~~~~~}}}{{{{zz{{{zzz{{{{zzzzzz{zzzzzzzzzzyzyy{{{}}zzzyy{{zzyyyyyyzz{{{{}}}~~~~~~~~~}}~~}~~~~~~}}{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}~~~~~~~~~{{{{{{{{{{{{{{{{}}}}}}{{}}}}}}{{{{{{zzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzz{{{{{{}}}}{{{{}}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}~~~~~~~~}}}}}}~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{zzzzzzzzzzzzyyyzzyyyyyyyyyyyyzzzzzzzzyyyyyyz{{{{zzzz{z{{{{{{zzzzzzzzzz{{z{{{{zz{{{zzzzzzzzzzzzzzzzzz{{{{{{{{{}}}}zzzzzzzzzzzzzzyzzzzyy{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzz{{{zzzzzzyyy{{{{{{{{{{{{{~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}~~}}}}}}}}}}~~~~~{{}~~~~~{{{{zzzzz{{zz{{{{{{z{{{{{zzzzzzzzyyzzzzzzzz{{{~~~~~}{{{{{zzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zz{}}}}~~~~~{}}{{{{zz{{{zz{{{{{zzzzz{{zzzzzzzzzzzzyy{{{zzzzyyyzzzzyyyyyzz{{{{{}}}~~~~~~~~}}}~}}~~~~~}}}{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~}}}{{}}}}{}{{{{{}}}}}{{}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zz{{}}}}}}{{{{}}}}}}}}}}}}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}~~~~~~~~~~}}}}~~~~~~~}}{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyzzzyyyyyyyyyyyzzzzzzzzzyyyyyyy{{{{zzzz{{{{{{{zzzzzzzzz{zzzzzzz{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{}}}zzzzzzzzzzzzzzzzzzzzyy{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzz{{{zzzzzzzyy{{{{{{{{{{{{{{~~}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}~~~{{}~~~~~}{{{zzzzz{{zzzzzzzzzz{{{{zzzzzzzzyyzzzzzzzz{{{{~~~}}{{{{{{zzzzzzzz{{{zzzzzzzzzzzzzzzzzzzzz{}}~~~~~~{{{{zz{{{{{{zz{{{{zzzz{{{{{{zzzzzzzzzzzyyzzzzzyyyyyzyyyyyyyyy{{{{{{{~~~~~~~~~}}}}}}}~~~~~}}}}{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}}}}}}}}~~~~~}}}}}}}}}}}}}}{{{{}}}}}{{}}}}}}}}}}{{zzzzzzzzzzzzzzzzz{{{zzzzzzzzzzz{zzzzzzzzz{{{{{{{{{{{{{zzzzz}}}}}}}{{{{}}}}}}}}}}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}~~~~~~~~~}}~~~~~~~~~}}}{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyzyyzzzzzzyyyyyy{{{{zzzzz{{{{{{{zzzzzzzzz{{z{zzzz{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyy{{{~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}~}}}}~~}}}}~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zz{{{{{zzzzzzzz{{{{{{{{{{{}{}}~~}}}}}}}~~~~~~~~}~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}~~~{{}}~~~}}{{{zzzzz{{zzzzzzzzzzz{{{{zzzzzzzzzzzzzzzz{{{{{}~~~}}{{{{{zzzzzzzz{{{{{zzzzzzzzzzzzzzzzzz{{{}}{{{{~{{{{{z{{{{{{zzz{{{zzzz{{{{zzzzzzzzzzyyyyyzzzzyyyyyyyyyyyyyyyy{{{{{{{{~~~~~~}}}}~~~~~~~{~~}}{{}}}~~}}}}}}}}}}}}~~~~~~~~z~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}~~~~}}}}}}}}}}}}}}{{{{{{}}}}}}}}}}}}}}zzzzzzzzzzzzzzzzzzzz{{{{{z{{zzzzzz{{zzzzzzz{{{{{{{{{{{{{{{zzzz}}}}}}}}}{{}}}}}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}{}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzyyyyy{{{{zzzz{zz{{{{{{{zzzzzzzz{{{{zzzz{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyy{{}}~~~~~~~~{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}{{{{{{{{{z{{{{{{zzzzzzzz{{{{{{{{{{{}}}}~}}}}}}}}~~~~~~~}}~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}~~{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzz{{{{{}}~~}{{{{{{zzzzzzzyy{{{{zzzzzzzz{{zzz{zz{{{{{{{{{{{{{{{{{zz{{{{{zzz{{{{zz{{{{{zzzzzzzzzzyyzzzzyyyyyyyyyyyyyyyyyzz{{{{{{{~~~~~~}}}}}~~~~~{{{{{{{{{}}}~~}}}}}}}}}}}~~~~{{~~{zz~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}}}}}}~~~~}}}}}}}}}}}}}}}}{}{{}}}}}}}}}}{{zzz{{zzzzzzzzz{{zzzzz{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{zzzz}}{}}}}}}{~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzyyyyy{{{zzzz{{zz{{{{{{{{zzzz{{{{{{{{zz{{{{{{{{{{{{{{zzzzzzzzzz{{{}{{{{z{{zzzzzzzzzzzzzzzzzzyyyyyy{}}}~~~~~~{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}~}}~}}~~}}}}}}}}{}}{}}}}}}}}}{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{}}}~~~}}}}}}}}~}}~~}}}}~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzz{{{zzz{{{{{{zzzzzzzzzzzzzzz{{{{{{{}}}}{{{{{{{zzzzzyyz{{zzzzzzz{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{zzz{{{{{{z{{{{{zzzzzzyyzzyyzzzzyyyyyyyyyyyyyyyyyyz{{{{{{{~~~~~~}}}}}~~~~~{{{{{{{{}}}}~~}}}}}}}}}}}~~~{{{{{{zz~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{}}}~~}zzzzz{{{{zzzzzzz{{{zzzzz{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{zzzzz{{{}}}}}{{~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}zzzzz}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyzzzyyyyyyyyy{{zzz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{}}{{zz{{zzzzzzzzzzzzzzzzzzyyyyyyy}}~~~~~~~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{}}}~~~}}}}}}}~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{z{{{zzzzzzzzz{zzzz{{{{{{{{}}}}{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{zzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzz{{{{{{~~~~~~}}}}}}~~{{{{{{{{{~~}}}~~}}}}}}}}}}}{~~{{{{{{{{}}~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{}}}~~{zzzzz{{zzzzz{{{{{{{{zzz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{zzzzz{{}}}}}{{{}}~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}{zzzz}}}}}}}}{{zz{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{zzz{{zzzzzzzzzzzyyyyyyyy}}~~~~~~{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzz{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}{{{{{{{{{{{{zzzzzz{z{{{{{{{{{zzz{zzzzzzz{{{{{{zzz{{{{{{{{{}}}}{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{zzzzzzzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyy{{{{{~~~~~~}}}}}}}}{{{{{{{{{~~}~~~~}}}}}}}}}}}{{{{{{{{{{{{}~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{zzzzzz{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{zzzzzz{{{{}}{{{{}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{zzz}}}}}}}}zzzz{{{{{zzz{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyy{{yy{{~~{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzz{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{zzzzzzzzzzz{{{{{{zz{{{{{{{{{{{}}}{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}~~~~~~}}}}}}}{{{{{{{{{{~~~~~~}}}}}}}}}}{{{{{{{{{{{{{~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{}}}{{{zzzzzzz{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{zzzzzzzzz{{{{{}}}{{{{}}~~~~~~~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{zzz{{{}}}}zzz{{{{{{{zzz{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{zzz{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyy{{yy{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzz{}}}}}}}}}~}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{z{{{}}}}{{{{}}}{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{}}{}{{{{{{z{{{{{{{{{zzzzzz{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}}~~~~~~}}}}}}}}{{{{{{{{{{~~}~~}}}}}~}}}{}}}}}}}{{{{{{~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}{{{zzzzzzz{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{zzzzzzzzz{{{{{}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{}}{{{{{{{{{{zz{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{zz{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyzyyz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}~~~}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzz{{{}}}}}}}~~~~}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}{{{{{{{{{{{{{{{{{zz{{{}{{{{{{{{{zzzzzzzzz{{{{{{{{{zzz}}}}{{{{{{}{{{{zzzzzzzzzzzz{{{{{{{{{}{{{{{}}}}}}}}{{{zz{{{{{{{{{zzzzzzz{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{}}}}~~~~}}}}}}}}}{{{{{{zzzz{{}}}}}}}~~~}}}}}}}}}}}}{{{{{~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}{{{{zzzzz{{{{zzz{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{zzzz{{{zzzzzzzzzzzzzzzzz{{}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}~}~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{}}}}{{{{}}}}}}{{}}}{{{{{{{{{{{{{z{{zz{{{{{{{{{{zz{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}~}}~~~~~~~~~~~~~~~}}~~~}~}}{{{{{{{{{{zzzzzzzzzzzzz{{}}}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}{{{{}}{{}{{{{{{{{zz}}}}}{}}{{{{{{{zzzzz{z{{{{{{{{{zz}}}}}{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{{}}{{{{}}}}}}}}{{{zz{{{{{z{{{{z{zzz{{{{{{{{{{zzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyzz{{{~~}}}}}~}}~}~}}}}}{{{zzzz{{{~}}}}}}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~}~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}{{{zzzzzz{{{{{zzz{{{{{{{{{}{{{{}}{{{{{{{{{{{{{{{{z{{{zzzzzzzzzzzzzzzzz{{}}{{{yy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{}}}}}}}{{{{}}}}}}}}}}}}}}{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyzzyzzzzzzzzz{{{{{{{{~~~~}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~}}~~~~~}}}{{{{{{{{{{zzzzzzzzzzzzz~~}}}}}}~~~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}{{{{}}{{}}}{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zz}}}}}}}{{{{{{{{zzzzz{zzzzz{{{{{{{{{}}}}}}}}}}}}}}}}{{{{z{{{{zz{{{{{{zzz{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyz{{{~~}}}}}~~~~~~}}}}}{{{{zz}}{~~}}}}}}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~~}}}}}}}}}}}}}~~~}}}}~~~~~~~~~~~}}}}~~~}}~~}}}}}}}}{{{{{zzzz{{{{{{{{zz{{{zz{{{}}}{{}}}}{{{yy{{{{{{{{{{zzzzzzzzzzzz{zzzzzyyzzzyy{{yyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{zz}}}}}}}{{{{}}}}}}}}}}}}}}{{{}}}{{zzzz{{{z{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyzzzzzzzzzzzzz{{{{{{~~~~~}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}~~~~~~~~~~~~}}}}~~~}}}}{{{{{{{{{{zyzzzzzzzzzzzz~~~~~~}~~~~~~~~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}{}}{{{{}}{{{{{{{{{}{}}}{{{{{{{{{{{{{{{{{{{{{{{zzzz}}}}}}}{{{{{{{zzzzz{{{zzz{{{{{{{{{{}}}}}}}}}{}}}}}{{{{{{zzz{{z{{{{{{zzzzz{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzz{{{~~~~~}}~{{z~}}}}}}{{{{{{}}}}}}}}}}}}}}}}}}}~~}}}}}}{{{{}}~~~~~~~~~~~}{}}}}}}}}}~~~~~}}}}~~~~~~~~~~}}}}}}~}}}~~~}}}}~}{{{{{{{zz{{{{{{{{{zzzzzzz{{{{}}{zz}}}{{}yyyzzz{{{{{{zzzzzzzzzzz{{{zyyyyyyzyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{}}{{{{{{{{{{{{{{{{}{{{{{{zzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{zz}}}}}}}}{{}}{{}}}}}}}}}}}{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyzyyyyyzzzzzzzzzzzz{{{{{~~}}}}}}}}}}~~~~~~~~~~~~}}}~~~}}~~~~~~~~~~~~~~~~~~}}}}~~}}}~~~~~~~~~~~}}~~~~}}}}}{{{{{{{{zzyyyyyzzzzzzzz{{~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{}}}}{}}{{{{zz{{{{{{zzz{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{z{{{{{{{{{{zzzzz{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzz}}~~~~~~~zz{zzz}}}}}}}{{{{{}}}}}}}}}}~}}}}}}~~~~~}}~}}{{{{{}~~~~{{zzzz{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}~~}}}~~~~~~~~}}{{{{{{z{{{{{{{{{{{zzzzzz{{{{{{zzzzz{}}}}yyzzzzz{{{yyzzzzzzzzzz{{{yyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{}}{{{{{{{{{zzz}{{}}{{{{{{zzzzzzzzzzzzzzyyyyyyyyzzzzzyyyyyyzzzzz{{{{{{zz}}}}}}}{}}}{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{zzzzzzzzzyyyyyzzyyyyz{zzzzzzzzzz{{{{{~~}}}}}}}}}}}~~~~~~~~~~~}}}}{}}{~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~}}}}~~~}}}}}}}}{{{{{zzzyzyyy{zzz{{{{{~~~~~~~~~~~~~~~~~~~~~~}~}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{}}}}}}}{{{{{{{{{{{{{zzz{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyy}}~~~~~~~~zzyyyyyyy}}}}}{{{{{}}}}}}}}}~~}}}}}~~~~~}}~~}}{{{{{{{~{{{zzzzzzzzz}}}}}}}}~~~~~~~~~~~~~}~~~~~~}}}~~}}~~~~~~~~}}}{{{{{zz{{{{{{{z{{{zzzzz{{{{{{{zzzzz{{}}yyyyzzzzy{{yyzzyyyzzzzyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{}}{{{{{{{{{zz}}{{}}{{{{{{{{zzzzzzzzzzzzyyyyyyyzzzzzzyyzzzzzzzz{{{{{{{{}}}}}}}}}}}{{{{}}}}}}}}}}{{{}}{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{zzzzzzzzzzyyyyzzzzzzz{{zzzzzzzz{{{{}}}}}}}}}}}}}}}}~~}~~~~~~~}}}}{{{{~~~~~~~~~~~~~~~~}}~}}~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}{{{{{zzzzzyy{{zz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{}}}}}}}{{{{{{{{{{{{{zzzz{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{zz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~yyyyyyyyyyy}zzz{{{{{{{}}}~}}~~~}~~}}~~~~~~~}}}{{{{{{{{{{{zzzzzzzzzz}}}}}}}~~~~~~~~~~~~}}}~~~~~}}}}}}}}~~~~~~~~~}}}{{{{zz{{{{{{{zzzzzzzzzzz{{{{{{zzzzz{}}yyzyyyzyyyyyyyzyyzzzzyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{}}}}{{{{{{{{{{}}{{zz{{{{{{{{zzzzzzzyzzyzzyyyyyyzzzzzyyzzzzzzzzzz{{{{{{{}}}}}}}}{{}{{{~~~~~~}}}}}{{{{}{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{zz{{zzzzzzzzzzzzzzzzz{{zzzzzz{{{{{}}}}}}}}}}}}}}}}}~}}}~~~~~~}}}}{{{{z}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}~~}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{}}}}}}}{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{z{{}}}}}}}}}{{{{{{{{{{{{zzzz{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{zzzzyyzzzyyyyyzyyyyyyyyyyyyyyyyy~~~~~~{yyyyyyyyyyz}zzzz{{{{{{~}~~~~~~~}}~}}}~~~~~}}}}{{{zz{{{{{{zzzzz{{zz}}z}}}}}}~~~~~~~~~~~}}}}~~}}}}}}}}~~~~~~~~}}}}}}}{{{{{{{{{{{{zzzzz{zzzzz{{{{{{zzzzzzzzzzzyyyyyyyyyyzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{zzzzzzz~~}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{}}}{zz{{{{{{{{{zzyyyyyyyyzzyyyzzzzzzzzzyyzzzzzzzzzz{{{{{}}}~}}~}{{{{{{}~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{zzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}zzzzz}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}{{{zzzzzzzzzzzzzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{}}}}}}}}}{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{zz{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{zzzyyyzzzzzzzzzzyyyyyyyyyyyyyyyy~~~~}{{{yyyyyzzzzzzzzzz{{{{{~~~~~~~}}~~}}}}}~~~~~}}}{{{{zz{{{{{{{{zzz{zzzzzzz}}}}}}}~~~~~~~~~}}}}}}}}}~~}}}}~~~~~~~}}}}}}{{{{{{{{{zzzzzzzz{{{{zzz{{{{{{zzzzzzzzzzzzzyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}~~~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{zzzzzzzz~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}zzzzz{{{{{{{{zzzyyyyyyzzzyyyzzzzzzzzzyyzzzzz{{zzz{{{{{{{~~~~~{{{{{{}}~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{zzzzz{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}{}{{zzzz}}~~~~~~~~~~~~~~~~~}~~~}}~~~~~~~~~~~~~{{{~}}}}}}{{{zzzzzzzzzzzzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}{{{}{{{{{{{{{{{{{{{}}~}}}}{{{{{{{{{{{{{zz{{{{}{{{{{{{{{{{{{{{{{{{}}}{}}{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{zzzzyyzzzzzzzzzzyyyyyyyyyzzyyyyyy~~}{{{{{yyyyyzzzzzzzzzz{{{{~~~~~~~}}}}}}}{{~~~~~{{{{{{{{{{{{{{{{zzzzzzzzzzzz}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzz{{{{{{{{{zzzz{{zzzzzzzzzzzzzyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy~yy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~{{{~~~~{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}{{zzzzzzz{{{{{}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}}{{{{{zzzzzzzz{{{zz{zzzzzyyyyyyzzzyyzzzzzzzzzzzzzz{{{{{{{{{}{{{{{~~{~{{{{{{{{~~~~~~~~~}}{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{zzzz{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~{{{{{{{{zzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~{~~{{zz}}}}}}}{{zzzzzzzzzzzzzzzzz{{z~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{}}}~~}}{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{zzzzzzzzz{{{{{{{{{zz{{zzzzzzzzzzzzzzzzzzzyyyyyzzzzyyyyyy~~{{{zz{yyyyyyzzzzzzzzzz{{{~~~~~~~}}}}}}{{{{{~~}{{{{{{{{{{{{{{{{{zzzzzzzzzzz}}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzzzzz{{{{{{{{{zzzzz{{zzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzyyyyyyyyyyzzzyyyyyyyyyyzyyyyz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~{{{{{~~{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}~}{{{{zzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}}}}}}}{{{{zzzzzyzzyzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{}{{{{{{{{{{{{{{{{{~~~~~~}}}}}{{{{{}}{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}~}}~~~~{{{{{{{{zzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{~~{{{{{zzzz{}}}zzzzzzzzzzzzzzzzzzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}~~~}}}}}}}}}{{}}}}}}}}}}}}}{{{{{{{{{{{{{}}}~}{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}{}}{{{{{{{zzzzzzz{{{{{{{{{{{zzz{zzzzzzzzzzzzzzzzzzzzzyyyzzzzyyyyyy~~{zzzzzyyyyyyzzzzzzzzzzz{{{~~~~~~}}}}}}{{{{{~~}{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{}}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzzzzz{{yyzzyzzzzzzz{zzzzzzzzzzzzzzzyzzyyyyzzzzzyyzzyyyyyyyyyyzzzzyyyyyyyyzzzzyyzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}{{{{~{{{z{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}{{zzzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{zzzyyyyyyzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{}}{{}{{{{{{{{{{{}}{}}~~~~}}}}}{{{{{{}}{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{}}}}~}}}}}}}}}}}}}}}}}}}}}}~~~~{{{{{{zzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~}~~~{{zz{{{{{zzzz{{zzzzzzzzzzzzzzyyzzyyzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}~}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}{{{{{{{{{{{{}}}}{{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{zzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyyyyyy{{zzzzzzyyyyyyzyyzzzzzzzzzzz~~~}}}}}}}}{{}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzz}}{{}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~}}}}}}}}{{{{{zzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyyyyyyyyyyyyzzzzyyyyyyzzzzzzzyyyz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}{{{{{zzz{{{~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}{{{{zzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}}{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{}}}}}{{{{{{{{{{}}}{}~~~~~}}}}}{{{{{{}{{zzzzzzz}}{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{}}~~~~~}}}}}}}}~}}}}}}}}}}}~~~~{{{{{{{zz{{{{{{zz~~~~~~~~~~~~~~~~~~~~}~~zzzzz{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyy{{zzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}~~~~}}}}}}}}}}}}~}}~~~~~~~~~}}~~~}~~~}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{}}{{{{{}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}{{{{{{zzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyyyyy{{{zzzzzyyyyyyyyyyzzzzzzzzzz{~}}}}}}}}}}{}}}}}{{{{{}{{{{{{{{{{{{{{zz{zzzzz}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}~~~}}}}}}}}}{{{{zzzzzzzyyyyy{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzzyyz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~z~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~}}}~~}~~~~~~{{{}}{{{{zz{zz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}{{{}{{zzzzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{}}}}}{{{{{{{{{{{}}}{~~~~~~~~~}}}{{{{{{{zzzzzzz}}}{{{{{{}}}}}{{{{{{{{{}{{{{{{{{{{{z{{zzzz{{{{{{{{{}~~~~~~~}}~~}}~~~~~~}}}}}}~~}}{{{{{{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~{{{zzzz{{{{{{zzzzzzyyzzzzzzyyyzzzzzyyy{{{zzz}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}{{{{{{{{}}}}}}~~~}}}}}}}}{{{{{{zzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyzzyyyyyyyz{{zzzzzyyyyyyyyyyzzzzzzzzzz{{}}}}}}{{{{{}}}}}{{{{{}}{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}{{{{{{zzzzzzzyyyy{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzyyyyyyyzzzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zz~{{~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~}}~{}}~~~~{{{{{}{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~{{{}}{{{{{{{zzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{}}}}}{{}}}{{{{{{}}}~~~~~~~~~}}}}}}}{{{zzzz{zzz}}}{{{{}}}}}}}}}}{{{}}}}}{{{{{{{{{zz{{zzzz{{{{{{{}}}~~~~~~~~~~~}}~~~~~~~~}}}}~}}}}{{{{{{{{{{{{{{zz~~}}~~~~~~~~~~~~~~~~~{{{{zz{{{{{{{zzzzzzyyyzzzzzzyyzzzzzyyyy{{{{{z~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}~~~~~}}}}~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{}}}{{{{}}}}}}}}}}~}}}}}}}{{}}}}}}}}}}}{{{{{{{{{}}}}~~~~~}}}}}}}{{{{{{{zzzz{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{zzzzzzzzzzyyyyyyyyyyyyyzz{zzzzzyyyyyyyyyyzz{zzzzzzz{{{}{{{{{{{{}}}}}{{{{{}}}{}}{{{{{{{{{{{{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}{{{{{{zzzzzzyyyy{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzyyyyyyyyyyyyyzzyyyyyyyyyzzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{zzz~~~~~~~~~~~~~~~~~~~{{~~~{{{{~~~~{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{zzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{}}}}}}{{{}}}}{{{{{}}~~~~~~~~~}}}}}}}{{{zzzz{{{zzz{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzz{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{zzzzzzzyyzzzzzzzzzzzzzyy{{{{{{{zz}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~}}~~~~~~~}}}}}}}}}}}~~~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}~~~}}{}}{{{{{{{}}}}}{{{}}}}}}}}~~~~}}}}}}}}}}}}}~~}}}}{{{{{{{{{}}}}~~~~~}}}}}}}}{{{{{{zzzz{{{{{}}{{{{{{{{{{zzzzz{zzz{{{{{zzzzzzzzzzyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyy{{{{zzzzz{{{{{{{{{{{{}}}}}}{}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}{{{{{{{zzzzyyyyy{zz{zzzzzzzzz{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{zz{{zz{~~~~~~~~~~~~~{{{~~~~~~~~~~~~~~~~~}}}}}}{{{zzz~~~~~yy~~~~~y~~~~~~~{{{{{{{{{{{~~{{}{{{{{{{{{{{{{{{}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{zz{}}}}}{{{{{{{zzz{{{}}~~~~~~~~~}}}}}}{{{{{z{{{{zzzzz{}}}}}}}}}}}}}}}}}}}}}}{{}{{{{{{{{{{zzzzz{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{zzzz{{{{{{{}}~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzy{{{{{{{zzz~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~}}~~~~~~~}}}}}}}}}}~~~~{{zzzzzz~~z~~~~~~~{{~~~~~~~~~~~~~~~~}}~}~~}}~~~~}}{{{{{z{{{{}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}~~~}}}}{{{{{{}{~~~}}~~~~~~~}}}}}{{{{{{zzzzz{{}}}}}{{{{{{{{{{zzzz{{zz{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyy{{{{zyyz{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}{{{{{{{{yyyyyyyyyzzzzzzzzz{zz{{{{zzzz{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~}}}}}~~~~~~~~}}}}}}}}}}}}}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzz{zzzz~~~~~~~~~~~{{{{~~~~~~~~~~~~~~~~~}}}}}{{{{{zz~~~~yy~~~~yyy~~~~}}{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zz{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{zz}}}}}}{{{{{{zzz{{}}{{{~~~~~~~~~}}}}{{{{{{{{{{zzzzz{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzz{{{{{}}~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}{{{{zzzzz{{{{{{{~~~~~~~~~~~~~}}~~}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~}}}}}~~~~~{{{zzzzzzzzz~~~}}}{{~~~~~~~~~~~~~~~~}}~~}~~~~~~~}}{{{{zzz{{{}}}}}~}}}}}}}~~~~~~~~}}}}}}}}}}~~~~}}}}{{{{}}}}~~~}}}~~~~~~~}}}}{{{{{zzzzzz{{}}}}}}}{{{{{{{{{{{{{{{z{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyy{{zzyyyyy{{zz{{{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzz{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{yyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~~~}~~}}}}}~~~~~~~}}}}}}}}}}}}}}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{zzzzzzzz~~~~~~~~yyyyyy{~~~~~~~~~~~~~~~~}}}}}}{{{{{zzy}}}yyyyyz~zyy~~~~}}}{{{{{{{yz{{}}}}}{{{{{{{{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{}}{}}}}{{{{{zz{{{{{{{{{{~~~~~~~}}}}{{{{{{{{{{zzzzz{{{{{}}}}}}}}~~~~}}}}}}}}}}{{{{{{{{{{{{zzz{{{{}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{zz{{{{{{{{{}~~~~~~}~~~~~}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}~~~~~~~~~}~~~~~~~~~~~}}}}}~~~}}{zzzzzzzzzz~~~}}{{{~~~~~~~~~~~~~~~~~}~~~~~~~~~~}{{{zzzzzz{{}}}}}~~}}~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}{}}}}}}}}}}}}~~~~~~~~}}}{{{{{zzzzzz{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyyy{{zzyyyyyzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zz{z{{}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}}{{{{{{{{zyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{yy~~~~~~~~~~~}}}~}}}}~~~~~~}}}}}}}}}}}}}}}}}{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{zzzzzzzzz~~~~~~~yyyyyyyy~~~~~~~~~~~~~~~~}}}}}{{{{{{{zyy}}yyyyyyyzzzyyy~~~}}{{{{{zzyyzz}}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{}}{{}}}}{{{{{{{{{{{{{{{{{{~~~~~~~}}}{{{{{{{{{{zzzzz{{{{{}}}{{}}~~~~~}}}}}}}}}}}{{{{{{{{{{{zzz{{{{{~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}~~~~~}}}}~~}}}}}}}}}}{{{{}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~}}~~~~~~{~~~~}}}}}~~~}}}zzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~}~~}}}~~~~~~~}}}zzzzzzzz{{zzz}}~~~~~~~~~~~{~~}}~~}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~}}{{{{{{{zzzzz{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyzzzyyyyyyzzzzzzyyyyyyyyyyyyyyzyyyyyyzzzz{}}{{{}}~~}}}}}}}}}}}}}}}}{{{{zz{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~}}}}{{{{{{{zzyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{{{{{yyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyy~~~~~~~~~}}}~~}}}}~~~~~}}}}}}}}}}~~}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzzzzzzzz~z~~yyyyyyyyyy~~~~~~~~~~~~~~~~~~}}{{{{{{{{{zyyyyyyyyyyzzzzyyyyzzz{{{{zzzzyyyy}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{zzz{{zzzzzyyzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{}}{}}}}}{{{{{{{{{{zz{{{{{~~~~~~~~}}{{{{{{{{{{{zz{{{{{{{{{{{{{}~~~~~~}}}}}}}}}}}}{{{{{{{{{{{z{{{{{{~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}}}}}{{{{{{{{{{{{}}}~~~}}}}}}}}}}}}}}}}}}}{{}}}}{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~{{z~~}zzz{{{{{{zzzzzzzzzzzzzzz{{~~~{{~~~~~~~~~~~}}~}}}~~~~~}}}}}zzzzzzzz{zzzzz~~~~~~~~{{{{{{{}}~~~}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{{{zzzz{{{{~~~}}}{{{{{{{{{{{{{{{{{}}}}}{{{{{{zzzyzyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzz{}}{{{{{~~}}}}}}}}}}}}}}}}}}{{zzz{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}{{{{{{{zzzzyzyyyzzzzzzzzzzz{{{{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyzzyyyyyy~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}}}~~}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzz{{zzzz{{zzzzzzz~yyyyyyyyyy~~~~~~~~~~~~~~~~~}}}{{z{{zzzzzzzyyyyyyyyzzzzzyyyyzz{zzzzzzzzyyy}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{zzz{{zzzzzyyzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{}}}}}}{{{{{{{{{{zzzzz{{{~~~~~~~{{{}{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~}}}{{{{{{{{zzz}}{}}~~~~~}}~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~{{{{{{zz{{zzz{{{{{{zzzz{{{zzzzzzzz{{~~~{{~~~~~~~~~~{{{{{}}}~~}}}}}}}z{{zzzzzzzzzzz~~~~~~~~{{{{{{{{}~~}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}~~~{}}}}{{{{{{{{{{{}}}~~~~}}{{{{{{{{{{{{{{{{}}}}}}{{{{{{zzzzzyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzz}}}{{{{{}}~~}}}}}}}}}~~~}}}}{{{zzz{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{zzzzzzyyyzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzzzzzzyyzzyyyyyy~~~~~~}}}}}}}}~~~}}~~}}}}}}}}}~~}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzz{{zzzz{{{{zzyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~}}}}zzzzzzzzzzzzzyyyyyyyyzzzzzyyyzyzzzzzzzzzz{{}}}}zzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzz{{zzyyzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}}}{{{{{{{{{{{zzzzz{{{~~~~~~{}}}}{{{{{{{{{{{{{{{{{{{{}{}}~}}~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{}{~~~~~~~~~~~~~}}}~~}}}}}}}}}~~~~~}}}}{{{{{}}zzz}{{y~~~~~~}}~~~}~~~~}}}}}}}}}}{{{zz{{{{{{{zzzzzzz{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{z{{{{{{zzz{{{{{zzzzzz{{{{{{{{{~~~~~~~~~{{{{{}{{~~}}{}{{{{{{{zzzzzzzz{{~~~}}~~{{{{{{{}}}~~}}}}}}~~~~~~~~}~}}}~~}}}}}}}}}}}~~~{{{{}}{{{{{{{{{{{}}}~~~~}}}{{{{{{{{{{{{{{}}}}{{{{{{{{{{zzzzyyyyyyyzzzzz{{zzzyyyyyyyyyyyyyzzyyzzzzzzzzz}}}}{{{}}~~~~}}}}}}}}}~}}}{{{{{zzz{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}{{zzzzzzzyyyyzzzzzzzzzzzz{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzyyzzzzzzyyzzyyyyyyy~~~~~~~}}}}}}}}}}}}}~~~}}}}}}}~~~}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}zzz{{zzzz{{{{{zyyyyyyyyyyyyyy{{}~~~~~~~~~~}}}}}}}zzzzzzzzzzzzzzyyzzyyyyyzzzzyyyyyzzzzzzzzzz{{}}{{zzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{zzzzzz{{zzyyyzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzz{{zzzz{{{{{{{{{{{{}}{{{{{{{{{{{{{z{{zz{z{{~~{{{{}}}}{{{{{{{{{{{{{{{{{{{}}}}~~}}~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{}}~~~~~~~~~~~~~}}}~~~}}}}}}}~~~~~~}}}}{{{{}}}yyyyyyy~~~~}~~~~~~~~~~}}}}}}}{{{{{{z{{{{{{zzzzzzzzz{{z{{{{zz{{{{{{}}zzzz{}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{zz{zz{{{{{{{zzz{{{{{{{{{{{{~~~~~~~~~{{{{{{{~~{{{{{{{{{{{{zzzzzzz{{~~{{}{{{{{{{{{}}{}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~{{{{{{{{{{{{{{{{{{~~~~~}}}}{{{{{{{{{{{{{{}}}}{{{{{{{{{{zzzzzyyyyyyzzzzzz{zzyyyyyyyyyyyyyzzzzzzzzzzzzzzz}}}{{y~~~~~~~~}}~~~~~}}}}{}}{{{zzz{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{zzzzzzzzzyyyyyzzzzz{zzzz{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzzzzzzzzzzzzyyzzy~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}~~~~}}}}}{{{{{}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}zzzz{zzzzz{{{{zzyyyyyyyyyyyyzzz}}~~{{~~}}}}}}}}}zzzzzzzzzzzzzzzyzzzzzzzzzzzzzyyyyzzzzzzzzz{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzzzz{yzyyyyzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzz{{zzz{{{{{}{{{{{{}{{{{{{{z{{z{{{{{{{{{{{{{{{{{{}}}}{{{{}{{{{{{{{{zz}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{}}}~~~~~~~~~~~~~~~}}~~~~~~}}}}~~~~~}}}}}{{{{}}yyyyyyyyy~}}~~~~~~~~~~~}}}}}{{{{{{{{z{{{{{{{{zzzzzzzzz{{{{zz{{{{{{}}zzz{{}}}}~~~~~~~~~}}~~~~~~~~~~~~~}}}}}~~~~~~~~~}}~}}}}}{{{{{{{{{{{{{{{{z{{z{{{{{{{{zzz{{{{{{{{{{{~~}}~~~~~~{{{{{{}~{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~{{{{{{{{{{{{{{}}{~~~~~}}}}}}{}}{{{{{{{{{{{}}}{{{{{{zzzzzzzzyyyyyzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyy~~~~~~~~~~~~~~~}}}}}}}{{{{{{}}}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzzzzzzzyyyyyzz{{z{{z{{{{{{}{}}{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzzzzzzzzzzzzzzzzyyy~~~~~~}}}}}}}}}}}~~~~}}}}}}~~~~}}}}}{{}}}}}{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~}}}}}{{{{{zzzzz{{{yyyyyyyyyyyyyyyyzz}}{{z{~~}}}}}}}}}zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyy{{{zzzzzz{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzzzzzzzzzyyyyyyzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{}}{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{}}}{{{{}}}{{{{{{{{zz}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}{{{{{{{{}}{}}}}~~~~~~~~~~~~~~}}}~~~~~~~}}}}~~~}}}}}zz{zzyyyyyyyyyy}}}~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{}}zzzz{{}}}~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}~~~}}~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~}}{{~~~{{{{{{}}}{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~}}~~~}}}}}}}}}}~~~~~{{{{{{{{{{{{}}}}}~~~~~~~}}}}}}}{{{{{{{{{{{}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyy~zz~~~~~~~~~~~}}}}}}}{{{{{{{}}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzzzzzyyyyzzz{{{{{{{{{{{}}}}}{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzyyy~~~~~~}}}}}}}}}}~~~~~}}}}}~~~~~~}}{{{{{}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}{{{{{{{zzzzz{{{yyyyyyyyyyyyyyyyyy}{{zzz~~}}}}}{z}zzz{{{{{zzz{{zzzzzzzzzzzzzzzzzzzzz{{{zzzzz{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzzzzyyyyyyzzzzzzzzzzyyyyyyyyyyz{{{{zzzzzzzzzz{{{{{{{{}}}{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{}}}}}}}}}}~}~~~~~~~~~~~}}}}}}{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~}}}~~~~}~}}}}~~~}}}}}zzzzzyyyyyyyyyyy}}}}}~~~~~~~~~}~~}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz}}}{{{}zzzzzzz{{~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}~~~}}~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~}}}{{{{{{{{{}}}}}{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{}{{{{{{{{{}}}}}~~~~~~~~~}}}}~~~~}}}}}}}}}~~~}}{{{{{{{{{{{{}}}}~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz{zzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyzzzzz{~~~~~~~~}}}}}}}{{{{{{{{}}}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{}{{{{{{zzzzzzzzzyyyzz{{{{{{{{}}}}}}}{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyzzyyy~~~~~}}}}}}}}}}}}~~~~{{{}}}~~~~~}}}{{{{{}}{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~{{{{{{{{{zzzzz{{{yyyyyyyyyyyyyyyyyyyzzzzzz~{}}}}{{zzzzz{{{{{{z{{zzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzzzzzzzyyyyyyzzzzzzzzzzyyyyyyyyyyy{{y{{zzzzzz{zzz{{{{{{{}}{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{}}{{{{{{{{{}}}}}}{{{{{{{}}{~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}{{~~}}}}}zzzzzzyyyyyyyyyyyy{}}}~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz}}}{{{{{zzzzzz{{{~~~~~zz}}~~~~~~~~~~~~~~~~~}}~~~~}}}}~}}}}}}}}}{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{}}}}{{{~~{{}}}}}~~~~~~~~}}}}~~~~~}}}}}}}}}~~~}}}}}}}{{{{{{{}}}}~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{zzzzzzzyyyyyyyyyyyzzzzzz{zzzzzzzzzzyyzzzzzz{~~~~~~~~}}}}}}}}{{{{{{{}}}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{zzzzzzzzyyy{{{{{{{{{{}}}}}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyzzzyyy~~~~}}}}}}}}}}}}~~~~{{{{{zz{~~}}}}{{{{{{{{zz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~{{zzz{{{{zz{{{{{yyyyyyyyyyyyyyyyyyzzzzzzzzz{{}}}{{zzzzz{{{{{{zz{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}{{{{{zzzzzzzzzyyyyyzzzzzzzzzzzzyyyyyyyyyy{yyyyzzzz{{{{zz{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{}}}}}{}}{{{}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}{{zzzzzzyyyyyyyyyyyyyy{}}}~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz}}{{{{{{{{zz{{zz{~~~~zzzz}~~~~~~~~~~~~~~~~~}}~~~}}}}}~~}}}}}}}{{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{}}}{{{}}}}}{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{}{}}}}}}}}}}}}}}}}~~~{}}}}}~~~~~~~~}}}~~~~~}}}}}}}}~~~~}}}}}}}}}{{{{{{{}}}}~~~~~~~~}}}}{{{{{{{{{{{{{{{{{}{{{{zzzzzzzzzzzzzzz{{{{zzzzzzzyyyyyyyyyyyzzzz{{{{zz{zzzzzzzzzzzzzzz{~~~~~~~~}}}}}}}}{{{{{{}}}z}}}}{{}}}{{{{{~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{zzzzzzzyyy{{{{{{y{{{}}}}}}{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyzzzyyyyz~~}}}}}}}}}}}~~~~~{{}}{zz{{}}}}}{{{{{{{zzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~{{{zzzzzz{zz{{{{{yyyyyyyyyyyyyyyyyyzzzzzzzzz{{yyy{{zzzzz{{{{{{zzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzz{{{{{{{{{}}~~~}}}}}~~~~~~~~~~~~~~{{~~~~~~~~~}}}}}}}}}{{{{{{zzzzzzzzzzyy{zzzzzzzzzzzzzyyyyyzzyyyyyyyzzz{{{{{{{{{{zz{{{{{zz{{{{{{{{zzz{zzzz{{{{{{{{{}}}}}}}}}{{{}}}}}{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}}}~~~~~~~~~~~~{{~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzyyyyyyyyyyyzz}}}~~~~~~~~~~~~{{{zz{{{}}}}}{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{zz{{zzzzzzzzzzzz~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}~~{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{}}}}{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~}}}}}~~~~~~~~~}}}}~~~}}}}}}}}}~~~}}}}}}}}}}{{}}}}}}}}}}}~~~~~~~}}}{{{{}{{{{{{{{{{{}}}{{{{z{{z{{zzzzzzzz{{{zzzzzzzyyyyyyyyyyyyzzz{{{{{zzz{{zzzzzzzzzzzzz~~~~~~~~~~}}}}}}{{{{{z{{}zz{}}}}}}}}}}{{{~~~yyy~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{zzzzzzyyz{{{{yyyy{{zz~~}}{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyzzyyyyyyzz~~}}}}}}}}}}}~~{{{{}}{zzz}}}}}}{{{{{zzzyyy{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}{{{{zzzzz{{{{{{{zyyyzzyyyzyyyyyyyyzzzzzzzzzz{{yyy{{zzzzz{{{zzzzzzzzzzzzzzyyzz{{{{zzzzzzzzzzzzzzz{{{{{{}}}}}~~~}}~~~~~~~~~~~~~~~~{{{~~~~~~}}~}}~~}}}}{{{{{{{zzzzzzzzzyyy{{{{zzzzzzzzzzzzzzyyzzyyyyyyyz{{{{{{{{z{zzz{{{{zzzz{{{{{{{{z{{{{{z{{{{{{{}}}}}}}}}}}{{{~~~}}}{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{}}}}~~~~~~~~~~~~~{{~~~~~~~~~~~~~}}}}}}}}{{{{{zzzzzzzzzzzzzzyyyyyyyyz}}~~~~~~~~~~~~{{{zz{{}}}}}}}}{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~}}}}~~~~~}}}}}~~~{{{{{{}}}}}}}{{{{{{{{{{{{{{{{}}{{{{{{{{}}}}}{{{}}}{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}{}}}}}}{{}}}}}}}{{{{{{{{{{zzzz{{zzzz{{{{zzzyyyyyyyyyyyyyyz{{{{{zzzz{zzzzzzzzzzzzzz{{{~~~~~~~~}}}}{{{{zzz{{{zz{{}}}}}}}}}}{~~~~yyyz~~~~~~~~~~~~~~~~~~~{~~~{{{{{{{{{{{{{{{zzzzzzzzz{{{yyyyzzzz~{}}{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyzzzyyyyyy{}}~}}}}}}}}}}}}~{{{{{{{zz{{}}{{{{{{{{zzzyyy{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}{{{{zzz{{{{{{{zzzzzyzzzzzzyyzyzzyyzzzzzz{zzz{{zz{{{zzzzz{{zzzzzzzzzzzzzzyyyy{{{{{zzzzzzzzzzzzzz{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~{{~~~~~}~}}}}~~}}}}{{{{{{{zzzzzzzzyyyy{{{{zzzzzzzzzzzzzzyyzzzyyyyyyy{{{{{{{zzzzzz{{{{{zzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{~~~}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}{{{{{}}}}~~~~~~~~~~zzzzzz{{{~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzzzzzzzyyyyyyyy}}}}}~~~~~~~~~{{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{zzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~}}}}}}}}~~~~}}}}~~}}{{}}}}}}}{}}{{}}{{{{{{{{{{}}}}{{{zz{{}}}}}z{{}}}}{{{}}}}}}}~}}}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}~}}}~~~~~~~}}{{}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzz{{zzzzz{{{{yyyyyyyyyyyyyyyzzzz{{zzzzzzzzzyyzzzzzzzz{{{{{~~~~~~~}}{{{{{zzzzzz{{z{}}}}}}}}}}}{~~zzzzzzzzz~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyzzzzzzz{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyzzzzzzyyyy{{}}~}}}}}}}}}}}}}{{{{{{zz{{{{{{{{{{{{zzzzyy{{{~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}{{{{zz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzz{{{zzzzzzzzzzzzzzzzzzzzyyy{{{{{{{zzzzzzzzzzzz{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~zz~~~}}}~}}}}}~~}}}}{{{{{{{zz{{zzyyyyz{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyy{{{{{zzzzzz{{{{{{zzz{z{{{{{{{{{{{{{{{{{{{}}}}}}}{{}}}}{{}}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{}~~~~~~~{{zzzzzzz{{{~~~~~~~~~~}}}}}}}{{{{zzzzzzzzzyyzzzzzzzzyzzzz}}}}}}~~~~~~~~{{{{{{{{{}}}}}}{{{{z{{{{{{{{{{{zzzzz{{{{{{{{zzzzzz{zzzzzzzzzzzzz~~~~~~~~~~~~~}}}}}}}~~~~~}}}}~}}{{}}}~~}{{}}}}}}{{{{{{}}}}}}}}{{{zz{{}}}}zzzz{{{{{{{z}}}}}~~}}}}}}}}}}}}{{{}{{{{{{}}}}~~}}}}}}}}}}}}}}~~~}}~~~~~~~~~}}}}~~~~~~}~~}}}}~~~~~~~~~}}}}}}}}}}~}~~~~~}~~~~~~~{{{{}}}}}{{}}}}}}}}}}}{{{{{{{{{{z{{{yyyzzzz{{{yyyyyyyyyyyyyyyyz{zz{zzzzzzzzyyyzzzzzzzz{{{{{{~~~~~~~}{{{{{zzzzzzz{{zz}}}}}}}}}}{{zzzzzzzzzz~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{z{{{{{zzzzzzzzzzyzzzzzzzzz{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{zzzzzzzzyyyyyzzzzzzyyyy{{}~~~}}}}}~}}}}}}}{zz{zz{{{{{{{{{{{zzzzz{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}{{{{zz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzz{{{z{{zzzzzzzzzzzzzzzzzyy{{{{{{{{zzzzzzzzzzz{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~{{{zz~~~~}~}}}}}}~~}}}}{{{{{{{{{{{zzzyyzzz{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyy{{{{zzzzz{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{}}}}}{{}}}}}}}}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{}}~~~~~{{zzzzzzz{{{{~~~~~~~~zzzzzz}}yy{{{zzzzzzzzzyyzzzzzzzzzzzzzzz}}}}~~~~~~~{{{{{{{{{}}}}}}}{{zzz{{{{{{{{{{{{zzz{{{{{{{{{{{zzz{{zzzz{zzzz{{{~~~~~~~~~~~~~~}}}}~}}~~~~}}}}}}}}}}}}}~~}}}}}}}}}{{{{{}}}}}}}}}{{{zzz{{{}}zzzz{{{{{{{zzzz}}~~~~~}~~}}}}}}{{{}}}}}{{{~}}~~}~~}}~~~~~~~~~~~~}}~~~~~~~~}~~}}~~~~~~~~}}}}~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~}}{{}}}}}}{{}}}}}}}}}}}}{{{{{{{{zzz{yyyyyzzz{{yyyyyyyyyyyyyyyyy{{{zzzzzzzzzzzyzzzzzzzzz{{{{{{~~~~~~~}}{{{{zzzzzz{{zzzzz}}}}}{}{{{zzzzzzzzz~~~~~~~~~~~~}}}}{{{{{{{{{{{}{{{{{zz{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzyyyyyyyzzzzzzzzzyy{{}}}}}}}}}~~zyyyyyyzzzzz{{{{{{{{{{{zzzzzz{zzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzz{{{{{zzzzzzzzzzzzzzzzyyy{{{{{{{{{zzzzzzzzz{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~{{{{z{{~~~}}}}}}}~~}}{}}{{{{zz{{{{zzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzyyyyyyy{{{{{{zzzz{{{{{{zzz{{{{{{{{{{{{{{{}}}{{{{{}}}{{{{{}{{{{}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~}}~~~}}}}}}{{{{{{{}}~~~~~{{{{{{{{{{{{}}~~~~~~~zzzzzzz}yyy{zzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}~~~~~{{{{{{{{{{{}~~~~}{{{{zz{{{{{{{{{{{{{z{{{{{{{{{{{{zz{{{zz{{{{zz{{{{~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}{{{{zzz{{{~{{{zzzzz{{{zzzzz}}}~~~~}~~}}}}}}{{{}}}}}}{~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}~~~~~~~~}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{}}{{{}}}}}}}}{{{{{{{zzzzzzyyyzzz{zzzyyyyyyyyyyyyyyyy{zzzzzzzzzzzzzzzzzzz{{{{{{{{{~~~~}~{{{{{{{{zzzzzz{zz{{{{}}}{{{{{{zzzzzzz{zz~~~~~~~~~~~~}}{{z{{}}}}}}}}}{{{{zz{{yzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzyyyyyyzyzzzzzzzzzzz{{{}}}}}}}}~~zzyyyyyyyzzzz{{{{{{{{{{{zzyyzzzzzz{{{}~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzz{{{{{zzzzzzz{{{zzzzzyyyyy}{{{{{{{{zzzzzz{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~{{zzz{{{{{}}}}}}~~yy{{}}{{{{zz{{{zzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzyyzyyzz{{{{{{zzzz{{{{zzzzz{{{{{{{}{{{{{{{}}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{~~~~~~~~~~~}}}}~~}}}}}}}{{}}{{{{~~~~~{{{{{{{{{{{{{{}{{{~~~zzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzz~~}}{{{{{{{{{{{{{{{{~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}}}}}}}{{{{{z{{{~~{{{zzzzzzzzzzzzz}}}~~~~~~~~~}}}}}{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{}}}}}}}{{z{{{{{zzzzzzyyzz{{zzzzzyyyyyyyyyyyyyyy{zzzzzzzzzzzzzzzzzz{{{{{{{{{{{~~}}}{{{{{{{yyzzzzzzzz{{{{{}}{{{{{{{{{{{{{{{}}~~~~~~~~}~~{{{{zz}}}}}}}}}{{{{{{zzzyyzzzzzzzzzzzzzzzzz{zzzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{}}}}}}}}}zzzzyyyyyyyyzzzzz}}{{{{{{zzyyzzzzzzz{{}}}}~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{{{{{zzzyzzyy}}{{{{{{zzzzzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~{{~~~zzzzzzz~~~~}~~~~~yyyyzz}{{zzzzz{zzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzz{{{{{}}}}}{{{{}}}{{{{{{{{{{{{{{{{{{{}~~~~}}}}}{{{{{{{{}~~~~~~~~~~}}}}}}~~}}}}}}}}}{{{{{~~~~~{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz~~z}}{{{{{{{{{{{{{{{}}}}{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}{{{{}}}~}}}}}}}}}}}}}}}}}}}{{{{{{{{{~~{{{zzzzzzzzzzzzzzzz~~~~~~~~~~~}}}{{{{{}{{}}~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}~~~~~~~~~~~~~~~~}}}{{{{{~{{~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}yy}z{{{{{{}}{{{}}{zz{{{{{{zzzzzyyyz{{zzzyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}{{{{{yyyzzzzzzzzz{{{{{}{{{{{{{{{{{{{{{{{}~~~~~~~~}}}{{{zzzz}}}}z}zzz{{{{{zzzyyzzz{zzzzyzzzzzzzz{{{zzz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz}}}}}}}}{zzyyyyyyyyyyyyzz{}}{{{{zzzyyyyzzzz{{{{}}}}}}{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{zzzzzzzzzzzzz{{{zz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzzz{{{{{{zzzzzzzz}}{{{{{zz{zzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~}}{{{{{{zzzzzzz~~~~~~~~~yyyyyzzyyyzzyzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zz{{{{zzzz{{{{}}}}}}{{{{}}}{{{{{{{{{{{{}}{{{}~~~~~~~~}}}{{{{{{{{}~~~~~~~~~}}}}}}}}~}}}}}}}}}{{{{{~~~~{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}{{{{{{{{{}{{}}}}{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}{{{{{}}~~}}}}}}}}}}}}}~~}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz~~~~~~~~~~~}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}{{{{{{{yzz~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}yyzz{{{{{}}}{{{}}}zz{{{zzzzzyzzyyyzz{{zzzyyyyyyyyyyyyyyy{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{zz{{{yyzzzzzz{{{{{{{{{{{{{{zz{{{{{{{{{{{}~~~~~{~}}{}}{{{zzz}}{{zzzzz{zz{{zzzz{{{{{{zzyyyzzzzzz{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz}}}~}}}}{{zyyyyyyyyyyyyy{{}{{{{zzzzyyyyyzzz{{{}}}}}}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{zzzzzzzzzz{{{{zz{{{zzzzzzzzzzzzzz{{{{{zzzzzzzzzz{{{{{{{zzzzzzzz}}}{{{{{{{{zzz{{{{{{{{}{{{}{~~~~~~~~~~~~~~~}}{{{{{{zzzzzzzz~~~~~~~yyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzz{{{{zzzzzz}}}}}}}}{{{{}}}}{{{{{{{{{{{}}}}}}~~~~~~~}}}}}}}}{}}}}~~~~~~~}}}}}}}}}~~~}}}}}}}}}{{{{~~~~{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{}}}}{{{{{{{{}}}{}}}{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{}~~~~~~~~~~~~~~~}}}~~~~~~~}}}}{}}{{{{{{}}~~}}}{}}}}}{{}}~~}}}}{{{{{{{{{{z{{zzzzzzzzzzzzzzzz{{~~~~~~~~~}}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{yyzz~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}yzzy{{}}}}}}}{{{}zzzzzyyzyyyyyyyyzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyz{{zzzzz{{{{{{}}{{{{{{{{{{{{zzzzyyyzzzzzz{{{{{{{{{{{{{zz{{{{{{{{{{{}}~~~{{{{{{{}{{{{zzzz{{{zzzzzzzz{{zzzz{{{{zzyyyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz}}~~~{{{{yyyyyyyyyyyyyzz{{{{{{zzzzzzyyyzzz{{{}}}}}}{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{zzzzzz{{z{{{{{{{{zzzzzz{{{z{{{{{{{zzzzzzzz}}}{{{{{{{{{zz{{}{{}}}}}}}}}~~~~~~~~~~~~~~~}}{{{{{{{zzzzzzzy~~~~yyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzz{{{{zzzzz}}}}}}}}}}}}}}}}}{{{{{}{{}}}}}}}}~~~~~~~}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyzzzyyyyyyyzzzzz{{zzzzzzzzzzzzzzzzz{{}}}{{{{{{{{{}{{{{{{{{{{{{{{{z}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{}}}}{{{}}}}}}}}}{{{{{{{zzzzz{{zzzzzzzzzzzyyy{{~~~~~~~~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{yyzz~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzzy{{}}{{}{}{{{zzzzzzyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyy{{zzzzz{{{{{}}}}}{{{{{{zzzzzzzzyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{}}{{{{{{{zz{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{zzzzzzz{{{{~~{{yyyyyyyyyyyyyyyzz{{{{{zzzzzzzzyyyzz{{{}}}}}{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{zzzzz{zzzz{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{zzzzzzzz}zz{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}{{{{{{{{zzzyzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzzz{{z{zz{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}~~~}}}}}}}}}}}}}}}}}{{{{{{{{}}}{{{{{{{{zzyyyyyyyzzzzzyyyzzyyzzzz{{{zzzzzzzzzzzzzzz{{{{{}{{{{{{{{{{}}{{{{{{{{{{{{{zzz}zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{}}}}{{{{}}}}zzzzz{{{{{{zzzz{{{{zzzzzzzzzzyyyy~~~{zz~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zyy~~~~~~~~~~~~~~~~~~~~~~}~~~zzzzzzzyyy}}}}{{{{{{zz{{{zzzyzzzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{}}}}}}}{{{{{{zzzzzzzyyyzzzzz{{{{{{{{{{{{{{{zz{{z{{{{{{{}}}}}{{}}}{{{{{{{zz{{z{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzz{zzzzyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{zzzzzzz{{{{{~zzyyyyyyyyyyyyyyyzz{{{{zzzzzzzzzyyzzzz{~~}}}}}{{}}~~~{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}~}}}}~~~~~~}}}{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{zz{{{{zzzzzzz}{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzz{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}}}}}}{{{{{{{{}}}}}{{{{{zzzzyyyyyyzzzzzyyzzzzzzzzzz{zzzzzzzzzz{{zzzz{{{{}}}{{{{{{{{}}}{{{{{{{{{zzz{{zzzzz{{{{{{{{{{{}}}}{{{{{{{{{{{{{zzz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{}}{{{{{{zzzzzzzzz{{{{{{{{{{{{{{zzzzzzzyyyyyy{{{{zzz~~~{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{zzzzyy~~~~~~~~~~~~~~~~~~{{{}}}~zzzzzzzzyyy{}}}{{{{{{{zz{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{}}}}}}{{{{{{{{zzzzzzyyyzzzzz{{{{{{}}{{{{{{{zzzzz{{{{{{{}}~~~}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzz{{{zzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{zzzzzzzzyy{{{zzyyyyyyyyyyyyyyyzz{{{{zzzzzzzzzzzzzzzz~~~}}}}{{{}~~{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}~~~~~~}}}}{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{zz{{{{{zzzzzz}}{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyzzyzz{{z{{{{{}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzz{{{{{{}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~}}}}~}}}}}~~~}}}}}}{{{{{{}}}}}{{{{zzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{z{{}}}}}}{{{{{{}}}{{{{{{{{{{{zz{{zzzzzzz{{{{{{{{{{}}}{{{{{{{{}}{{{zzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}{{{{{{{{{{{{{{{{{{}{{{{{{zzzzzzzzz{{{{{zz{z{{{zzzzzzzzzyyyyyy{{y{zzzz~z{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{zzzzzzz~~~~~~~~~~~~~~~~~{{}}}}~zzzzzzzyyyy{{}}}}}{{{{zz{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{}}}y}}}}{{{{{{zzzzzzyyyzz{zz{{{{{{}{{{{{{{{{{zzz{{{{{{{}}~~~}}}}}}}{{{{{{{{zzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{{{{{{{zzyyzz{zzzzyyyyyyyyyyyyzzz{{{{{zzzzzzzzzzzzzzz~~~}}}}{{{{{~{{{{~~~~~}~~~~~~~~}~~~~~~~~}}}}}}~~~~}}}}}~~~~~}}}}}}{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzz{{{{{{zz{{{{{{{zzzz}}}{{{{{{{}}}}}}}}}}~~}~~~~~~~~~~~~}}}}}}}}}{{{yyyyyyyyyyyyzzzyyyyyyyyyyyzz{{{{{{{{{{{{}{{{{{{{{zzzzzzzzzzzzzzzzzz{zzzz{{{{{{{{zzzzzz{{{{{}}}~~~~~~}}}}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}~~}}}~~~~~}}}}}}{{{{}}}}}{{{zzzzzzzzyyyyyyyyzzzzzzzzzz{{{zzzzzzzzzz{{{{{{{{{{{{}}}}{{}}{}}}{{{{{{{{{{{{{z{{z{{zzzzzzz{{{{{{{{{}}{{{{{{}}}{{zzzzz{{}}}}~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}{{{{{{{{{{{{{{{}}}{{{{{{{{zzzzzzz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyy{{zzzzz{{z}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzzzzzz~~~~~~~~~~~}}{~~{}}}}}~zzzzzzzyyy{{{{}}}{{{{zzz{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{yyyyy}}}{{{{{{zzzzzzzyyyz{{{{yyzzz}}{{{{{{{{{zzzz{{{{}}}}}}}}}}}z{{{{{{{zzzyyzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{{{{{zzzyyzzzzzzzzyyyyyyyyyyyzzzzz{{{zzzzzzzzzzzzzzzz~~}}}{{{{{{{{{{~~~~~~}}~~~}}~~}}}~~~~~}}}}}}}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{zz}}}}}{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzyzzyyyyyzzzzzyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{z{{{zzz{{{{{{{{zzzzzzz{{{{{}}}}}~~~~}}}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}{zzz{zzzzzzzzzyyyyyyyyzzzzzzzzzz{{zzzzzzzzzz{{{{{{{zzz{}}}}}{{}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{}}{{zzzzz{{}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{}{{{{{}}}}{{{{{{{{zzzzyyy{{{zzzzzzzzzzzzzzzzyyyyyyyyyyz{zzzzzzzzzzz~~~~}}}}~~~~~~~~~~~~~~~~~~{{{{~{{}}~~~~~~~~~~~~~}}}}~~{{{{{zzzzzzzzz{~~~~~~~~~}}{{{~{{{}{{zzzzzzzzyyyy{{{}}}{{{{zz{{{{zzzzzzzzzzzz{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzyyyyyy{{{{{{{zzzzzzzzyyyz{{{{yyyzz}}}{{{{{{{{{zzz{{{{}}}}}}}}}zzzz{{{{{{{zzyyyyyyyyy{{zzzzz{{{zzzzzzzzzzz{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzyyzzzzzzz{{{{zzz{{{{{z{zzyyyzzzzzzzzyyyyyyyyyyyyzzzzz{zzzzzzzzzzzzzzzzzz}}}{{{{{{{{{{~~~~~~}}}}}}}}~~}}}}}~~~}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}{{{{{{{{{zz{{{{{{}}}{{}}}{{{{{{{{}}}}{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{zzzzzzzyyyyyzzzzzyyyyyyyyyyyy{{{{{{{{{zz{{{{{{{{{zz{zzzzzzzzzzzz{{{{{zzzzz{{{{{{{{{{zzz{{{{{{}}}}~~~~}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{zzzzzzzzzzzzzzzyzzyyzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzz}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{}}}}}{{}}}}{{{{{{{zzzzzyyy{{zzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzz~~}}}}~~~~~~~~~~~~~~~~~{{{{{{{}}}}~~~~~~~~~~~}}}}~~{{{{{zzzzzzzz{{~~~~~~~}}}{{{{{{{{{{{{zzzzzzzyyyyzzzz}}z{{zz{{{{{zzzzzzzzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzyyyyy{{{{{{{{zzzzzzzzzzzz{{yyyyyy{{{{{{{{{{{{{{{{{}}}}}}}}}zzzzzz{{{{{{{zzyyyyyyyyy{{zzz{{{{{zzzzz{zzzzz{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{zz{{{{{zzyyyyyyzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{}}{{{{{{{{{{{~~~~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}{{{{{{{{{{{}}}}}}}{}}}}{{{{{{{}}}}{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}}}}{zzzzzzzzyyyzyyzzzzyyyyyyyyyyyyy{{{{{zz{zzzz{{{{{{{zz{{{zzzzzzzzzz{{{{{{zzzz{{{{{{{{{{{{{{{{{{~~~~~~~~~}}~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zz}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{}}}}}}{{{}}{{{{{{{{{{zzzzzyyzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzz~~~}}~~~~~~~~~~~~~~~}}}}{{{{{{{}}}~~~~~~~~~~~}}{{~{{{{{{zzzzzzzzzz~~~~~~~{{}{{{{{{{{{{{{{zzzzyyyyzzzzzzzzzzzzz{{{zzzzzzzzzzzzz{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyy{{{{{{{{zzzzzzzzzzzzzyyyyyyyyy{yy{yy{{{{{{{{{{}}}}}}}zzzzzzzz{{}{{{{zzyyyyyyyyy{{{{{{{{{{{{{{{{zzzzzzz{{y{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{zzzyyyyyzzyyzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}~~}}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}}{{{{{{}}}}{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}{{zzzzzzzzzzzyzzzzzzzzyyyyyyyyyyyyzzz{{zzzzzzzz{{{{{{{{{{{{{zzzzzzzz{{{{zzzzzzzz{{{{{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}{{{{{yyzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{{{{{{{{{{{}}}}}zzz}}}}}}}{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{}{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~{{{~~~}}}}}}}}}}}}}}}}}}{{{{}}}}}}{{}}{{{}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzz{{zzzzz{~~~~~~~{{~~~~~~~~~~}}}}{{{{{{{{}}~~~~~}}~}}}}}{{{{{{{{{{{{zzzzzzz~~~~~~~{{{{{{{{{{{{{zz{zzzzyyzzzzzzzzzzzzzz{{{zzzzzzzzzzz{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzz{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{z}}}{{{{zzzzzzzz{{}z{{{yyyyyyyzzy{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{zzzzzzzzz{{{{zyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}}{{{{{}}}}}}{{{{{{{{{{{{{zzzzzzzzz{{{{{}{{{{{{{{{{{}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzyyyzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzzzzyyzyy{{{{{{{{{{{{zzzzzz{{{zzzzzzzzzz{{{{{{{{{{zzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{yyzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzz{{{{{{{}{{{{{{{{{}zzz}}}~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}{{}}}}}}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~{{{~~~}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}}}}{}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzz{{zzz{{{~~~~~~~{{~~~~~~~~~~{z}}{{{{{{{}}}~~~~~}}~~}}}{{{}}{{{{{{{{zzzzzzz~~~~~~~{{{{{{{{{{{{{zzzzzzzzzzzz{{{zz{{zzzzz{{{zzzzzzzzz{{{{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{zzzyyyyzzzz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{y}}}}{{{zzzzzz{{{{zzzyyyyyyyyzzzz{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{zzzzzzz{{{{{zzyyyyyyyyyyyzzzzzzzzzzzzyyyyyzzz{{{{{{{zzzzzzzzzzz{{zz{{{{{{{{}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}{{}}}{}}}}}}}}}}}}}}}}{{{{}}}}}{}}{{{{{{{{{{{zzzzzzzzz{{{}}}{{{{{{{{{{}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzzzzzyyzzzzzzzzyyyzzyyyyyyyyyyyyzzzzz{{zzzzyyyyyy{{{{{{{{{{{zzzzz{{{{zzzzzzzzzz{{{{{{{{{zzzzz{{zz~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{yyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{}}}}}{{{{{{{{{zzz}}~~~}}}}}}}}{{{{{{}}{{{{{{{{{{}{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{~~~~~~~~~~{~~{{{~~~}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzz{{zzz{{{~~~~~~~yyzz~~~~~}}~{{z}}{{{{{{{}~~~~~~}}~~}}{{{{}}{{{{{{{{{zzzzzz~~}}}}{{}}}{{{{{{{{zzzzzzzzzzzzz{{{zzz{{zzzz{{{zzzzzzzzz{{{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzyyyyzzzz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzz{{{zzyyyzz}{{zzzzzz{{{{{zzyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzz{{{{{zzzzzzz{{{{zzzzzzyyyyyyyyyzzzzzzzzzzzzzzyyzz{{{{{{{zzzz{zzzzzzzzzzz{{{{{{{{}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}{{}}z{{{{{{{{{{{{zzzzzzzzz{}}}{}}{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzzzzzzzzyyyyyyyzzzyyyyyyyyyyzzzzz{{{zzzzyyyyz{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{zzzzzz}{{{~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{}{{{zzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}}{{{{{{{zzzzzz}}~}}}}}}}}}{{{{{}}}{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{~~~~~~~~~{{{{{zz~~~}}}}}}}}~}}}}}}}}}{{{}}}}}}}}}{}}}}}}}}{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzz{{{zz{{{{~{{{~~zyzz{{{~~}}{{{z}}}{{{{}}}~~~~~~~}~~}}{{{{{}{{{{{{{{zz{zzzz~~}}}}}}}}}{{{{{{{{zzzzzzzzzzzz{{{{zzzzzzzzz{{{zzzzzzzz{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzyyyyzzzz{{{{{{zz{{zzzzzzyyyyyyyyyyyyyyyyyyyzz{{zzzyyzzz{{{zzzzzz{{zzzyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{z{{{{{{{{{{zzzzzz{{{zzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{zzzz{{zzzzzzzzzzzzz{{{{{{{~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}{{{{}~}}{{{zz{{{{{{{{{{{{zzzzzzzzzz{}}}}{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{zzzzzzzzzzzzyyyyyyyzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{zzzzzzz}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}}{{{{{{{{zzzzzz}}}}}}}}}}}}}{{{}}}}{}}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{~~~~~~~{{{{{{zzzzzzz}}}}}~~~}}}}}}}zz{{}}}}}{}}}}{zzz}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{{zzz{{{{{{{{~zzzzz{{~~}{{{{{{}{{zz{{}}~~~~~~~~~~}}{{{{}}{{{{{{{{{{{{zzzz~}}}}}}}}{{{{{{{{{zzzzzzzzzzzz{{{{zzzzzzzzz{{zzzzzzzzzz{{{yyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzz{{{{{{yy{{{{zzzzyyyyyyyyyyyyyyyyyy{{{{{zzzzzzzyy{{zzzzzz{{zzzyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{zzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{zz{{{{zzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{zzz{{{zzzzzzzzzzzzz}}{{{{~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~}}~~}}}}}}{{{{{~~}}z{{z{{{{{{{{{{{{zzzzzzzzzzz{{}}}{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}{{{{zzzzzzzzzzzzyyyyyyyyyzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzz{zzzzzzzzz{{{{{{{{zzzzzzzz{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzz{{zzzzz{{{{{}}}}}}}}{{{{{{{zzzz}}}}}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}zz}}}}}}}{{{{{{{{{{{{~~{{{{{{zzzzzzzzz}}zzzz~}}}}{{{zzz{{z}{{{{{}zzzzzz}}}}{{{{zzzzzzzzzzzzzzzzz{zz{{z{{zzzzzzzzzzzzz{{{{{z{{zzzzzz{{{{{zzzzzzzzzzyy{{{{z{{{{{zz{{{~~~~~~~~~~~}}{{{{}}{{{{{{{{{{{{{zzz{{}}}}}}}}{{{{{{{{zzyzzzzzzzzz{{{{{{zzzzzzz{{{zzzzzzzzz{{{yyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzz{{{{{{yyy{{{zzzzzyyyyyyyyyyyyyyyyy{{{{{zzzzzzzyyyzzzzzzzzzzzzzyyyyyyyyyyzzzz{{{{{{{{{{{{{{zzzzyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{z{{{{{zzzzzzzzyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{{{{{{{z{zzzzzzzzzz}}{{{{{{~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}~}}~~~}}}}~~~}}}}{{{{{{{{{}zzzz{{{{{{{{{{{{{{{zzzzzzzz{{}}}}}}}{{}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~{{{{{{{{zzzzzzzzzzzyyyyyyyyyzzzyyyyyyyyy{{{{{zzzzzzzzzzzzzz{{}}{{{{{{{{{zzzz{{zzzzzzzz{{{{{{{{{zzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzzzzz{zzzzzzzzzzzzz{{zzzzzzz{zzzzzz{{{}}}}}}}}}}}}{{{{{{{{{}}}z}~~~}}}}}{{{{}}}}}}}}}}}}}}}~~}}}}}}}{}}}{{zz}}}}}}}}{{{{{{{{{{z{{{{{{{zzzzzzzzzzzzzzz~}}}}{{zzzzzzzz{{{{{{zzzzzz}}}}{{{{zzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{zyyzz{{{{zzzzzzzzzzzyyz{{{zz{{{zzz{{{~~~~~~~~~~~~{{{{{{}}{{{{{{{{{{{{{{{z{{{{{}}}}}{{{{{{{zzyyzzzyyzz{{{{{{{{{zzz{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyzzzz{{zzzyy{{{zzzzyyyyyyyyyyyyyyyyyyyyy{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}{{{{{{{{{{zzzzzzzzzzyyzzyyyyyzzzzzzzzzzzzz{{{{}{{{{{{{{{{{{{{zzzzzz{zzz}}{{{{{~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}~~}}}}}~~~~~~~}}}}~~~~}}}{{{{{{{{{{zzzzz{{}}}}{{{{{{{{zzzzzzzz{}}~}}}}}}}}{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzzzzzzzzzyzzyyyyzzzzzyyyyyyyyy{{{{{{zzzzzzzzzzzzz{{}}}{{{{{{{{zz{{{{{zzzzzzz{{{{{{{{zzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}~~~~}~~~~~~~~~~~{{}}{{{{{{{zzzzzzzzzz{{{{{{{{zz{{{{zz{{{zzzzzz{{zzzzzz{{}}}}}~}}}}}}}{{{{{{{{{{zzzz~~~~~}}}{{{{}}}}}}}}}}}}}}~~~}}}}}{{{{{{{{~~}}}{{}}}}}{{{{{{{{zz{{{{zzzzyyyyyyyzzzzzzz}}{{{{zzzzz{{{{{{{{zzzzzz{{}}}{{{{{zzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzyy{{{{{{zzzzz{{{{zzzzzzzzzzzzyzz{{{{z{{{{zz{{{~~~}}{{~~~~{{{{{{{}z{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{zzyzzzyyyy{{{{{{{zzzzzz{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{zzzzy{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyzyyyyyyyzzzz{{{}}}}}{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{}}}}}}{{{{{{{{{yyzzyyzzzzyyzzyyyyy{zzzzzzzzzzzzzz{{}{{{{{{{{{{{{{{zzzzzz{{z}}}}}{{~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}~~~~~}}}~~~}}}}~~~~~~}}}}}~~~~}}}{{}{{{{{{{{z{{{{}}}}{{{{{{{{{zzzz{zz{{{}~}}}}}}}}{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zzzzzzzzzzzzzyyyzzzzyyyyyyyyyyyy{{{{{{zz{zzzzzzzzz{}}}}}{{{{{{{{{{{{{{zzzzzz{{{{{{{zzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}~~}}}~~~~~~~~~~{{{}{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzz{{zzzzz}{{}~~~~~}}}zz}{{{{{{{{{{{zzz}}}~~~}}}}{{{}}}}}}}}}}}}}~~~~~}}}}{{{{{{{{~}}}}{{{}}}}{{{{{{{{{z{{zzzzzzyyyyyyyyzzzzz}}}{{{zzzzz{{{{{{{{zzzzz{{{{}}}}{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzyy{{{{{{zzzzz{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{~~~}}{{{{zz{{{{{{{zz{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{zzzyzzyyyyy{{{{zzzzzzzzzz{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzyyy{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{zzzzzzzzyyyyyzzzzzz{{}}}}}}{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{}}}}}}{{{zzz{{{yyzzyyyzzzzzzyyyyz{{zzzzzzzzzzzzzz{{}{{{{{{{{{{{{zzzzzz{{{{}}}}}}{{~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}~~~~~}}}~~~}}}}~~~~~~}}}}}~}}}}}}}}}{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{~~}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyzzzzyyyyyyyyyyyyy{{{{{z{{{zzzzzzzz{}}}}}}{{{{{{{{{{{{zzz{z{{{{{{{{{zzzzzzzzz{zzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}~~~~~~~}}}~{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{zzzzz}}{~~~~~~}}}zzz{{{{{{{{{{{{zz}}~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~}{{{{{{{{{{{}}}}}{{{}}{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyzzzz{{{zzyzz{{{{{{{{{zzzzz{{{{{}{{{{{{zzzzzzzyyz{{{zz{{{{{{{{{{{{zzzzzzzzzyyyzzzzzzzzzzz{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{~~~~~{{{{{{zz{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{~}}}{{{{{{{zzyyyyyyyzz{{{zzzzzzzzzzzzyyy{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{yzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzyyzzzzzzz{{{}}}}y{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{}}}}z{zzzzz{zyyzzyyzzzzzzzyyyyz{{zzzzzzzzzzzzz{{{{}{{{{{{{{zzzzzzzzz{{{{}}}}}}{{~~}}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}}}~~}}}}}}}}}{{{{{{{{{{{{~~}~}}}{{{{{{{{{{{{{{{{{{~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyz{{{{{{{{{zzzzzzz}}}}}}}{{{{{{{{{zzz{{{{{{{{{{{{{{zzzzzzz{{{zzzzz~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{}}}}}~~~}}}zzz{{{{{{{{{{{{{z}}~~~~}}}}}}}}}}}~}}}}}~~}~~~~~~{{{{{{{{{{{{{{}{{{{{}}{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyzyzz{{{zzyyy{{{{{{{{{{zzz{{{{{{{{{{{{{zzzzyyyyzz{{{zzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{~~~~~{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~{{{{{{{{{zzyyyyyyyzz{{{{zzzzzzzzzzzzyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzz{{{yyyyyyy{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{}{{{zzzzzzzzzyyyyyyzzzzzzzzyyyzz{zzzzzzzzzzz{{{{{{}{{{{{zz{zzzzzzzz{{{{{{}}}}}}}}}}}}}}}~~~}}~~~~~}}}}~}}}}}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}~~~}}}}}}}}}}}{{{{{{{{{{~~~~~}}}{{{{{{{{{{{{{{{{{~~~}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{zzzzzz{zzzzzzzzzzzzzzzyyyyyyyyyyzz{{{{{{{{{{z{{zzzz}}}}}}}{{{{{{{{zzzz{{{{{{{{{{{{{{{zz{{{{{{zzzzzz~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{z{{{{}}{}}~~~~zzzzz{{{{{{{{{{{{{{{{~~}}}}}}}}}}}~~~~}~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyzz{{{zyyyy{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzyyyzzz{zzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{{~~~~~{{{{zzzz{{{{{{{{{{{{{}{{{{{{{{{{{{{{}}~~}}{{{{{{zzzzyyyyyyyz{{{{{zzzzzzzzzzzyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyy{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{}{{{zzzzzzzzzyyyyyyyyzzzzzzyyy{{{zz{{{{zz{{{{{{{{{}{{{{{zz{{{zzzzzzz{{{{{{}}}}}}}}~~}~~~~~~}}~~~~~~}~~~}}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}~~~}}}}}}}}}}}}{{{{{{{{{{{{~~}}}}{{{{{{{{{{{{{{{}}~~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{zz{{zzzz{{zzzzzzzzzzzzzyyyyyyyyyyyzzz{{{{{{{{{{z{{{zzzz}}}}}}}{{{{{{zzzzz{{{zz{{{{{{{{{{{{{{{{{{{zzzzzz{{~{}~~~~~~~~~~~~}}~~~~~~~~}}~~}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz~~}}z{{{{{{{{{z{{{{{{{{{{~~}}}}}}}~~}~~~~}}~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyzzz{{zzzyyzzzz{{{{{{{{{{{{{{{{{{{{z{{{zzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{}}}~~~{{{{{zzz{{{{{{{{{{{{{}}{{{{{{{{{{{{{}}}}}}}}{{{{zzzzzyyyyyyzzz{{{{{zzzzzzzzzzyyyyzzyyzzyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyy{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{zzzzzzzzyyyyyyyyzzzzzzyyy{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{}}}}}}}}~~}~~~~~~}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{}}~~~}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{zzzzzzzzzz{{{{{zzzzzzzzzzzyyyyyyyyyyzz{{{{{{{{{zzzzzzzzz}}}}}}}}}}}{{{{zzzz{z{zz{{{{{{{{{{{{{{{{{{{zzzzzz{{{{}~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{~~}}{{{{{{{{yzz{{{{{{{{{{{{{{}}z~~~~~~~~}}}}~~~~~~~~~}}}}}}{{{{{{zz{{{{{{{{{{{{}}}{{{{{{{{{zzzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{{}}{{{{{zz{{{zzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{{{{{{{{}{{{{{{{{{{zzzz}}{{{{{{{{{{}}}{{{{{{}}{{{{}}}}}}}}{{{{zzzzzyyyyzzzzyyy{{{zzzzzzzzzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyy{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{zzzzzzzzyyzyyyyyyzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}{{{{{{{}}~}}}}}}{{{{{{{{{{{{{{}}~~~}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{zzzzz{zzz{{{{{{zzzzzzzzzzzzyyyyyyyyyzzz{{{{{{{zzzzzzzzzz}}}}}}}}}}{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{zzzzyy{{{{}~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}{{{{{{{}}}{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{zzzyyz{{{{{zz{{{{{{{zzz~~~~~~~~}}}~~~~~~~~~~~}}}{{{{{{{{zz{{zz{{{{{{{}}}}}}{{{{{{{zzzzzzzzzyyyyyyzzyyyzzzzzzzzzzzzzz{{{{{{{{{{}}{{{{{zz{zzzzzzzzz{{zzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzz{{{{{{{{{{{{{{{{{{{zzzz}}}{}}}{{{{}}}}}}}}}}}}}{{}}}}}}}}}{{{{zzzzzzyyyyzzyyyyyy{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyy{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{yyzzzzzzzzzzyyzyyzzzzzzzzzzzz{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{}}~}}}}}}{{{{{{{{{{{{{}}}~~~}}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}{z{{{{{zz{{{{{{{{zzzzzzzzzzzzyyyyyyzzzzzzz{{{{{zzzzzzzzzzzzz}}}}}}{{{{{{zzzzzzzzzz{{{}}}}{{{{}{{{{{{zzzyy{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~}}~~}}}}}}}}}}}}{{{{}}}}}{{{{{{{{}}}}}}{{{{{{}}{{{{{{{{{{{{{{{{{{zz{{{{zzzzzzzyyyyyy{zzz{{{{{{{{z}}}~~~~~~~}}~~~~~~~~~~~}}}{{{{{{{{z{{{zz{{{}}{{{{{}}}}{{{{{{zzzzzzzzzyyyyyyzzyyzzzzzzzzzz{{zzzzzyyzz{{{{{{{{{{zzzzzzzzzzzzz{{{zzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzz{{{{{}{{{{{{{}}}{{zzzzz{{{}}}{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzyzzzzyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{zyyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{}}}}~}}~~}}}{{{{{{{{{{{{}}}~~~~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{}}{{zz{{{{{zz{{{{{{{{{zzzzzzzzzzzyyyyyzzzzyzzz{{{{{{{{{{{{zzzzzz}}{{}}{{{{z{{{zzzzzzzz{{{}}}}{{{{}}}{{{{zzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~}}}}}~~}}}~~}}}}}}}}{{}}}}}}}}{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zz{{{{{zzzzzzzyyyyy{{{{{{{{{z{{{}}}~~~}}}~}}}~}~~~~~~}}}}}{{{{{yyzzz{zzz{{}}}z{{{}}}}}{{{{{{zzzzzzzzzzyyyyyzzzzzzzzzzzzz{{{zzzzzyyzzz{{{{{{{{{zzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{yyzzzz{{{{}}{{{{{}}}}{{zzzzzz{{}}}}{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{zzzzzz{{{zzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{zzzz{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}}}{}}}}~~~~}}}}{{{{{zz{{{{{}}}~~~~~}}}}}{{{{{{~~}~~~~~~~~~~~~~~~}}{{{}}{{{{{{{{{{z{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyzyyyzzzz{{{{{{{{{{{zzzz{}{{{{}zz{zzzzzzzzzz{{{{{}}}}}}}{{{}}{{{{zzzzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}}}~~~}}}~~}~~}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}}{{}{{{{{{{{zzz{{{{{{zzzzzzzzyzyy{{{{{{{{zzz{{{{{~~}}}}}}}}}}}}~~~~}}}}}{{{zzyyzz{{{zz{{}{{z{{}}}}}}{{{{{{zzzzzzzzzzzyyyzzzzzzzzyyzzzzzzzzzzzyyyyzz{{{{{{{{{zzzz{zzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzz{yyz{zz{{}}}}{{{{{}}{{{{zzzzz{{{{}}}{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzyyyyzzzzzzzzz{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{zzzzzz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyzzzz{{{{{{{zzzzzzzzzzzzzzzzzz{{z{zzzz{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{zzz{z{{{{{{{}~~~~~~~~~~~~~~~~~}}~~}}~~~}}}}}}}}}}}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}}}}}}~~~~}}}}}{{{{zz{{{{}}}~~~~}}}}}}}{{{{{{{{}}~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyzzyyzzzzzzz{{{{{{{{{zzzz{{{{{{{zzzzzzzzzzzz{{{{{}}}}}}}}}{{{}{{{{zzzzzzzzz}}~~~~~~~~{{~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zz{{{{zzzzzzzzzzzzzzz{{{{{{{zzz{{{{{{{}}}}}}}}}}}}}~~~}}}}{{{{zzzzzz{{{{{{{z{{}}}}}}}}}}}}{{{{z{{zzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzyyyyy{{{{{{{{{zzzzz{{{{zzzzz{{{{{{{{zzzzzz{zzzzzzzzzzzzzzz{{zzzzzzzz{{{zzzzzzzzzzzzzz{{{{{{}}{{{{{}}}}{{{{zzzzz{{{{}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzzzyyyyyyyyyzzzz{{{{{{zzzzzzzzzzzzzzzzzyy{{{{zz{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{}{{zzzzz{{{{{}}{{{{~~~~~~~~~~~~~~~~~}}~~}}}~}}}}}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}~~~~~}}}}}{{{{{{z{{}}}}~~~~}}}}}}}}{{}{{{{{}}}~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyzzyyzzyyyz{{{{{{{{{{{zzz}}}{{{{zzzzzzzzzzzz{{{{{}}}}}}}}}}}}{{{{{zzzzzz{{zzzz{{{{{{{{{~~~~~~~~~~}}}}}}}}~}}~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{z{{{zzz{zzzzzzzzzzzzz{{{{{zzz{{{{{{{{}}}}}}}}}}}}}~~~}}}}{{zzzzzzz{{{{{{{{zz{}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyyyy{{{{{{{{{zzzzz{{{{{{zzzz{{{{{{{{{zzzz{{{zzyyyzzzzzzzz{{{{{zzzzzzz{{yyzzzzzzzzzzzzz{{{{{{{{{{{{}{{{{{{zzzzzzz{{{}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{zz{{{{yzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{zzzz{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyzzzzzzzzyyyyyyyzzzzz{{{{{zzzzzzzzzzzzzzzzzzyy{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{}}{zzzzz{{{{{}}{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~{{}}}}}{{{{z{{}}}}~~~~}}~}}}}}}}}}{{{{{}}~~~~~~~~~}}{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{yyy{{zzzzzyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{}}}{{{{{zzzzzzzzzzz{{{z~}}}}}}}}}}}}{{{{{{{{{{{{{{zzz{{{{{{{}}}}~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}~~~}}}}}}}}}{{{{{{{{}}}}}}}~~}}}}}}}}}}}}}{{{{z{{{{{{{zz{{{zzzzzzzzzzzzzz{{{zzz{{{{{{{{{{{{}}}}}}}}~~~}}}}{{zzzzzzzz{{{{{{{zzzzz}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyy{{{{{{{{zzzzzzz{{{{{{zzzz{{{{{{{{zzzz{{{zzyyzzzzzzz{{{{{{{zzzzzyyyyyyyyzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzyyyy}}}}}}}}}}}}}}}~~}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{yyzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{zzzzz{{zzzzzzyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{}}{{zzz{{{{{{}}{{{}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}}~~~~~}{{{{}}}{{{{{{}}}}~~~~~~~~~}}}~}}}}{{}}{{{~~~~~~~~}}}}}{{{{zzzz{{{{{{{{zz{{{{{{{{zzzyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{zz~~~~}}}}}}}}}{{{{{{{{{{{{{{zzz~~~{{{{}}}~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{}}}~~~~~~~}~}}}}}}}}}}{{{{{zz{{{{{{{z{{{zzzzzzzzzzzzzz{{{zz{{{{{{{{{{{{{}}{{}}{~~~~}}}{{{zzzzzzzzz{{{{zzzzzzzz}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzyz{zzzzzzzzyyyyyzz{{{{{zzzzzzzzzzz{{{{{zz{{{{{{{zzzzz{{zzzzzzzzzzzz{{{{{{{{zzzzzyyyyyyyyzyzzzzzzzz{{{{{{{{{{{{{{}{{{{zzzzzzzyyyy}}{{}}}}}}}}}~~~~~}}}}}{{{{{{{{{{{{{{{{zzz{zzzzzzzzz{{{{{yyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{}{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}{{{}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~}~~}}~~~~~}}{{{{}{{{{{{{}}}}~~~~~~~~~~~~~}}}}}}}}{{{{~~~~~~~~}}}}{{{{zzz{{{{{{{{{zzz{{{{{{{{zyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz~~~~~}}}}}}}{{{{{{{{{{{{{{{{{zz~~~{{{{}}}~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{}~~~~~~~~~~~~~~}}}}}}}{{{{{zz{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~}}{{{{zzzzzzzzz{{{yzzyyzzz}}}~~~}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzyy{{{{{{zzzzyyzzzz{{{{{{zzzzzzzzzzzzz{{zz{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{z{{zzzzzyyyyyyyyyyyyyzzzzzz{{{z{{{{{{{}}}{{{{{zzzzzzzyyzzz{{{}}}}}}~~~~~~~}}}}}{{{{{{{{{{{{{{{{zz{{zzzzzzzzz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{}}{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}{{{}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~{{}}{{{{{{{{{}}~~~~~~~~~~~~~~}}}}}}}}}{{{{~~~~~~~}}}}{{{{zzzz{{{{{{{{zzz{{{{{z{{zyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{z{{zzzzzzz{{}}}}}}}}}}}{{{{{{{{{{{{{{{{{{z~~~{{{{}}}}~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{}~~~~~~~~~~~~~~}}}}}}}}{{{{{z{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{}{{{{{{{{{{{{~~}}}{{{{zzzzzzzzz{yyzzyyyzzz}}}~~~~}}{{{{z{zz{{zz{zzzzzzz{zzzzzzzyy{z{{{{zzzzzzzzzzz{{{{{{zzzzzzzzzzzzz{zz{{{{{{{{{{{{zzzzzzzzzzzz{{{{{zzzzzzzzzzzzyyzyyyyyyyyzzzz{{zzzz{{{}}}}}}}{{{{{zzzzzzzzyyzzzzz}}}}}}~~~~~~~}}}}}{{}}}{{{{{{{{{{{{{{{zzz{{{zzz{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{zz{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzy{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz}}}}{{{{{{{{{}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}~~~}}~~~~~~~~~~~~~~~~~~}}~~}}}}{{{{{{{{{~~~~~~~~~~~~~~~~}}}}}}}}}}{{{~~~~~~zz}{{{{{{zzzzz{{{{{{{zzyyyy{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}{{{{{{{{{{{{{{{{{zzzzzzz{{}}}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{{{{}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{}}{{}}}{{{{{{{}{{{{{{}}{{{{{zzzzzzz{{yyzzyyyyyz}}}~~~}}}{{{zzzz{{{z{{zzzzzzz{zzzzzyyyy{{z{{{zzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzyyyyyyy{{{{{{{z{{{{{}}}}}}}{{{{{{zzzzzzzyyzzzz}}}}}}}~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyzzyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz}}}}}}{{{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}}}~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{~~zzzz{{{zzzzzzzzzz{{{{{{zzyyyy{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}}{{{{{{{{{{{{{{{{zzzzzz}}}~~~~~}}}}}}}{{{}}}}{{{{{}{{{{{{{{{{{{{{{}{{{{{~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{zzzz{z{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{}}{{{{{{{{{{{{zzzzzzzzzzzzzyyyyzz{}~~z{{{{{{{zzyyzz{{{{zzzzzzzzzzzzzyyyy{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzyyyyyy{{{{{{{{{{{{{{{}}}}}{{{{{{{zzzzzzzzzzzzz}}}}}}}}~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{zzzzzzzzzzzzzzzzzzzzzyyzyyzzzzyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz}}}}}}{{}}{}}}}}}}}}}~~~{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{zzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}}}}{{{{}{{{{{{{{{{zzzzzz}}}~~~~~~~}}}}{{{{{}}}}}{{}}{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{}}}{}}}}}}}}}}{{{}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyz{y~~zzz{{{{{zzyyzz{{{{{{zzyyyyzzyyyyyyyyy{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{}}}{{{{{{{zzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzyyyyyyyz{{{{{{{{zz{{{{{{{{{{{{{{yyyzzzzzzzzzzzz}}}}}}}~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyy{{z{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz}}}}}}}}{{}}}}}}}~~}}}~~~~{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{zzzzzzzzzzzzzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}}}}{}}}}}{{{{{{{{{{zzzz{}}~~~~~~~}}}}{{{{}}}}}}}{}}{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{zz{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyzzzzzz{{zyyyyz{{{{{zzzyyyyzzzyyyyyyyy{{{{{zzzzzzzzz{zzzzzzzz{{{zzz{{{{{{{{{{{{}}}{{{{{{zzzzzzz{{{z{{{{{{{zzzzzzzzzzzzzyyyyyyyyyz{{{{{{{yzz{{{{{{{{{{{{{zzzyyyyyzzzzz{{}}}}}}}}~~~~}~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{yyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzzzzz{{{}}}{{{{{{{{{{{{{{{{zz{{{{zzzzzzzzz}}~}}}}}}}}}}}}~~~~~~~~~~{{{{{{{{{{{{{}{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzz{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}}}}}}}}}}{{{{{{{{{{{z{{}}~~~~~~~~}}}}}}{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyzzyzzzzzzyyyy{{{{{zzzzyyyyyzzzyyyyyyyzz{{{{{{{zzzz{{{zzzzzz{{{zzzz{{{{{{{{{{{{}}}}{{{{{zzzzzzz{{{{zzz{{{{{zzzzzzzzzzzyyyyyyyyyyy{{{{{zzyyyy{{{{{{{{{{{{zzzzzyyyzyyyy{{}}}}}}}~~~~~~~~{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{zzzzzzzzz}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{z{zzzzz{}~~}}}}}}}}}}}}~~~~~~~~~{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzz{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}}}}}}}}}}{{}{}{{{{{{{{}}}}~zz{{~~}}}}}}{{}}}}}}}}}}}{{{{{{{{{{zz{{{zz{zz{{{{{~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{{}}}{{{{{{{{{{{{{{{{{}{}}}}}}}}~}~~~}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyzyyyyyzzzyyyy{{{{{zyyyyyyyyzzzyyyyyyyyzz{{{{{{{{zz{{{{zzzzzz{zzzzzz{{{{{{{{{{{{}}}{{{{{zzzzzzzz{{{zz{{{{{{z{{{zzzzzzzyyyyyyyyyyyy{z{{zzyyyy{{{{{{{{yyy{zzzzzzyyyyyy{{{}}}}}~~~~~~~~~{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{zzzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{zzzzzzzzzz}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zz{{{~~~}}}}}}}}}}}}}~~~~~~~{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{}~~~}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}}}}}}}}{{}}}}}{{{{{{{}}}zzzz{{~~~}}}}}}}~~~}}}}}}}}}{{{{{{{{{zzzzzzzzzz{{{{{~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~}}}}}}~~~~~~}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyzzyyyyyy{{zzyyyyyyyyyzzzyyyyyyyyyyy{{{{{{{zzz{{{zzzzzzzzzzzzz{{{{{{{{{{{{}}}}{{{{zzzzzzzz{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyzzzzzyyyy{{{{{{{{yyyyyzzzzzyyyyyyyy{{{~~}~~~~~~~~~{{{{{{}}{{{{{{{{}}}}}}{{{{{{{{{{{{{{{z{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{zzzzzzz}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}~~~}}}}}}}}}}}}}}~~}}}}{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zzzzzzzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}}}}}}}{{{{{}}}}{{{{{{}}{{zzzzz~~}}}}}}}}~~~~~~~}}}}}{{{{{{zzzzzzzzzzz{{{{{{}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}~~~~~~~~~~~~~~~~~}}}}}}{{{{}}}}}}}{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~}}}~~~~~}}}}}}{{{{{{yyzz{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyy{zzzyyyyyyyyyzzzyyyyyyyyyyyy{{{{{{zz{{{zzzzzzzzzzzzzz{{{{{{{{{{{z}}{{{{{{zzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyzzzzzzyy{{{{{{{yyyyyyyzzzzzyyyyyyyyz{{~~~~~~~~~zzz{{{{{{}}}}{{}}{{}}}}}}{{{}}}}{{{zzz{{z{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{zzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{zzzzzz}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}~~~}}}}}~~~~~}}}}~~}}}}{{{{{{{{{{}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}~}}}}zz{{{{}}}}}{{{{zz{{{{{zzz~~~}}}}}}}~~~~~~~}}}}{{{{{{{{zzzzzzzzzz{{}{{{}}}}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{}}}}}}}}}{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}{{{{yyyy{{{{zzzzzzzzzzzzzzzzzyyyyzzyyyyyyyy{{zyyyyyyyyyyzzyyyyyyyyyyzzyy{{{{{zz{{zzzzzzzzzzzzzzz{{{{{{zz{{{zz{{{{{{{{zz{zzzzz{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyzzzzzzyy{{{{{{{yyyyyyyyzzzyyyyyyyyyz}}~~~~~~~~~zzyy{{{{{}}}}{}}}}}}}}}}}}}}}}}}{{{zzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{zzzzz{{{{{{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzyyyyyyzzyyyyyyyyzz{{{{{{zz{zz{{{zzzzzz{{}~~~~~}}}}}}}}}{{{{{{}}{{{{{{{{{{{{}}~~~~~}}~~~~~~~~}}}}}}}}}{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~}}~~~}}zzz{{{{}{{}{{{{{zz{{{{{{{{~~~}}}}}}}}~~~~~~~}}}}{{{{{{{{zzzzzzz{{{}}{{{{}}}}}}}~~~~~~~~~~~~~~}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}}}}}{{{{{{zz{zz{{~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}}}}{{zzyzzz{{{zzzzzzzzzz{zzzzzyzzyyzzzzzyyyyy{{yyyyyyyyyyyyyyyyyyyyyyyzzyy{{{{{z{{{zzzzzzzzzzzzzzyy{{{{{zzz{zzz{{y{{{{{{{{zzzzzz{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyzzzzzyyyy{{{zzzyyyyyyyzzzyyzyyzyyy}}}~~~~~zzzzzyy{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzz{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{zz{zz{{{{{{{{{z{{{zzz{{{{zzzzzzzz{{z{zzzzzzzzyyyyzzzzzyyyyyyyzzzz{{zzzzzzzzzzzzzzzz{}~~~~~~}}}}}}}}}}{}{}}}{}}{{{{{{{{{}}}~~~~}}}~~~~~~~~}}~}}}}}}{{{{}{{{}}~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}~}}}~~~~~~}}}}~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{zzzzzzzyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~}}~~~}}zzz}}{{{{{{{{{{{zz{{{{{{{{{{~~}}}}}}~~~~~~~~~}}}}}}{{{{{zzzzzz{{{{}}{{{{}}{}}}}~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}}}}}}}{{{zzzzzzzz~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}zzzzzzzzz{{zzzzzzzzz{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{zzzzzzzzzzzzzzyy{{{{zzzzzzzyyyyzz{{{{{{zzzz{{{{{zzzzz{{{zzzzzzzzzzzzzyyyyyyyyzzzzzzzyyyy{{zzzzzyyyyyyzzzzzzzzzzyy}}}z~~~zzzzzyyyyy}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzzzzzzzzzzz{{{zz{{{{{{{{{{{{{{{{{zz{{{{{{zzzzzz{{{{{{zzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzz{{~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{}}~~~~~~}}~~~~~~~~~~~}}}}}}{{{}}{{{~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{zzzzzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~{}}~~{}zzzz}}{{{{{{{{{{zzz{{zzzzz{{{~}}}}}}~~~~~~~~~}}}}}}{{{{{{zzzzzz{{{{}}{{{{}{{{}}}~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}}}}}}}}}}{{zzzzzzz{{~~~~~~~~~~~~~~~~~~~}}}~}}}}~~~}}zzzzzzz{{{{{zzzzzzzz{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{zzzzzzzzzzzzzzzy{zzzzzzzzzyyyyyzz{{{{{{{{z{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzyyy{zzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzyyzzzzzyyyyy}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{zzzzzzzzzz{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{zzz{{{{{{{zzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}{}}{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzy{{{{{{{{{zzzz}}{{{{{{{{{zzzzzzzzzzz{{~}}}~~~~~~~~~~~~}}}}}}{{{{{zzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{}{{zzzzzz{{{{~~~~~~~~~~~~~~~~~{{{{~~~~~~~{{zzzzzzzz{{{{{{{{{zzzz{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{}}{{{{{{{zzzzzzzyyzzyyyyzz{{zzzzzzyyyyyzz{{{{{{{{z{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzyy{{zzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzyyzzzzzyyyzz}}}}}}}}}~}}}}}}}}}~}}}{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{zzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyy{{{{{{{{zz}}{{{{{{{{{{zzzzzzzzzz{{~~~}~~~~~~~~~~~~~~}}}}}{{{{zz{{{zzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{zzzzz{{{{~~~~~~~~~~~~~~{{{{{{{~}}~~~~{{zzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}{{{{z{{zzzzzzzyyzyyyyyyz{{{zzzzzzzzzzzzzz{{zz{zzzz{{{{{{zzzzzzzzzzzzzzzzzzzzyyyzyzzzzzzzzzzyzz{zzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzz}}}}}}}}}~~}{}}}}}~~~}{{{z{{{{{z{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzy{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{zzzzzzzzzyyyyzzzzzzz{{{{zzzzzzz{{{{{{~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyy{{{{{{{{{{{}{{{{{{{{{{{zzzzzzzzzz}}~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}{{{{{{{{zzzz{{{{~~~~~~~~~~~~~~{{{}}}}}}}}~~zz{zzzzzzzz{{{{{{{{{{zzzzzzzzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzz}{{{{zzz{{zzzzzzzyyyyyyzzzz{{zzzzzzzzzzzzzzzzzzz{zzzz{{{{zzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzyyyzyyyy}}}}}}}}}}}}~{{{{{{~~~{{{{zzz{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyy{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyzzzzzzzz{{{{{{{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{}}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyy{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz}}}~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}{{{{{zzzz{{}}}~~~~~~~~~~~~~{{{}}}}}zzz~~zzzzzzzzzzz{{{{{{{{{{zzzzzzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{zzzzzzzzzzzzzzyyyzzzzzzz{{zzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{{{{zzzzzzyyyzzzyyy}}{{{{{}}}}}}{{{{{{~~}}{{{zzzzz{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{zzzzzz{{{{{{{{{{{{}{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyzzz{{zzz{{{{{{{{{{{{{{{{{{{~~~~~~~~}}}}}}}}~~~~~}}}}{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{zz}~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zz{{}}}~~~~~~~~~~~}}}{{{}}}}zzzzzzzzzzzzzzzzz}{{{{{{{{{zzzzzzzzz{{yyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzz{zz{{{{zzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzz{{{{{zzzzzzz{{{{{zzzzyyzzzzzzz{{{{{{{{}}}}}{{{{{{~~~}}{{{zzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{yy{{zzyzzz{{{{{{{{{}}}}{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~}~~}}~~~~~~~}}}}}}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}{{}}}{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}}}{{{{{{{{zzzzzzzz{{}}~~~~~~~~~~~~~~~{~}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}~~~~}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{zz{{}}}~~~~~~~~~~~}}}{{{{}{{zzzzzzzzzzzzzzzzz}}{}}}{{{zzzzzzz{{{{{yyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzz{{{{{{{z{{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzzz{{{{{z{{zzzzzzz{{zzzzz{{{{{{{zzzzz{{{{{zzzzyyzzzzzzz{{{{{{{{}}}}}{{{{{{~~}{{{{{{zz{{{zzzyyyyyyyyyyyzyyyyyzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{yy{{yyyzz{{{{{{{}}}}}}}}}}}}}{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{}{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{}}}}{{{{{{{zzzzzzzzz{}}~~~~~~~}}~zz{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{}~~~~~~~~~~}}}}{{{{{{{zzzzzzzzzzzzzzzz}}}}}}{{{{zzzzzzz{{{yyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{zzzzzz{{zzzz{{zzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzz{{zzzzz{{{{{{{zzzzzz{{zzzzzzzzzzzzzz{{{{{{{{{{}}}{{{{{{{}}{{{{{{zz{{{zzyyyyyyyyyyyzzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{yyyyyzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{~~~~~~~~}}}}}~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}~~~}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{}}}}}}}{{{{{{{{{{{{zz{{{{}~~~~{~~{{}zzzz{{{~~}}}~}}}}{{{{{{{{{{{{{{}}}{}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{}}}~~~~~~~~~~}}}}{{{{{{{zz{zzzzzzzzzzzzz{}}}}}{{{{{{zzzzz{zzzzzzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{zzzzzzzzzzzzzzzzz{{z{{{{{{{zzzzzzz{{zzzzz{{{{{{{{{{{zzzz{{{zzz{{{{{zzzzzzzzzzzzzzz{{{{{{{{{zzzzzzz{{z{{zz{{{{{{zzzzzzz{zzzzzzzzzzzzzzz{{}{{{{{{{{}{{{{{{{z}}{z{{{zzz{{{{yyyyyyyyyyzzzzzzzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzzzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{z{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{~~~~}}}~~}}}}}~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}~~~~~~~~~}~~~~~}{{}}}}}}}{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzzzzz{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{~~~~{{{{{{{{{{{{{{~}}~~}}}}}}}{{{{{{{{{{}}}}{}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{}}}}~~~~~~~}}}}}{{{{{{{{{{{{{{zzzzzzzz{{{}}}}}{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzz{{zzzzzzzzzzzzzzzzz{{{{{{{{zz{zzzzzz{{{z{{z{{{{{{{{zz{{zzzzz{{{z{{{{{{zzzzzzzzzzz{zzz{{{{{{{{{{zzzz{{{{{{{z{{{{{{zzzzyyyzzzzzzzzzzzzzzzzz{{}}{{{{{{{{{{{{{{{zz}{{zyyzzz{{{{yyyyyyyyyyzzzzzzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{y{{{{{{{{{}}}}}}}}}}}}~}}}}}}}{}}}}}}}{{}{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}~z}}~~~{{{{~}}}}}}{{{{{zzzzzzzyyyzzzzzzyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzzzzzzzzz{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{~{{{{{{{{{{{{{{}}~~~~~~}}}zz}}}}}{{{{{{{}}}}{}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{}}}}~~~~~~~}}}}{{{{{{{{{{{{{{{{zzzzzzzz{}}}}}}}{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzz{zzz{{zzzz{z{{{{{{{{{{{{{{{zzz{{zz{{{{{{{{}}}{{{{{zzzzzzzzzzzzz{{{{{{zzzzzzzzzz{{{z{{{{{{{{{{{{{{z{{{{{{{zz{{{{zzzzyyzyzzzzzzzzzzzzzz{{{{{{{{}{}}}}{{{{{{{{{zzz{yyyzzzzzzzyzyyyyyyyzzzzzzzzzzyyyyyyzzzzzyyyyyyyyyyyzzzzyyyyyyyyzzzzzzzzzzzyyyyyyyyyzzzzyyzzzzzzzzzyyyyyyyyyyyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{}}}~}}}}}}}~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zz}}}}{{{{~~~}}}}}{{{{zzzzzzzzyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{}~~~~~~{}zz}}}}}{{{{{{}}}}}}}}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}}{{{}}}}}~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzyyzzzzzzzz{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{}}{{{zzzzzzzzzzzzzzz{{{{{{{zzzzzzzzz{{{{{{}{{{{{{{{{{{zzz{{{{{zzz{{{zzzzzzzyyyzzzzzzzzzz{{{{{{{{{}}}}}}}}{{{{{{{{zzzzyyyzzzzzzyyzzyyyyyzzzzzzzzzzzzyyyyyzzzzyyyyyyyyyyyzzzzzyyyyyzzzzzzzzzzzzzzzzyyyyyzzzzzzyyzzzzzzzzzyyzyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{}}}}~~}}}}}~~}}}}}}}}}}}}}~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zz}}}}}{{~~~~}}}}}zzzzzzzzzzzzzyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{}{}}~~~{{{zz}}}{}{{{{}}}}}}}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}}}}~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzyyyzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{z{{{{{{{{{{{}{{{{{{{{{{{z{{{{{{{{{{}}}{{zzzzzzzz{{{zzzz{{{{{{{{{zzz{zz{{{{{{}}}}}{{{{{{{{zzz{{{{{{{{{{{zzzzzzzyyyzz{{{zzzz{{{{{{{{}}}}}}}}}}{{{{{{{{{zzzyyyzzzzzyyzzzyyyyyyzzzzzzzzzzzyyyyyzzzyyyyyyyyyyyyzzzzzzyyyzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyzzzzzzzzzyzzzyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}}}}~}~~~~~~~~~}}}}}}}}}~}}~~~~}}}}{}{{{{{{{{{{{{{{z{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{z}}}}}{{{~~~~~~}}zzzzzzzzzzzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyzzzzzzzzzzzzzzz{{{{~~~~}}}}{{{{{{{{{{{{{{{{{{{{{zz{zzzzz{{{{}}{}}~~{{{{zzzzz{{{{{{{}}}}}}}}}}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{}}}{{zzzzzzz{{{{zzzz{{{{{{{{{{{{{zz{{{{{{}}}}}}{{}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{zz{{{{{{{{{}}}}}}}}{{{{{{{{{{{{zzyyyyzzzzzzzzzzyyyyyzzzz{{{zzzzyyyyyyzzyyyyyyyyyyyyzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzyyzzz}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}~~~~~~~~~}}}}}}{{zz{{{{{{{{zz{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{z{{}}{{{{~~~~~~~zzzzzzzzzzzzzzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzyyyyzzzzzzzzzzzzzzz{z{~~~~}}}}}{{{{{{{{{{{}{{{{{{{{zzzzzzzzz{{{}}}}}}~~{zzzzzzzz{{zz{{{}}{{}}}}}~~~~~~~}}}}}}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{zzz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}{{}}}}}{{{{{{{{{{{{{{{{{{{{{}zzzzzzz{{{{{{{{{zz{yyzz{{{{{{{{z{{{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}}}}}}}{}}{{{{{{z{zzzyyyyzzzzzzzzzzyyyyzzzzz{{{zzzyyyyyyzzzzyyyyyzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzyyzzzzzzzyyyyzzzzzzzzzzyyyyyyyzzzyyyyyzzzzzzzzzz}}}}}}}}}}~~~~~~~~~~~~~}~~}}}}}~~~~~~~~}}}}}{{{{zzz{{{z{{zz{{{{{{}{{}}}}}}}{{{{{{{}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{~~~~~~zzyzzzzzzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzz{{~~}}}}}}}{{{{{{{{{}}{{{{{zzzzzzzzzzz{{{}}}}}}~~zzzzzzzzzzzzz{{zz}{{}}}~~~~~~~~~}}}}}}}}~~~~~}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{~}}}}}}{{{zzzz{{{{{{{z{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}zzzzz{{{{{{{{{{{{{yyzyyy{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{zz{{zzzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}}}}}}}}}{{{{{{zzzzzzzyyyzzzzzzzzyyyyyyzzzzz{{{{zzyyyyyzzyzzzyyyyzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyyzzzzzzzzyyyzzzzzzzzzyyyyyyyyzzzyyzzzzzzzzzzzzzz}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}{{{{{{zzz{{{zz{zzz{{{{{}}}}}}}}}}}{{{}{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{~~~~~{{{yyyyzzzyyzzzzyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{~~~~}}}}}}}}}}}{{}}}}}{{{{zzzzzzzzzzz{{~~~}}}zzzzzzzzzzzzzzzzzzzzz{{{}~~~~~~~~~~~~~~~}}}}~~~~}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{~~~}}}}{{{zz{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyzyyyyyyyzzzzzzzzzzzzzzzzzzz{{{{{{{{{{}}}}}}}}}}}{{{}{{{{}}}{{{{{{{{{}}zzzzz{{{{{{{{{{{{zzyyyyy{{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}}}}}}}}}}}}}}}{{}{{zzzzzzyyyyyyyyzzzzzyyyyyyzzzzz{{{{zzzyyyyyyyzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzyyyzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}{{{{{zz{{{{{zz{{{{{{}}}}}~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{z{{{{{zyyyzzzyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{zzzzz{{{{z~~~~~}}}}}}}}}}}}}}}}}}}}}{{zz{{{{zzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{}}{{{{{~~~}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyzzzyyyyyyyyzzzzzzzz{{zzzzz{{{{{{{{{{}}}}}}}}}}}}}}}{{}}{{}}}}{{{{{{{{zzzzzzzz{{{{{{{{{{{zzzzyyy{{{{{{{{{{{}}}}}}~~}}}}}}{{}{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}~~}}}}}}}}zzzzzzzzyyyyyyyyyyzzyyyyyyyy{{{{{{{zzyyyyyyyyzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzz{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zz{{{{zzz{{{{{}}}}}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~{}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{}}}}}}{{{{z{{zzzzyyyzyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzz{{zzzzzzzzzzzzzzz{{{z{{{{{{{}}~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}~~}~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{~~~~}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyzyyyyyyzzzz{{zzzzz{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzz{{{{{{{{{{{{{zzzzzzyy{{{}{{{{{{{{}~~}}~~}}}}}{{}}{{{{{{{zzzzzyyyzz{zzzzzz{{{{{{{{}}}~~~}}~~~~~~}}}}}}}}zzzzzzzzzyyyyyyyyyyzyyyyyyyyy{{{{yyyzyyyyyyyyyyzzzzzyyzzzzzz{zzzzzzzzzzzzzzz{{{zzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzz{{{}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{zz{{{{{{}}}}}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}{{}{{{{{{~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{}}}}}}{{{yy{{zzzzyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyzzzzyyzzzzzzzz{{zzzzzzzzzzzzzz{{{{{{{{{{{{}}~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{zzzzzzzz~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{~~}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzz{{{{{{{{{{{zzzzzzzzyy{{{}}}{{{{{{~~~}}~~~}}}{{{{{{{{{{{{{{zzyyyyz{{{{zzzzzz{{{{{{}}}~~~~~~~~~~~}}}}}}}}}zzzzzyyyyyyyyyyyyyyyyzzyyzzy{{{zzyyyyyyyyyyyyzzzzzzzzzzzz{{{zzzzzzzzzzzz{{{{{{zzzzz{{{{{zzzzzzzzzzzzzzzzzzzzz{{{zzzzzyyyzzzzyyzzzzzzzzzzzzzz{{zzzzz{{{{{~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}}}}~~}}}}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~{{}}~~}}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}{{{{}}}}}zzzyyyyyyyzyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzyyzzzzzzzzz{zzzzzzzzzzzzzz{{{{{{{{{{{}}}~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{zzzzzzzzz~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{zzz{zzzzzzzzzzzzzyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~}}}}}}}}}}}}}}}}{{{{{{{{{zzz{{{{{{{{{{{{zzzzzzzzzzzz{}}}{{{{{}~~~}}}}}}}{{{{{{{{{{{{{{{yyyyyy{{{{{{zz{{z{{{{{{{}}~~~~~~~~~~~~~}}}}}}zzzzzzyyyyyyyyyyyyyyyzzzzzzz{{{{zzyyyyyyyyyyyyyzzzzzzzzzzz{{{{zzzzzzzzzzzzzzz{zzzzzz{{{{{zzzzzzzzzzzzzzzzzzzz{{{{zzzzzyyyyzzzzzzzzzzzzzzzzzzz{{{z{z{{{{{{~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{}}}}}}~}}}}}}}~~}}}}}}}}~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~{{{}}~~~~}}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{}}}}}zzzzyyyyyyyyyyyyyyyzzz{zzzzz{{{{zzzzzzzyyyyyyyyyzzzzzzzzz{{{{{{zzzzzz{{z{zz{{{{{}}{{{{}}}~~~~~~~~~~}}~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{zzz~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{}}}}}{{}}{{{{{{{{{{zzzz{{zzzzzzzzzzzzzzyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{}}{{{{}}}~~}}}}}}}{{{{{{{{{{{{{{yyyyyyy{{{{{{zz{{{{{{{{{}}}}}~~~~~~~~~~~}}}}zzzzzzzzzyyyyyyyyyyyyyzzzzzzzz{{zzzzyyyyyyyzzyyyyzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{zzzzzyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{}}}}~~~~~~}}}}~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~}}~~~~~~~~}}}}~~{{{{}}{~~~}}}}}}{{}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{}}{zzzzzyyyyyyyyyyyyyyyyz{{{zzz{{{{zzzzzzzzyyyyyyyyyzzzz{{{{{{{{{{{{{{zzz{{{{{z{{{{{{}}{{{{}}~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{}{}}{{{{{{{{{{{{{{{{{{{z{zzz{{{{zz~~~~}}}~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{}{{{{{{{{{}}}}}{{{{{{{{{{{zzz{{zzzzzzzzzzzzzzyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{}{{{{}}}~~}}}}{{{{{{{{{{{{{zzz{yyyyyy{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~}}}zzzzzzzzzyyyyyyyyyyyyyzzzzzzzz{{zzzzzzyyyyyzzzzzyyzzyzzz{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{z{zzzzzyyyyyzzz{{{zzzzzzzzzzz{{{{{{{{{{{{{{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{z{{~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}~~~~}}}}~~~~~~~~~~}}}}{{{{{{{{{~~~~}}}}}}{{}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{zzzzzzzyyyyyyyyyyyyyy{{{{{{{{{{{zzzzzzzyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{}}{{{{~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{zzzzzzz{{{{{~~}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{}}}}}{{{{{}}{{{{{zz{{{{{zzzzzzzzzzzzzyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{~~~~~}}}{{{{{{{{{{{{zzzzzyyyyyy{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~}}}{{{zzzzzzzzzyyzzyyyyyyyyzzzzzzzzz{{zzzzzzzzzyzzzzzzyyyyyzzz{{{{{{{{zzzzz{{zzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{zzzzzzzzzzzzzyyyyyzzzz{{{zzzzzzzzzzzzz{{{{{{{{{{{{}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zzzzzzzz~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}~~~}}}}}~~~~~~~~~~}}}}}}}{{{{{{{~~~}}}}}}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{zzzzzzzzyyyyyyyyyyyy{{{{{{{{{{{{zzzzzzzzyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~}}}~~~~~~~~}}{{{{{{{{{}}}}}{{}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzz{{{{{~~}}}}}}}~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}{{{{}}}}}}}{{{}}}{{{{{{{{{{{{{zzzzzzzzzzzzyyyyzzzzzzzz{{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~}}{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{}~~~~}{{}}{{{{{{{{{{{{zzzzzyyyyy{{{}}{{{{{{{{{{{{{~}~~~~~~~~~~~~}}{{{{{{zzzzzzzzzzzzyyyyyyyzzzzzzzzzz{zzzzzzzzzzzzzzzzyyyyyzz{{{{{{{{{{zzzz{{zzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{zzzzzzzzzzzzyyyyyzzzz{{zzzzzzzzzzzzzzz{{{{{}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{zzzzzzzz}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}~~}}}}}}}~~~~~~~~~}}}}}}}}{{{{{{}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}{}}}}{{{{{{zzzzzzzyyyyyyyyyyyy{{{{{{{{{{{{{zzzzzzzzyyyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~}}}}~~~~zzzz{{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzz{zz{{{{{{{}}}}}}}}~~~~~}}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{}}}}{{{{{{{{{{{{{z{{zzzzzzzzzyyyyzzzzzzzz{{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~}}{{{{{}}}}}}zzz{{{{{{{{{{{{{}}{{{{{{zzzzzzzzzzzz{{{}}}}}~}}}{{}}}{{{{{{{{{{{zzzzzyyyyyy}}}{{{{{{{{{{{{{~~~~~~~~~~}~~~~~{{{{{{{{zzzzzzzzzzzyzyyyyzzzz{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyy{{{{{{{{{{zzzzz{{z{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{zzzzzzz{zzzzzzzzzzzzz{{zzzzzzzzzzzzzzz{{{{{}}}}}}}~~~}}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}}{{zzzzzzz{{}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}{{{{{{}}}}}}}}}}}}}}{{{{~~{~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}}}{{}{{}}}{{{{{{{zzzzzzzyyzzyzyyyyy{{{{{{{{{{{zzzzzzzzzzyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~}}}}}}~~{z{zz{{{{{{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{zz{{{{{{{{{{{zz}}}}}~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyzzzzzz{{{{{{{}{{}{}{{{{{{{{}}}}}}}}~~~~~~~~~}}}{{{{{{}}}{{}}zz{{{{}}}}{{}}}}}}}{{{{zzzzzzzzzzzz}}}}}}}~}}}}}}}}}}}{{{{{{{{{zzzzzyyyyyyy}}{{{{{{{{{{{{{~~~~~~~~~}}~~~}}{{{{{{{{zzzzzzzzzzzzzyyyzzzz{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyy{{{{{{{{{{z{zzzzz{{{{{{{{{{{{{{{{{{{{{{{zzz{{zz{{{{{zz{{zz{{{zzzzzzzzzzzzzzzzzzzzzzz{zz{{{{{{{{}}}}}}~~~~~}}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}{{{{zzzzzzz{{}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}{{{{{{{{{}}}}}}}}}}}{{{{{{{{{}}~{~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}}{{{{{{{{{{{{{{{zzzzzzzyyzzzzzyyyyzz{{{{{{{{zzzzzzzzyyzzyyyzzzzz{{{{{{{{{{}}{{{{{{{{{{{{{{}}}{{}}}}}~~~~~~~}}}}}}}}{{{{{zz{{{{{{{{{}}}}}}}}}{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzyzz}}}}}~~~~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}}}~~}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{}}}}}}}{{{{{{{{}}}}}}}~~~~~~~~~~}}}}}{{{{{{{{{{}}{{{{{}}}}}}}}}}}}}{{{{zzzzzzzzzzz}}}}}}}~~~}}}}}}}}}}}{{{{{{{zzzzzzzyyyzyy}}{{{{{{{{{{{{{~~~~~~~~~}}}~}}}}}}{{{{zzzzzzzzzzzzzzzyyzzzzz{{{zzyzzzzzzz{zzzzzzzzzzyyyyyyy{{{{{{{{{{{{{zzzz{{{{{}}}}{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{}}}}}}}}~~~~~}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}{{{{zzzzzzzz{}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}{{{{{{{{{}}}{{}}}}}}}{{{{{{{{}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}{}}{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyz{{{{{{{{{zzzzzzzzyyyzzzzzzzzz{{{{z{{{}}}}}}}{{{{{{{{{{{}}}}}}}}}~~~~~~~~}}}}}}}}{{{{{z{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyy}yy}~~{{yyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}{{{{{{z{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{}}}}}}}}}}}}{{}}}}}}}}~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{{zzzzzzzzzz{{}}}}}}}}}}}}}}}}}}}}}}{{zz{zzzzzzzzzzzzzy}zy{{{{}{{}{{}}~~~~~~~~~}}}}}}}}}{{{{{{zzzzzzzzzzzzzyyyyyzzz{{{zzyzzzzzz{{zzzzzzzzzzyyzyyyy{{{{{{{{{{{{{zzz{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zzzyyzzzzz{z{{zzzzzzzzzz{{{{{{{{{}}}}}}}}~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzz{{}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}{{{{{}}{}}}{{{{{}}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzyzzzzzzzzzzzzzz{{{{zz{{{zzzzzzzzzyzzzzzzzzz{{{{zzz{}}}}}}}}}}}{{{{{{{{}}}}}}}}}~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyzz~~{yyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}~~~}}}}}}}}}~~~~~~~~~~~}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}}}}}}}{{{{{zzzzz{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{}}}}}}~~~}}}}}}}}{{zzzzzzzzzz{zz}}}}}}}}}~~}~~}}}}}}}zzzzzzzzzzzzzzzzzzzzzyy{}}}}}}}}}~~~~~~~~~~~}}}}}}}}{{{{{zzyzzzzzzyyzzyyyyyyzz{{{{yyyyyzzzyy{yzzzzzzzzzzzzzyyy}}}}{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyzzzzz{{{{{{zzzzzzz{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzz{{~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}{{{{{}}}}}}}zz{{}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzyyzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzz{{{{{{zzz{}}}}}}}}}}}{}}{{{{}}}}}}}}}~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{~~~}}}}}{{}}{}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyzzz{{yyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}}}}}}}}{{{{{zzzzzz{{{z{{zzzzzzzzzzzzzzz{z{{{{{{}~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}{{}{{{{{{{{}}}~~}~~~~~}}}}}}{{{{{z{{{{{{{{{z}}{{{}}~~~~}~~~}}}}}zzzzzzzzzzzzzzzzzzzzyyy{{}}}}{}}{{~~~~~~~~~~~~}}}}}}}}{{{{zzyyyzzyyyyyyyyyyyyzzyyy{yyyyyyzyyyyyyzzzzzzzzzzzzzzz}}}}{{{{{{{{{{{{{{}}}}}}}}{{}}{}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyzzzz{{{{{{zzzz{z{{{{{{{{}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~{{{{{{{{{{{zzzzz{{}}~~~~~~}~~~~~~~~~~~~~~~~~~}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}{{}}}}}{{zz{y}}}zzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzyyyzzzzzzzzzzzzzzzzyzzzzzz{{{zzzzzzzzzz{{{{{{{{{{{{{}}~~}}}}}}}}}}{{}{}}}}~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{}}}{}}~~~}}}}}{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyzz{{{yyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~}}}}}}}}{{{{{{{zzzz{{{z{{{zzzzzzzzzzz{{{{{{{{{{}}}~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{}}}~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~}}}}zzzzzzzzzzzzzzzzzzzzyyy{{{{{{{{{{{{~{}~~~~~~~~~}}}}}}}}{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{{}{{{{{{{{{{{{{{{{{{{{{zzzzzzyyzzzzz{{{{{zzzzz{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~~~~~~{{{{{{{{{{{zzzz{{{}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}{}}}{{{yyyyy}}}zzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzyyyyzzzzzzzzzzzzzzzyyyyzz{{z{{{zzzzzzzzzzz{{{{{{{{{{{{}}~~}}}}}{{}}}}}}}}}}~~~~~~~~}}}~~}}}}}}}{{z{{{{{{{}}}}}}}}}~~}}}}}{}}}}}}}}{{{}}{{{{{{{{{{{{{{{{{zzzzzzzzyyzzzz{zzyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}}}}}}{{{{{{{zz{{{{zz{{{zzzzzzzz{{{{{{{{{{{{}}}}}~~}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{}}~~~~~~~~~~~{}{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~}}}}{zzzzzzzzzzzzzzzzzzzzzzy{{{{{{{{{{{{{{}~~~~~~~~}}}}}}}}}{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}{{{{{zzzzzzyyyzzzz{{{{{{{z{{{{{{}}}{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}~~~~~}{{{{{{{{{{{{zzzz{{}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}{{}}}{{{yyyyyzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~}}~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}~}}}}}}}}}}}}}}}}}}}}}}}zz}}}}{{{{{{{zzyyyzzzzzzzzzzzzzzyyyyyyyz{{{{{{{zzzzzz{{z{{{{{{{{{{{{}}~~~~}}{{{{{{}}}}}}}}~~~~~}{{}}}~~}}}}}}{{zz{{{{{{{{}}}}}}~~~~~}}}{}}}}}}}}}}{{}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{zzz{{zzz{{{{{{{{{{{{{{{{{{}}}}}~~}}~}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~}{{{{{{zzzz{{zzzzzzzzzzzzzzyyy{{{{{{{{{{{{{~~~~~~~~}}}}}}}}}{{{{zzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}{}{{{{}}}}}{{{{zzzzzyyyzz{{{{{{{{{{zz{{{}}}}}}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}~~}}}{{{{{{{{{{{{{{{{{{{}}}}~~~~~~}~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~{z{{}}}{{{{{{zyyyzzzzzzzzzzzzzzzyyyyyyyz{{{{{zzzzz{z{{{{{{{{{{{{{}}}}}~~~~}}{{{{{{{}}}}}}}~~~}}}{{{{}}~}}}}}}{{{z{{{{{{{{}}}}}}}~~~~~{{{{}}}}}}}}}{{{}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zzzz{{{zz{{{{{{{{{{{{{{{{{{}}}}}~~}~~}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~{{{{{{{zzz{z{{{{{{zzzzzzzzyyyy{{{{{{{{{{{{{~~~~~~~~}}}}}{{{{{z{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{}{{{{{{{}~~}}}}}}}}}}}}}}}}}}}}}}}}}{}}}}}}}{{{{{zzzzzzyzz{{{{{{{{{zzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{}}~}}~~~~~}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}{{{{{{z{{zzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~{{{}}}yy{{{{yyyzzzzzzzzzzzzzzzzyyyyyy{{{{{{{zzzz{{{{{{{{{{{{{{{{}}}}}}~~}}}}}}{{{{{{~~~~~}}}~~}{{{{{}}}}}}}}{{{{{{{{}}}}}}}}}}}~~~~~{{{{}}}}}}}}}}{{{{{{{{{{{{{}}{{{{{{{zzzzzzzzzzzzzzzyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{~~~~~~~~~~~{{{{{{{{{}}}{{{{{{{{{{{{{{{~~~~~~~~~{{{{{{{zzz{{z{{{{{zzzzzzzzzzyy{{{}{{{{{{{{{~~~~~~}}}}}}}{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{}}{{{{{{}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzz{{{{{{{{zzzz{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{}}{{{{{{{{{}}}~~}~}}}}}}}~~~~~~~~~~~~~~}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}{{{{{{{zzzzz{{zzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}}}}}}}}~~~~}}{{{{}yyyyy{{yyyyzzzzzzzzzzzzzzzzzzzzyz{{{{{{{{zz{{{{{{{{{{{{{{{{{}}}{{}~~}}}}{{{{{{{{~~~~~}}~~~{{{{{{{}}}}}}{{{{{{{{}}}}}}}~~}~~~~~~}}}}~~~~}}}}}}}{{}}}{{{{{{{{}}{{{{{{zzzzzzzzzzzzzzzzzyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}}}}}}}{{~~~~~~~~}~}}{}{{{{{{}}}}{{}}}{{}}}{{{{{~~~~~~~~{{{{{{{{z{{{{{{{zzzzzzzzzzzzzzz{}}{{{{{{{{{{{~~~}}}}}}}}}{{zzzzzzzzzzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{}}}}}}}}}{{{{}}}~~~}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzz{{{{{{{zz{{{{{{{}}}}}}}~~~~~~}~~~~~~~~~~~~~~~}}~~~~~~}}}}~}}}}}}}}}}{{}}}}}}}}{{{{{{{{}}}}~~~}}}}}}}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}~}}}}}}~~~~~~~~~~~~~~}}}}{{{{{{{{{{zzzz{zzzzzzzzzzyyyy{{{~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~{{}{{{{yyyyyyzzyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{z{{zz{{{{{{{{{{{{{}}}}}}}{{{zzz}}}{{{{{{{}}~~~~~~~{{{{{{{{{}}}}}}{{{{{{{}}}}}}}}~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}}{{{{{}}}}{{{{{zz{{zzzzzzzzzzzzzyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}~~~}}}}~~~~}}}}}}}}}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{zz{{{{{{{{{{{{{}{{{{{{{{}}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~}}}}}}~~~~~~~~}}}}}}}}{{{{}}}}}}}}}}}}}}}{{{{{~~~~~}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz}}}}}{{{{{{{~~~}}}}}}}}}{{zzzzzzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{}}}}}}}}}}}}}}}~~~~~~~}}}}~~}}}}}}}}}}}}}}}}}}{{}}{{{zzzzzzzzzzz{{{{{{{{{zz{{{{{{{{{}}}}~~~~~~~}~~~~~~~~~~~~~~}}}~~~~~}}}~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~}{{{{{{{{{{{{zzzz{zzzzzzzzzyyyyy{{~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~{{{{}{{{{yyyyyyzzyyyyzzzzzzzyzzzzzzzzzzzzzzzzzzzz{{zz{{{{{{{{{{{{}}}}}}}}}{{{zzz}}{{{{{{{{{{{~~~~}{{{{{{{{{}{{{}}{{{{{{}}}}}}}}}~~~~~~~~}}}}}}~~~}}}}}}}}}}}}}}}}{{{}}}}{{{{{{{{{zzz{{{zzzzzzzzzyyz~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}~}}}}}~~~}}}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{zz{{{{{{{{{{{{}}}}{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}~~~~~~~~~~~}}}}}}}}}{}}}}}}}}}}}}}}}}}{{{{{{~~}~}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{zzz}}}}{{{{{{{~~~~}}}}}}}}{{zzzzzzzzzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{}}}}}}}}}}}}}}}}}~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzz{{{{}}}{{{zz{{{{{{{{{}}{{{~~~~~~~}}~~~~~~~~~~~}}}}}~~~~}}}~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{}{{~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}{{{{{{{z{{{{{{zzz{zzzzzzzzzyyyzzz{{~~~~}}}~~~}}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{z{{yzz{{yyyyyyyyzzyyyyyyzzzzyyzzzzzzyzzzzzzzzzzzzz{{zzzzz{{{{}}{{}}}}}}}}}}}{{zz}}}{{{{{{{{{{{~~~}}{{{{{{{{{{{{{{{{}}{{}}}}}}}~~~~~~~~~~~}}}}}~~~}}}}}}}}}}}}}}}}}{{{}}}}{{{{{{{{{zz{{{{zzzzzzzzzyyz{{~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~~~~~}}}}}}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zz{{{{{{{{{}}}}}}}{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{zz}}}}}}}{{{{{~~~~~}}}}}}}{{zzzzzzzzzzzyyyyyyyyzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{}}}~~~~~}}}}}}}}}~~}}}~~~}}}~~~~~~~}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzz{{{{}}}{{{{{{{{{{{{{{}}{{~~~~~~~~}}~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{}}}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}{{{{{zzzz{{{{{{{{{{zzzzzzzzyyyzzzz{{~~~}}~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}}}}}}}{{{zzyyzz{{yyyyyyyyzzzzzzyyyyyyyyyyzzzzyyyzzzzzzzzzzz{{{zzz{{{{}}}}}}}}}}}}}}}}}zzz}}}{{{{{{{{{{{~~~}}{{{{{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~}}}~~~~}}}}}}}}}{{{}}}{}}{{}}}}}}}{{{{{{{{{{{{{zzzzzzzzyyyz{{{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}~~~~~~~~~}}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{}}}}}}}{{}}}~~~~~~}}}}}}}{{zzzzzzzzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{}}~~~~}}}}}}}}}~~}}}}~~~~~~~~~~~~~~}}}}}}}~~}{{{{{{{{{zzzzzzz{{{{{{zzzz{{{{{{{{{{}{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{}}}}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}{{{{zzzzzzz{{{{{{{{{{{{zzzzzzyyzzz{{{~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}{{zzyyy{{yyyyyyyyyzzzzzzyyyyyyyyyyzzzzyyyzzzzzzzzzz{{{{{{{{{{{{}}}}}}}}}}}}}}}}zzzz}}}{{{{{{{{{{{~}}{{{{{zzz{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~{{{{}}}{{{{{}}}}}}}{{{{{{{{{{{{{{zzzzzzzyyyzzz~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{}}}}}}{{{}}}~~~~~~}}}}}}{{{{{zzzzzzzzzyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{}}~~~~~}}}}}}}}~~}}}}~~~~~~~~~~~~~~~}}}}}~~~}{{{{{{{{{{zzzzz{{{{{{{{zzz{{{{{}}{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}{{{{{}}}}}}~~}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzzzz{{{{{{{{{{{{{{{zzzyyyzzz{{}~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{yyyyyyyyyyyyyyyyyzyzzzyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{{zz}}}{{{{{{}{{{~}}}{{{{zzzz{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~{{{{{}{{{{{{}}}}}}{{{{{{{{{{{{{{{z{zzzzzyyyyy~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{}{{}}}}}}}}}}{{}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}~~~~~~~}}}}~}}}}}}}}}{{{{{}}{{}}}{{{}}}{{{{{{{{{{zz{zzzzz{{{{{}}}}}}}}}}}}~~}~~}}}}}}}}{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{~~~~~~~}{{{}}}}}}}}~~~~~~~~~~~~~}}}}}}}}~~}}{}{{{{{{{zzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{}}~~~~}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}~~}}}}}}}}}}}}}}}}}}}}}}}~~}}}~~~}~~~~~~~~~~~~~~~}}}{{{{{zzzzzz{{{{{{{{{{{{{{{zzzzzzzzzz{}}~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}{{yzzyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyzzzzzzzzzzzzzzzz{{{{{z{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}~~~}}}{{{zzzzzz{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~{{zz{{{{{{{~~}}}}}{{{{{{{{{{{{{{{{{{{zzzyyyyy~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}~~~~~~~~~~}}~~~~~~~}}}~~~~~~}}}}}{{{{}}}}}}}}}{{}}}{{{{{{{{{{{{{zzzzzz{{{}}}}}}}}}}}}}~~}}~}}}}}{{z{{zzzzzzzzzzzyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyzz{zz{{{{{{{{{{{{~~~~~~~~{{{{}}}}}}}~~}}~~}}~~}~~}}}}}}}}}}}}{}}{{{{{{{zzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{}}~~~~}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}~~~~~~~~{{{~~~}}{{{{{{zzzzzz{{{{{{{{{{{{{zzzzzzzzzzzz{}}~~~~~~~~~~~~~~~~~~~~~~~~~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}{{yyzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzzzzzzzzzzzzzz{{{{{zz{{{{{{{}}}}}}}}}}~~~{{{{{{{{{{{{{{}}}}}}~~}}{{{{{zzzzz{{}}{z}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{z{{{{{{{{~~}}}}}{}}{{{{{{{{{{{{{{{zzzzzzzzzz~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{}}}}}}}}}}}{}{{{{{{{{{{{{{{zzzzzz{{{}}}}}}}}}~~}~~~}}~}}}}}{{zzzzzzzzzzzzzzyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{{{{{{~~{{{{{{{{}}}}}}}}}}}}}{}}}}~}}}}}}}}}}}}{}}{{{{{{{{z{{{{{{{{{{{{{{{{{{}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}{}}}}~~~}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}~~~~~~~{{{{~~~~~{{{{{{{{{zzz{{}}}}{{{{{{zzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~z~z~~}~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{zzz{{{{{{{}}}}}}}}{~~~{{{{{zz}}{{{{}}}}}}}}}}{{{{{{{zzzzzz}}}zz}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}{{zz{{{{{{{}}}}~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzz~~{}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}}}}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzz{{{}}}}}}}}}~~~~~~~~~~~~}}{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{}{{}}{{{{{{{{}}}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~{{{{~~~~~{{{{{{{{{{{z{{{}}}{{{{{{zzzzzzzzzzzz{{~~~}~~~~~}}~~~~~zzzzzzz}}zz{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}~~{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{zzzzz{{{{{}}{{{{{{{}}~}}}{{~~{{zzz{zz}}{{{}}}}}}}}}}}}{{{{{{zzzzz{{{zzz}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}{{zzz{{zz{}}}}~~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{}}}{{{{{}{{{{zzzzzzz{{{}}}}}}}}}~~~~~~~~~~~~{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{}}{}}}{{{}}}}}}}}{{{{{{}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}{}{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~{{{{{~~~{{{{{{{{{{{{{{{{{z}}{{{{{zzzzzzzzzzzz{{{~~~}}}{~~}{{~}~~zzzzzzz}}zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{zzz{{{{{{}}{{{{{{{}}~~~}{zz~{{zzzzz}}}}}}}}}}}}}}}{}}}{{{{{{zzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzz}}}}~~}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}{{{}}{{{}}}}{{{{{}}{{{zzzzzzzz{{{~}}}~~}~~~~~~~~~~~~{{{zzzzzzzzzzzzzzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}}}}}}}~~}}}}}}}}}}}{{{{{{}}}}}{{{{{{}}}}}{{{}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{~{{{{{{{{{{{{{{{{{zz}}}{{{{zzzzzzzzzzzz{{{{{{}}{zz{{{{}}{{zzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{zzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{z{zzzz{{{{{{{{{{{{{{}~~~~~zzzzzzzzzzzz{}}}}}~~}}{}}}{{{}{{{{{{{zzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~{{~}~}}~~~~~}}}}{{{{{{yyyy~}~~~}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~}}}}}}}~~}}{{{{{{{{{}}}{{{{}}}{{{{zzzzzzz{{~~}}~~~~~~~~~~~~~~~}{{{{z{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{}}}}}}}}}}~}}}}}}}}}}}}{{{{{{}}{{{{{{{{{~}}{{{{{{}}}}}}}}}}}}}{{z{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}~~~~~~~{{{{}}}{{{{{{{{{{{{{{{zzzz{{{{{zz}}}{{{zzzzzzzzzzz{{{{{{{{}}{zzz{{{{{{{zzzzzzzz{zzzz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}}{{{zzzzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzzzzzzz{{{{{{{{{{{{{{~~~zzzzzzzzzzzzz{{~}}}}~~}}{{}z{{{{{{{{{{{{{zz{{{{{{~~~~~~~~~~~~~}~~~~~zz{{}}}}}~~~~~~{{{{{{{{yyyyyy~~~}}}}}}}}}}}}}{{{{{{{{{{z{{zzzzzzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~}}}~}}}~~~{{{{{{{{{}}}}{{}}}}{{{{{{{{{zz{{}~~~~~~~~~}~~~~~~~~}}}{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{}}}}~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{~~{{{{{{{{}}}}}}}}}}}{{zzz{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~}}~~~}}}{{{{}}}{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{zzzzzzzz{{zzz{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{zzz}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}{{zzzzzzzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{zzzz{zzzzz{{{{{{{{{{{{{zzzzzzzz{zzzzzzzz{~~}}}}}}}{{zzzz{{{{{{{{{{{zz{{{{{{{{~~~~~~~~}}}}}~~~}zzz{{{{{{{~~~~~{{{{{{yyyyyyyy~~}}}}}~~~~}}}}}{{{}}{{{{{{{{{zzzzzz{{{{zz{}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~}}~}}}}~~{{{{{{{{{{{}}{{}}{{{{{{{{{{{{{{}}~~~~~~~~}}~~~~~~~}}}}{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{}}}~~~~}~}~~~~~}}}}}}}}}}}{}{}{{{{{{{{{{~~~{{{{{zzz}}}}}}}}}}{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~}}}}}~~}}}{{{{}{{}{{{{{{{{{{{{{{z{{{{{{{{{{{{{{zzyzzz{{{{{zz{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{zzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{zzz{{zzzzzzz{{{{{{{{{{{zzzzzzz{{zzzzzzzz{~~~~~~}}{{{{zzz{{{{{{{{{{zzzzz{{{z{{~~~~~~~~}}}}}}~~}}zzzz{{{{{{~~~~{zzz{{yyyyyyy~~}}}}}~~~~}}}}}}}}}}}{{{{{{{{{{zzz{{{{zzz}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}}~~~}}{{{{{{{{{{{{}{{{{{{{{{{{{{}}}~~~~~}}}}}~~~~~~~}}}{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzz{{{{{}}~~~~~~~}~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzz}}}}}}}}}{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}~~~}}{{{{{{{{{{{zz{{{{{zz{{{zz{{{{{{{{{{zzzzyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{zzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~{{~}{{{zzzzzzzzyyzyyyyzyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{zzz{{zzzzzzz{{{{{{{{{{{zzzzzzz{{{zzzzz{{{~~~~~~{}{{{{yy{{{{{{{{{{zzzzzz{{{zz{y~~~~~~~~~}}}~~~zzzzzzz{{{{~~}}{{zzz{yyyyyyyy~~~}}}~~~~~}}}}}}}}}}}}{{{{zz{{zzz{{{zzzy}}}{{{{{~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{}}}{}{{{{{{{{{{}}}~~~~~}}}}}~~~~~~~~}}{{{{{{{{{{{{{z{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzz{{{{{zy~~~~~~~}~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzz}}~~~}}}{{{{{{{{{{{{{{}}{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~}}~~~~}}{{{{{{{{{{zzzz{{{{zzz{{zzz{{{{{{{{{{zyyyyzz{{{{{{{{{{{}}}}{{{{{{{{{{{{z{{zzzz{{{{{zzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~{{{{{{{{{zzzzzzyyzzzzzzzyyyyyyzzyyyyyyyyyyyzzzz{{{{{{zz{{zzzzzzzz{{{{{{{{{{{{zzz{{{{{{{zzzz{{{~~~~~{{{z{{{yyzzzz{zz{{zzzzzz{{{zzzyyyy~~~~~~}}~~{{{{zzzz{{{{{{{}}}{{zzzzyyyyyyyyz~~~~}}~~~~}}}}}}}}}}}}}{{{{zz{{zzz{{{zzzyy}z{{{~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}~~~~~~~~~~}}}}}}}{{{{{{{}}{{{{{}}}}}}}}{{{{{{}}}}~~~}}}}}}~~~~~~~~~}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzz{{{zzyy~~~~~~~~~~~~~~~~~~}}}}~~}}}}{{{{{{}{{{{{{{{{zzzzzz~~~~}}{{{{{z{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~}}~~~~}}}}{{{{{{{{{zzzzzzzzzzzzzz}}{{{{{{{{{zyyyyz{{{{{{{{{{{}}}}}}{{{{{{zzzzzz{{{zzzzz{{zzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}~~{{{{{{{{{{zzzzzzyzzzzzzzzzyyyyyzzzyyyyyyyzzzzzzz{{{{{zzz{{zzzzzz{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{~~{{{zzzyyzzzzzzzzz{zzzzz{{{{zzyyyyyy~~}}}~~{{{{z{zz{{{}}{y}}}zzzzzzzzyyyyyzzzzz~~~~~~~~}}}}}}}}}}}}}{{{{{{{zzz{{{{zzzyyzzz{{~{{{{~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}~~~~~~~~~~~~}}}}}}}{{{{{{}}}{{{{{}}}}}}}}{{{{{{{{}}~~~}}}}}}}~~~}}~~}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzz{zzyyy~~~~~~~~~~~~~~~~~}}}}~~}}}}{}{{{}}}}{{{{{{{{{zzzzz~~z}{{{{{zzz{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzzz}}}{{{{{{{{zyyzzz{{{{{{{{{{{}}}}}}{{{{{{zzzzzz{{{zzzzzzzzzzzz{}{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}{{{{{{{{{zzzzzzzzzzzzzzzyyzzzzzzyyyyyyyzzzzzzz{{{{zzzz{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{zzzzzyyyyy~~~~}}}~{{{{{{zz{{{}}yyyzzzzzzzzzzzzyyyzzzzz~~~~~~~~~~~~~}}}~~}}}}{{{{{{zzz{{{zzzzzyyyyyyy{{{{{{~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}}{{}}}}}{{{{{{{{{{{{{}}~~~}}}}}}~~~~}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzyy~~~~~~~~~~~~~~~~~}}}}}~}}}}}}{{{}}}}{{{{{{{{{{zzzzzzzz{{{{{zzz{{{{{{{~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}~}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{{{{zzzzzzzz}}{{{{{zz{{}}}}}{{{{{{zzzzzzz{{zzzzzzzzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}}}{{{{{{{{{zzzzzzzzzzzzzzzyyzzzzzzyyyyyyyyzzzzzz{{{{zzzzzzzz{{{{zzzz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{zzzyyyyyyyyy~~~~}}}{{{{{{{{{{{zzzyyyyzzyyzzzzzzzzyzzzzzzz~~~~~~~~~~~~}}~~~~}}}}}{{{{{{{{{{zzzzzyyyyyyyyyyz{{~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{}}}}}}{}}}}}}{{{{{{{{{{{{{{}}~~}}}}~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{}}}}{{{{{{{{{zz{{zzzz{{{{{{{z{{{{{{{{{~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~}}~~~~~~~}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzz{}{{{{{zz{}}}}}}{{{{zzzzzzz{{{{{zz{{zzzzz{{{{}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzyyzzzzyyyyyyyyyzzzz{{{{{{{zzz{zz{{{zzzzzzz{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{zzzzzzzzzyyyyyyyyyy{~~zzz{{{{{{{{{zzzzzyyyzyyyyyyzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{zzzzzyzzzyyyyyyz{{~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{}}}}}}}}}}}}{{{{{{{{{{{{{{{}}~~}}}~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzyyyyzyyyyyyyyyyyyyzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~}}}~~~}}}}}}}{{}}}}}}}}}{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}}}}}}{{{{{{{z{{zzzzzzzzzzzzzzzzzzzzz{{zzzzzzzz{}}{{{{{{{{{}}{{{{{{{zzzzzz{{{{{{z{{zzzzz{{{{{}~~~~~~~~~}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~}}}}{{{}{{{{{{{{{{{zzzz{{{zzzzzzyyyzzzzyyyyyyyyzzzzz{{{{{{{zzz{{{{{{zzzzzzzyzzyy{{{zzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{zzzzzzzzyyyyyyyyy{{{{{zz{{{{{zzzzzzzzzzyyzyyyyyyzzzzzzzzzzzzz{{~~~~~~~~~~~~}}~~}}}}{{{{{{{{{{{{{zzzzzzzzzzzyy}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}{{{{{{}}}}}}}}}}}{{{{{{{{{{}}}}{~~~~~}~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzyzyzzzyyyzzyzzzzzyzzzzzzzzzzzzzz~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}{}}}}}}}}}{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{zzzzzzz{{zzzzzzzzzzzzzzzzzzz{}}{{{{{{{{{{}}}{{{{{{zzzzzzz{zzzzz{{{{{{{{{{{{{~~~~~~~~}}}}~~~}~~~~~~}}~~~~~~~~~~~~~~~~~~~}~~~}}}{{{}}}{{{{{{{{{zzzz{{{{zzzzzyyzzzzzyyyyyyyyzzzz{{{{{{{{{zz{{{{{{zzzzzzzyyzyy{{yyzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{zzzzzzzzzzyyyyyyyyyyy{{zz{{{{yzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzz~~~}~~~~~~~}}}~~}}}}}}{{{{{{{{{{zzzzzzzzzzzzzz}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{}}}}}}}}}{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~}}}}}}}}}~~}}}}}}}{{~~~}}}}}}}{{{{{{{{{{{zz{{{{{{{{{{}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{zzz{{{{{zzzzzzzzzzzzzzzzzz{{}}{{{{{{{{{{{}{{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~}}}}}}~~}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}{{{{zzz{{{{{{{{{zzz{{{{{zzzzzyzzzzzzyyyyyyy{{z{{{{{{{{{{{z{{{{{{{{zzzz{zzyyzz{{yyyzzzz{z{{{}}{{{{{{{{{{{{zzzzzzzzzzzzzzz{zzzzzzzzzzzyyyyyyyyyyyyyyy{{yyyzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzz~~}}~~}}}}}}}}}~}}}}}}{}{{{{{{{zzzzzzzzzzzzzzz}zz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}{{{{~~~}}}}}}}}}{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~}}}}}}~~}}}}}}}}}{{~~~~}}}}}}{{{{{{{{{{{zz{{{{{{{{{{}}{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{zz{{{{{{zzzzzzzzzzzzzzzzzz{{}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{}{{{}}{{~~~~~~~}}}}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}{{{zzzzz{{{{{{{zzzzz{{{{zzzzzzzzzzzzyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{zzzz{{zyyzzzzzzzzzzzzzz{{}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzyyyyyzzzzzzzzzzz{{zzz~{{}}}}}}}}}}}}~}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{}}{{{}}~~~~}}}}}}}{{{{{{{}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{~~~~~~~~~}}~~}}}}}~}}}{{}~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzzzzz{{zzz{}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{}}{{}}}~~~~~~~~}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~{{{{{zzzzz{{{{{zzzzzzzzz{{zzzzzzzzzzyyyyyyyyy{{{z{zz{{{{{{{{{{{{{{{zzzz{zzzyyzzzzzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyyyyyyyyzyyyyyyyyyzyyzzzzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{{}}}}}}}}}~~~}{{{}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{}}~~~}}}}}}}}{{{{{}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}{{~~~~~~~~~~~}}}~}~~~}{{}}~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{}}}}}}{{{{}}}}{{{{zzzzzzzzzzzzz}{{{{{{}}}{}}}~~~~~}}}}}}}}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}{{{{{zzzzzz{{{{{zzzzzzzz{{zzzzzzzzzzyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{zzzzzzzzzyyyyzzzzyyzzzzz{{{{{{{{{}}{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyzyyyyzzyyyyyyzzzzzzzzzzzzyyyyyyyz{{z{{{{{{{{{{{{}}}}}}}}~~~{{{{}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}~~~~}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{}}}}{{}}}}}{{{{{{}}}}{z}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}{{{{{zzz{{zzzz{{zzzzzzzzzzzz{{zzzzzz{{z}}}}}}{{{~~~~~~~~~~}}}~~~~}}{{}}~~~~~~~}}}{{{{{{{{{{}}{{{{{{{{{}}}}}{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{}}}}}{zzzzzzzzz{{zzzz}}{{}{}}}}}}}}~~~~~}}}}}}}}}}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzzzzzzzzyyyyyyyyyzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzyyyyyzyyyzzzzzzzz{{{{{}}{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzyyyyzzzzzzzzzzzzyyyyyyy{{{{{{{{{{{}}{{}}}}}}}}}{{{{{{{zzzz}}z{{{{{zzzzzzzzzzzz{zzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~{{{{{{{}}}}}}{{{}}}{{{{{{{}}{{zz}}}}}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{zzzz{{{}}}}}}}}{}}}~~~~~}}}}~~~~~~}}{{}}~~~~~~~}{{{{{{{{{{{}}}}{{{{{}{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}}{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{zzzzzzz{{{zzzz}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{zzzzzzz{{zzzzzzzzzzzzzzyyyyzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyzzzzzzzzy{{{{{{yyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzyyyyzzzzzzzzzzzzyyyyyyy{{{{{{{{{{{}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzz{zzzzz{{zzzzzz{{{yyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~}{{{{{{{~~}}}}{{}}}}{{{{{{}}}}zz}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{}}}}}}}}}}}~~~~~~}}}}~~~~~~}}}}~~~~~~~~~~{{{{{{{{{{{}}}}{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}{{zzzzzzzz{{{zzz{{}}}}}}}}}}{{~~~~~}}}}}}}}}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{z{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzyyyzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyzzzyzyyyyyyyyyyyzyyzzzzzzzzzzzz{{{zzzzzzzzzzzzzyyyyyyyyzzzyzzzzzyyyyyyzzzzzzzzzzzyyyyyy{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzz{{{{{zzzzz{{{zyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}}}}{{{{{{z~~}}{{{{{}}}}zz{{{{}{zzz}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{}}}}}}}}}}~~~~~~}}}}}}~~~~}}}}~~~~~~~~~~~{{{{{{{{{{{}{}}}{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{~~}}}}}}}}}}}}{{{zzzzzzz{{{{{{{{}}}}}}}}}}{{~~~~~}}}}}}}}}}}}}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zz{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyzzzyyzzyyyyyyyyyyyzzzzz{{{{zzzz{{{{zzzzzzzzzzzzzyyyyyyyzzzyyzzzzyyyyyyyyzzzzzzzzzyyyyyy{{{{{{{{{{}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzz{{{{zz{{{{{{{zz{{{zzyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zz~~~{{{{{{{}}zzz{{{{{zz}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~}}}{{{{{{{{{{{{{}}{{{{}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}~~{}}}}}}}}}{{{{zzzzzzzz{{{{{{{}}{}}}}}}}}}}}~~~~~~{{}}{{}}}}}~~}}~~}}}}}{{~~}}~~~~~~~~~~~{}}{}{{{{{{{{{z{{{{{{{{{{{z{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzz{{{zzzyyyyyyyyyyzzzzyyyzzyyyyyyzzzzzzzzzzz{{{z{{{{{{{{zzzzzzzzzzzzyyyyyyzzyyyyzzzyyyyyyyyyyzyyzzzzyyyyyyzz{{{{{{{{}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzz{{{{zz{{{{{{{zzzzzzyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zz~~~{{{{{{{}}zzz{{{{{{}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~}}~}}}}}}}}}}~~~~~~~}}}{{{{{{{{{{{{{{{{{{{}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{}}}}}}}}}{{{{zzzzzzz{{{{{{{{{{}}}}{{{{{{}}{{{{~~{{}}{{{}}}}~~}}~~~}}}{{{{{}}~~~~~~~~~~{{}{{{{{{{{{{{{{{{{{{{{{{{{z{{{{zzzz{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzz{{zzzyyyyyyyyyyyzzzyyzzzzyyyyyyzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzyyyzzzzyyzzzzzyyyyyyyyyyyyyyyzzzyyyyyzzz}}{{{{}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzz{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyy~~~{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{~~~~{{{{{{{{{{zz}{{{{{}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~}}~~~~~~~}}~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{}}}}{{{{}}}}}}}}}{{}}}zzzz{{{{{zzzzz{{{{{{{{{{{{{}}}}{{{{{{{{{{{{zzz{{{{{{}}}}}{{~~~~~~{{{{{{{{{{{~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{zzzz{{{zzzzzzzzzzzzzzzzz{zz{{{{}}{{{{{{zzzzz{{{zzyyyyyyyyyyyyzzyyzzzzzyyyyzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzyyyyzzyyyyyzzzyyyyyyyyyyyyyyyyzzzyyyyyz{{}}}}{{}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzz{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyzz~~{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{~~}{{{{{{{{{{{}}{{{{{{{{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}~~~~~~~~~~~}~~~~}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}}~~}}}{{{{{{{{{{{{{{{{{}}}}{{{}}}~~~}}{{zzzzzzzz{zzzzzzzz{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{zzz{{{{{{{{{{{{~~~~~~{{{{{{{{{{{~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{zzzzzz{{{{zzzzzzzzzzzzzzz{{z{{{{}}}}{{{{{zzzyy{{{{yyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyzzzzz{{{{{{{{{{{{{{{zzzzyzzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzzzzzyyzz{{{}}}}}}}}}}}}}}~~~}}}}}}}{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}}~}}{{{{{{{{{{{}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{}}}}}}}}~~~~~~~}{{{zzzzzzz{zzzzzzzz{{{{}{{{{{{{{{{{{}}}}{{{{{{{{{{{zz{{{{{{{{{{{{{{~~~~{{{{{{{{{z~~~~~~~}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{zzzzzzzzzzzzzzz{{z{{{{{}{{{z{{zzyyyyy{{yyyyyyyyyyyyyyyyzzzzzzzzzzzyzzzyyzzzzz{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}}}}}}}}}}~~~}}}}}}}{{{{zzzzzzzzz{{{{{{{}{{{{{{{{{{{{zzzzzzzyyyyyyzyyz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}~~}}{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{}{{{}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{}}~}}}}}}~~~~~}}{{{zzzzzzzzzzzzzzzz{{}}}{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{}}}}{{{{{z{{~zz}}{{{{{{{{z~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{zzzzzzzzzzz{zzzz{zzzz{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyzzz{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}}}}}}}}}}}}}~}}~~}}}}{{{{zzzzzzzzz{{{{{{{}}}{{{{{{{{{{zzzzzzzyyyyyyyy{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}}{{{{{}}}}}}}}}}{{{{}}}{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{~~}}}}}}~~~~}}}{{{{{zzzz{{z{{zzzzz{{}}}{{{{{{{{{{}}}}}}}}{{{}}{{{{{{{{}}}}}}{{zzzzyzz}}}}{{{{{zzzz~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{zzzzz{{z{{{zzzzzzzzz{{{zzzzzzzyyyyyzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyz{{}}{{{{{{{{yzzzyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}{}}}}}~~~}}}}}}}~}}}{{{{{zzzzzzzzz{{{{}}}}}{{{{{{{{{{zzzzzzzzyyyyyyy{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~{{{~~~~~~~~{{{{{{{{{{{}}}}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{}}}}}}}}{{{{{{zz{{{{{{{{y}}}z}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}}~~~~~~~~~}}}}~}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{}}}}}}}~~~}}}}}{{{{{{z{{{{z{{{{{{{{}}}}}{{{{{{{}}}}~~}}}}{{{}{{{{{{{{{{}}}}}{{zzzzyyyzz}}}{{{zzzzzz}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{zzz{{{{{{zzz{{zzzzzzzzzzzzzzzyyyyyzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyy{{}}zyy{{{{yyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}}}}~~~}}}}}}}}}}{{{{{{zzzzzzzzzz{{}}}}}}}{{{{{{y{{zzzzzzzzyyyyyyyy{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}zz~~~~~~~~~z{{{{{{{{{{{}}}~~~~~~}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{}}}}}}}}{{{{{{zzzzz{{{{yyyyyzz}{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{}}}}}~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{}}}~~~}}}}}{{{{{{{{{{z{}}}}}}zzzzzzyyyzz}}}{{zzzzzzzz}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{zz{{{zzzzzzzzzzzzzzzzzyzyzzzzyyyyyyyyyyyyyyyyzzzzyyzzzzzzyyyyyyyyyy}zzyy{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{}{}}}{{{}}~~~~~}}}}}}}}}{{{{{{{{zzzzzzzzz{{{}}}}}}{{{{{{yy{zzzzzzzyyyyyyyyz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zz~~~~~~~~zz{{{{{{{{{{{{{~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{}}}}}}}}}{{{{{{zzzzz{zzyyyyyyyyy{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}{}{}~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{}}}}~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{}}}~~~~~}}}{{{{{{{{{zzzz}}}}zzzzzzyyyyyy{}}{{zzzzyzzzz{}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}{{}}}~~~~}}}}}}}}{{{{}{{{{{zzzzzzzz{{}}}}}{{{{{{{{yyyyyzzzzzzyyyyyyzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{z}}~~~~~{{zz{{{{{{{{{{{~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{}}}}}}}}{{{{{{zzzzzzzzzyyyyyyyyy{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{}}}}~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{}}}}~~~~~{{{{{{{{{{zzzzzzzz{{{zzzzzyyyyyy{{}}yyyyyyyzz{{{}z{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{z{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzyzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}{{~}~~~~~~}}}~~}}{{}}}}}{{{zzzzzzz{{{}}}}}{{{{{{{{yyyyyzyyzyyyyyyyyzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~{{{{{{{{{~~~~{{{zzz{{{{{{{{{{~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{}}}{{{{{zz{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{}{{{}}{{{{{{zzzzzzzzzzyyyyyyyyy{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}{{{{{{{}{{}}}}{}{{}~~}~~~~}~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}}}{{{}}~~~~~~~{{{{{{{{{{zzzzzzzzz{{{zzzyyyyyyy{{}yyyyyyyyyy{{yyzzyy{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyzzzyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}~~~~~~~~~~}}~}}{{{}}}}}zzzzzzzz{{{}}}}}}}{{{{{{zzzzzyyzyyyyyyyyyyyzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{~~~~{{zzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{}}}}{{zzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{}}{{{{{{zzzzzzzzzzzzyyyyyyyzzz{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}~~}}~~~~~~~~{{{{{{{{{zzzzzzzzzz{{{zzyyyyyyyzzzyyyyyyyyyyyyyyyyyy{{{{{{{{{{zzz{{{zzzzzzzzzzzz}}{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyzzzzyzyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}}}~~~~~~~~}}}}}}{{{{}}}}zzzzzzzz{{{}}}}}}}}zzz{{zzzzzyyzzyyyyyyyyyyzzzz~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}{{{{{{zz{{{{{{{zzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}zz{{}}}zzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{}}{{z{{zzzzzzzzzzzzzzzyyyyzzz{{{}}{}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}{{}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}{{{{{{{}}}{{{{{{{{}}}}}}}~~}~~~~~~~}~{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyy{{{{}}{{{zzzzzzzzzzzzz{{{{{z}}}}}{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}~~}}}~~~~~~~~~}}}}}}{{{{}{{{{zzzzzzzz{{{}}}}}}}zzzzzzzzzzyzzyyyyyyyyyyyzzzz~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{zzz{{{{{{{zzzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{}zzz{{}}zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~}}}{{{{{{{{{zzzzzzz{{zzzzzzzzzzzzyzzzzzz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}{{}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}{{{{{{}}}}}}}}{{{}}}}}}}}~~~~~~~~~}}}}{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{}}}{zzzzzzzzzzzzzz{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz~~~}}~~~~~~}}~~~}}}}}}{{{{{{{{{{zzzzzzz{{{}}}{}}{{zzzzzzzyyzzyyyyyyyyyyyzzzz~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}{{{{{{{{zzzzz{{{{{{{{{zzz{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzz{{{{{{{{{z{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}{{{}}}}}}}}}{{{}}~~}}}}~~~~~~~~~}}}}}{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzz{}}}}}{{zzzzzzzzzzzz{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{z{{{{zzz{}}}}{{{{zzzzzzzzyyyyyyyyyyyyyzzzzzz~~{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}{{{{{{{{{zzzz{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{zzzzzz{{{{{{{{z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzzzzzz{{zzzzzzzzzzzzzzzzzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{~~~~}}}~~~~~~~~~}}}}}{{zz{{{zz{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyyyzzzzz{}}}}}{{zzzzzzzzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyzzzzzzzzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{z{{{~}}}}{{{z{{zzzzzyyyyyyyyyyyyyzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}{{{{{{{{zzzz{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}zzzzzz{{{{{{{zz{~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}{{{{{{{{{zzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~}}~~}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{~~~~}}}~~~~~~~~~}}}}}zzz{{{{{{{{{zzyyyzzzzyyyyyyyyyyyyyyyyyyyzyyyyyyzz{{}}}}}{zz{{{zzzzzzz{{{{{{{}}}}~~}}~}}}}~~}}}}}}}}}}}}}}{{{{{{{{{z{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz~~~~~~~~~}}~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{~~}}}{{{{{{zzzzyyyyyyyyyyyyyyzzzzz{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zzzz{{{{{{{{{{{{~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzzzzzzzz{{{{{zzzzzzzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}~}}}}}~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}}}}}}}~}}}}}}}}~~~~~}}~~~~~~~~~~~}}}{{zz{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyzz{{}}}}{{zz{{{zzzzzzz{{{{{{{{~~~~~~~~~}}}~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzzzz~}}}~{{yyzz~~~}~~~}}}}}}}}}}{{{{{{{{{{{{}}~}}{{{{{{{zzzyyzyzyyyyyyyyyyzzzzz{{{{{}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~}}{{{{{{{{{zzzzzz}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}{{{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzzzzzzz{{{{{{{zzzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}~~~~~~~}}}~~~~~~~~~~~~~~~}~}}}}}}}}~~~~}}}}}}~}~~~}}~~~~~~~~~~~}}}{{{zz{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzz{{}{{{{{{{zzzzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{zzzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzz~~}}{{{{yyzz{{~~~~~~~}}}}}}}}{{{{{{{{{{zz}}z}}{{{{{{{zzzzzzzzyyyyyyyyyzzzzz{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}{{{{{{zzzzzzz{}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}{{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}~~~~}~}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}~~~~}}}}}}}}~~~~}~~~~~~~~~~{{{{{{{{{{{{{{zzyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzzzzz{{{{{{{{{zzzzzzzz{{{{{}}}{~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{}{{{{{{{{zzzzzz{{{{{{zzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyzzzyyyyyzzzyyyyzzzz~~}{{{{{yyyzz~~~~~~~~}}}}}}}{{{{zzzzz{zzzzzz}{{{{{{{{zzzzzzzzyyyyyyyyyyyy{{{{{{{{{}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{}}}{{{{{zzzzzzz{{}}}}}{}}}}zzz~~~~~~~~~~~}}~~~}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}{{{{{{{{{{}}{{{}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzz{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~{~~}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~z{{{{{{{{{{{{{{zyyyzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzyzzzz{{{{{{{{{{{zzzzzzzz{}{}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{}}{{{{{{{{{zzzzz{{{{{{zzzzz{{{{{{zzzzzzzzzzzzzzzzzzyyyyzzzzzzzzyyyzzzzzyyyyyyyyyyyyyyyyzzzzzzzyyyyyzzzzzzzzzzzzzzzzzyyyyyzz~~~{~~{{}}}}}}}{{{{zzzzzzzzzzz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyy{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzz{{}}}}}}}}}{zz}~~~~~~~~~~~}}~~}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}{{{{{{}}}}}}}~~}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzzzzz{{{{z{{{{{{{{{{zzzzzzzzz{{{yy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~{{{{}}~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~zz{{z{{{zzz{{{{zzzzzzzzzzzyyzyyyyyyyyyyyyzyyzzzzzzzzz~~{{{{{{{zzzzzzzzzzz}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{zzzzz{{{{{{zz{{{{{{{{z{{{{{zzzzzzzzzyyyyyyyyzz{zzzzyyyyyzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyyyzzzzz~~{{{{{}}}}}}}{{{{{{{zzzzzzzz{{{{{zzzzzzzzzzzzzzzyyyyyyyyyy{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}{{{{{{}}}{{zzzzzzz}}}}}}}{{{{{z}}~~~~~~~~~~~}~}}}}{{{}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}}}}{{{{{{}}}}}}}~~}}}}}}}}~~~~~zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzzz{{{{{{{{{{{zzzzzzz{{{{yy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}{{{{{}~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}~~~~~~~~~~~~~~zzzzz{{{{z{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzz~~{{{{{{{zzzzzzzzzzzzzzz}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{}}{}}}}{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyy{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzz{{{{{{{{}}}{{{{{{{{zzzzzzzzz{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyy{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}}{{{{{{}}}{{{{{{zz}}~}}}}}{{{{{}}}~~~~~~~~~~~}}}}}}}{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{}}}}}}}~}}}}}}}}}}~~~~~zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzz{{{{{{{{{{{{zzzzz{{{{{{{zyy}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}}}}}}}}}}}}~~}}}~~~~~~~~}}}}}}~}}~~~~~~~~~~~~}}}{{{{}}~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~zzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzz{~{{{{{{{zzzzzzzzzzzzzz}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{}}}}}}}}}{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyy{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{{{}}}}{{{{{zzzzzzz{{z{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyy{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}{{{{{{{}{{{{{{{{{}}~~}}{{{{{{{}}}~~~~~~~~~~~}}}}}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{}}}}}}}}~~}}}}}}}~~~{~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{zzzzzzzzz{{{{{{{{{{{{{zzzz{{{{{{zzzyy{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}{{{{}}~~~~~}}}}}}}}}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{zzzzzzzzzzzzzz}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzyyyzzzzzyyyyyyyyy{{zzzzzyyyyyyyyyyyyzzyyyyyyyyzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{}}}}}{{{{zzzzzz{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyy}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}{{{{{{{{{{{{{{{{{}}~~}}}{{{{{{{}~~~}}~~~~~~{{}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{z}}}}}}}}}}}~~~~}}}}}}~~{{z{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{zz{{{{{{zzz{{{{{zzzzz{{{{{zzzzyy{{{~~~~~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}}}}}~~~~}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}{{{{}}~~~~~}}}}}}}}}}}}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzzzzyyyy{{y{{{{zzzzzzzyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzyy{{{{{zzzzzzzzzzzzz{{}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzyyyzzzyyyzzyyyyyyyzzzzzzzzyyyyyyyzyzzzzzzzyyyyyzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzz{{zzzz{{{{{{}}}}}{{{{zzzzz{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyy}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}~~~~~}}}{{{{{{{{{{{{{{{{{}}}~}}{{{{{{{{{{~~}~~~~~~{{{{{}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzz}}}}}}}}}~~~~~}}}}}}{{{zzz{{~~~~~~~~~~~~~~{{z~{{~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{zzzz{{{{zzyyyy{z{{yyzyyyzzz{~~~~~~~~~~}}}~}}~~}}}~~~~~~~}}~{{{~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}z{{{{~~~~~~}~~}}}}}}}}}}}}}~~~~~~~zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzzzzzyyyy{yy{{{{{{zzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzyyy{{{zzz{{{{zzzzzzz{{}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{zzzyyyyzyyyyzzzzyyyyyyzzzzzzzzyyyyyyzzzzzzzzzzzyyyyzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzz{{z{{{{zz{{{{{{{{}}}}{{{{{zzzz{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyy~~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}~~~~~}}}}{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{~~~~~~{{zz{z{{{{}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzzz}}}}}}~~~~~~~}}}}}{{{{zzz{~~~~~~~~~~~}~~~{{zz{{~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{zzzzz{{zzzzyyyyzzzyyyyyyzzzz{{~~~~~~~~~}}}}{{~~}}~~~~~~~~}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}~~~~}}~~~~~~~~}}}}~~~~~~~~~~~}}}zz{{{~~~~~~~~~}}}}}}}}}}}}}~~~~~~~zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{zzzzzzzzzyyyyyyyyy{{{{zzzzyyz{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzyyyyzzz{{{{{{zzzzzzz}}}}~}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~}}}{{{{{{{{{{{{{{{{{}}{{{{{{{{}}{{yyzzzzyyyyyyzzzzzzzyyyyyyzzzzzzzzyyyyyzzzzzzzzzzzzyzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzz{{{{{{{zz{{{{{{{{{}}{{{{{{{zzz{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyzzyy~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}~~~~~}}}}}{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{}~~~~{{z{{zzz{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzzz}}}}}~~~~~}}}}}}}}{{zzz{{~{{~~~~~~~~}}~~{{~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{zz{{{{{{{{zzzzzzzzzzzzzzyzyyyyyyyyzzzz{{{~{~~~~~~~}}}{{{}}}}~~~}~~~~{{{{{{{z{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~}~~~~}}~~~~~~~~}}}}~~~~~~~~~~~}}{zz{{{~~~~~~~~~}}}}}}}}}}}~~~~~~}}{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzzzzzzzyyyyyyyyyyyyyyzzyyy{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyzzyyyyzzz{{zzzzzzzzz}}}}~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~}}}{{}{{{{{{{{}}}}{{}}{{{{}}{{}}}yyyyzzzzzzyyyzzzzzzzzyyyyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{}}~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}~~~~~~}}}}{{}}{{{{{{{{{{{}}}}{{{{{{{{{{{{{}}~~{{{{{{zzzz{{z{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}{{{zzz}}}}}~~~~~}}}}}}}}}zzzzz{{z{{~~~~~~~~}}{{zz~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{zzz{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyzzzz{{{{{~}}~~}}{{{{{{}}~~}}}}~~{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}}~~~~~~}}{{{{{{{{{{{~~~~~~~~~~~~}~~~}}}}~~~~~~}}{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyz{{zzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~}}}}}}{{{{{{{}}}}}}}{{{{{{}}{{}zzyyyzzzzzzzzyzzzzzzzzzzyyyyzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzz{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{zzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzyzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{}}~~zz{{{{}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~}}}}}}}}{{{{{{{{{{{{}{{{{}}{}{{{{}}}}}~~{{{{{{{zzzzzz{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}{{{zz{{}}}~~~~~~~}}}}}}}zzzzzzzzz{~~{{{{{{{{{{{zzz~}}}~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{zzzz{{{zzzzzzzzzzzzzzzzyyzzzyyyyyyz{{z{{{{{~}}}~}}{{{{{{~~~~}}}}}}{{{{{{{{zz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}~~~~~~}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~{{}}~~~~~zzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}}{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyzzz{zzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~}}}}}}{{{{{{{}}}}}}}{{{{{z{{{{zzyyzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{z{{{{{{{{{{{{{{{}}}}}}}}{{{{}{{{{{{zzzzz{{{{{}}}zzzzzzzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{}}}{{zz{{{}}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{{{{{{{{{}}}}}}}}{{{}}}}~}}{{{{{{zzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{}}~~~~~~{{{}}}{{zzzzzzzzzzz{{{{{{{{{{{{{zz}}}}}~~~~~~~~~~~~~~~}}}}{{{{{{{{{{zzzz{{{zzzzzzzzzzzzzzzzyyzzzyyyyyyy{{{{{{{}}}}~~}}}}{{{{~~~}}}}}}}}{}}{{{{zz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}~~~~~}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~{{{{{~~~zzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}{{{}{}}}}}{{{{zzz{{zyyyyzzzzzzzzzzzzzzzzzyyyzzyyzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{}}}{{{{{{{{zzz{{{{}}}zzzzzzzzzzzzyyzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zz}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}{{{{{{{{{{{}{{{{}}}}}}}}}}{{}}}}}}{{{{{{{{zzzzz{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{}}}~~~{{{{{{{{{{{zzzzzzzz{{{{{{{{{zzzzzzz}}}}~~~~~~~~~~~~~~~{{{}}{{{{{{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyz{{{{{{}}}}~}}}}}}{{~~}}}}}}}}}}}}}{{{{zz{~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}}}{{{{{{{{{{}}}}~~~~~~~~~~~{{{{{{~~zzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{zzz{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}{{{{{}}}{{{{{{{zzzzzyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzz{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{}}}}}}{{{{{{{zz}}~~}}}{{zzzzzzzzzzyyzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~}}}}}}}{{{{{{{{{}}}{{}}}}}}}}}}}}}}~}}}}{{{{{{{{zz{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}{{{{{{{{{{}}}}}{{{{{{{{{{{zzzzzzzzzz{{{{{{{zzzzzzzz}}~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzz{{{{}}}}~}}}}}}{{~~}}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}{{{{{{{{{{}}}}~~~~~~~}}{{{{{{{{{{{zzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{zz{{{{{{~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{{{{{{{z{{zzzz{zzz{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{}}{{{{{~~~}}}}}}}}}}}}}{{{{{{{zz}}~~~}{{{zzzzzzzzzzzzzzzzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}}}}}~~~}}}}}}}~~}}}{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~{{{{{{{{{{{}}}}}}{{{{{{{{{zzzzzzzzzzzzz{{z{{zzzzzzzzzz{~~~~~~~~~~~~}}{{{{{{{{{{zzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzyzzzz{{{{}}~~~}}}}{{{{{{}}}}}}}}}}}}}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}}{{{{{{}}z{{{}}~~~~~}}}{{{{{{{{{{{zzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzz{zz{{{{zzzzzzzzzzzzzzzzz{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{}}{{{zz}}{{}}{{}}}{{{{{~~~~~}}}}}}}}}}}{{{{{{{{{{{}}}{{{zzzzzzzzzzzzzzzzzzzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}~~~}}}}{{{{{{}}}}}}}}}}}~~~~}}}}}}}~~~}}{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{}}}}}}}{{{{{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzz{~~~~~~~~~~~~{{{{{{{{{}}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzz{{{~~~~~}}}}{{{{z{{}}zz}}}zz}}{{{{{{~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}~}}}}{{{{{}}zz{{}}~~~~~~~~{{{{{{{{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzzzzzzzz{zz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzz{{{{z{{{{{zzzzzzzzzzzzzz{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{}}}zzzz{}}{{}}}}}}}}}{{{~~~~~}}}}}}}}}}}{{{{{{{{{{{{}}{{{zzzzzzzzzzzzzz{{zzzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}{{{{{{{{{{{{}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}{{{{{}}}}}}}}}}}~~~~~}}}}}}}~{{}}}}}}{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{}{{{{{}}}}}}}}}{{{{{{{z{{zz{{{zzzzzzzzzzzzz{{{{{zzz~~~~~~~~~~}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{{{}~~~~}}}}}{{{zzz}zzzzzzzz}}{{{{{{~~~~}~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~}}{{{{{z{}zzzzzzz{{{~~~~~{{{{{{{{{{{{{zzzzzz{{~~{{{~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyzzzzzz{{zz{z{{}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~}}}}}}}}}}}~~~~~~~}}}}}}}}{{}}{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzz{{{{zz{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}zz{}}}}{}}}}}}}}}}{{~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zz{{{zzzzzzzz{{zzzzz{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}{{{{{}}}}}{{{}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}{{{{{{{}}}}}}}}}}}z~~~~}}}}~~{{{{}}}}}yy{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~}}}}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzyyzz{{{{{zzz~~~~~~~~~~}}{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{}}~~~~}}}}}}{{{{{{zzzzzzzzzzz{{{{{{~~}}}~~}}~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{~}}~~~~~~~~~{{{{{{{zzzzzzzzz{{{~~~~{{{{{{{{{{{{{{{{zzzz{{{zz{{~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyzzzzzzz{{{{zzz{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}}}}}~~~~~~~~}~~~}}}}}}}}}}{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzz{zz{{{{{{{zzzzzy{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{}{{{}}}}}}}}}}}}}}}~~~~~~~}}}}}}~~}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzy{{zzz{{{{}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}{{{}}}}}}}{{{}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{}{{{{{{{{{}}}}}{{}zz~~~}}}}~~~{{{{z}zzzyy{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzyyyz{{{{zzz~~~~~~~~}~}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{z{{{zzzzzzzzzzzzzzzzzzzzz{{{{}}~~~~~~~}}}{{{{{{{zzzzzzzzzzz{{{{{}}}}}}}}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{~~}~~~zzzzzzzz{{{zz{zzzzzzzzzzzz~~{{{{{{{{{{{{{{{{{{zzzz{{{zzzzz~~z~~~~~~~~~~~~~~}}{{{{{{{{{{yzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{z{{{{zzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{zzzzzyzz{{{{{{{{{{}}{{{{{{{{{{{z{}}}}}{{{{{{}}}}}}}}}}}}}}}}~~~~~~}}}}}}~~}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzy{{{{{{{{{{{}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}{{}}}}}}}}{{{{{}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}{}}{{{zzz}}}zz~~~z{{{{zzzzzyy{{{{{{{{{{{{}}{~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzyy{{{{{{{{~~~~~~~~}}}{{{{{{{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}~~~~~~}}}{{{{{{{zzzzzzzzzz{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}~~}}{{{~~~~~{{zzzzzz{{{{zzzzzzzzzzzzzz~~~{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzzzzzy~~~~~~~~~~~}}}{{zz{{zyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{zzz}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}{{zzzzz{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzyzz{{}{{{{{{{}}}{{{{{{{{zzzz}{{{{{{{{{{}}}~}}}}}}}}}}}}}~}~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{zzzzz{{zzzzzyyy{{{{{{{{{}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{}}}}}}}}}}{{{{}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}{{{{{{{zzz}}zzz~zzz{{zzzzzzyyzzz{{{{{{{{{}}{{{{~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzyz{{{{{{{{{~~~~~~~}}}{{{{{{{zzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{{{}}}}~~~~~~~{{{{{{{{{{{{{{{zzzyyy{{{}}}}}}}}}~~~}}~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}{{{{~~~{{zzzz{{{{{{zzzzzzzz{zz{{{~~~{}{{{{{{{{}}{{{{{zzzzzzzzzzzzzzyzyyy}}{~~~~~~{{{{{{zzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzzzz{{{{{{{{zzz{{z}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}}~~}}}}}}}{{zzzzz{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz}}{{{{}}}}}}{{{{{{{{{zzz{{{{{{{{{{{}}}~}}}}~}}}}}}}}}}}~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{zzzzz{{{zzzyyyyz{{{{{{{}}}}~~}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyy{zzzyyyyyyzzz{{{{{{{{{{{{{{~~~~~~~~~}}}}}}}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyy{yy~~~~~}}}}{{{{{{{zzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zz{{{{{{{{}}~~~~~~~{{{{{{{{{{{{{{{{zzzyyy{{{{{}}}}}}}~~}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}{{{{{{~~~zzzzz{{{{{zzzzzzzzz{{{{{{{~~}}}{{{{{{{}}{{{{zzzzzzzzzzzzyyyyyyyy}{{~~~~{{{{{{{zzzzzzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}~~~~~~~~}}}~~~~}}}}}}zzzz{{{{{{{{{{zzzzzzzz}}}{{{{{{{{{{{{{{{{z{zzzzzzzzzz}}}{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}~}}}}~~}}~~}~}}}}~~~}}}}}~~~}}}}}{{{{{{{{{{{{zzzzzz{{{{{zzyyyzzz{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{}zz}}}}}}}{{{z{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{}}{{{{{{{{{{{{{{{{{{zzzzzzyzzyyyyyzzyyyyyyyyz{{{{{{{{{{{{{{{~~~~~~~~~}}}}}}}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}~}}~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzyyzyyyyyy~~~}}}}}{{zzz{zzzzz{{{{{{{{{{{zzz{{{{{zzzzzzzzz{zzzz{{{{{{{{{{{{{{{{{{}~~~~~~}{{{{{{{{{{{z{{zzzzzyyy{{{{{}~~}~}}~~}}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{~~zzzzzz{{{{zzzzzzzz{{{{{{{{~~}}}{{{}{{{{{{{zzzzzzzzzzzzzzyzyyyyyyz{{zz{{}{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzz~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}~~~~~~~~~~~~~}}}}}}zzz{{{{{{{{{{{{zzzzzz{}}}}{{{{{{{{{{{{{{zzz{zzzzzzz}}}}}{{}}}}}}}}{{{{{{{{{{{{{{{{{{{}{{~~~~~~~~~~~~~~~~}}}}~~~}}}}}}~~}}}}}{{{{{{{{{{{yyzzzzz{{zzzzzzyyyyz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}{{zzzz}}}}}{{{zzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyz{{{{{{zz}}{}}{{~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyy~~~}}}}}}{{zzzzzzzz{{{{{{{{{{{zz{{{{{{zzzzzzzz{{{zz{{z{{{{{{{{{{}{{{{{{{}}~~~}}{{}{{{{{{{zzzzzyyyyyzz{{{{~~~~~}~~~}}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{zzzz{{{{{zzzzzzz{{{{{{{{~~}}}}}{}}{{{{{{zzzzzzzzzzzzzzzzzzyyyyzzzzzz{}}{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{zz{zz~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}~~~~~~~~~~~~}}}}}{zzz{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{}}}}{{{{{z{{zzzzzz}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}{{{{{{{{{yyyyyyzzzzzzzzyyyzz{{{}{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}{{{{{zzz{{}}}{{{zzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyzzzz{{{zzz}}}}{{{~~~~~~~~}}}}}}}}}}}~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{}}{{{{{{{{{zzzzzzzzzzzzyzyyyyy~~~~}}}{{{{zzz{zzzz{zz{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{zz{{{{{{{{{}}{{{{{{}}}}}}}}}}}{{{{{{zzzzzzyyyyzzz{{{~~~~~}}~~}}}}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{zzz{{{{{{zzzzz{{{{{{{z}}}}}}}}{{}}{{{{{{zzzzzzzzzzzzzzzzzyyyzzzzzzzz}}}{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{zz{zzzzzzzzzz{zz{{{{{{{{{{{~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}~~~~~~~~~~~~}}}}{{{zzz{{{{{{{{{{{{{{{{{{}}}}}{{{{{{}}}}}{{{{{{{{zzzzz{{}}}}}}}}}~}}}}{{{{{{{{{{{{{}}}}}}}~~}}}}}}}}~~~~~~~~}~~~~~}}}}}}}}{}}}}}{{{{}{{{{yyyyyyyzzzzzzzyyyy{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{}}}{{zzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~}}}}{{{{}{{{{{{{{}}{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyzzzz{{{{zz{{z}{}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{zz{zzzzzzzzzzzzzyyy~~~~}}}{{{{{{{{z{{{zzz{{{{{z{{{{{{{{{zzzzzzzzz{{{{{{{zzzz{{{{{{{}}{{{{{{{}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzy{{~~~~~}~~}}}}~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}{{{{{{}}{{{{{{zzzz{{{{{zzzz{{{{{{{{zz}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzyyyzzzzzzzz}}}{{zzzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{zzzzzzzzzzzzz{{{{{{{{{{{~~~~}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}~~~~~~~~~~~~~}}}}{{{{{z{{{{{{{{{{{{{{{{{{}}}}}{{{}{{}{}}}{{{{{{{{{{zz{{{}}}}}}}}}~~{{{{{{{{{{{{{{{{{}}}}}}}~}}}}}}}}~~}~~~~~~~~}}}}}}}}}}}{{{{{{{{{}}}z{zzyyyyyyyzzzzzzzzzzz{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{}}}}{zzzz{{{{}}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}~~~~}}}{{{}}}}{{{{{{}}}{{{{{zzzzyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzzzzz}}}~~~~~~~~~~}}}}}~~~}}~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzyyy~~~~yyyzz{{{{{{{{{zzzz{{zzzzyyyyy{{{yzzzzzzzzz{{{{{{zzzz{{{{{{}}}}{{{{{{{{}}}}}}}}{{{{{{{{{{zzzzzzzzzzzyyy~~{~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}{{{{}}}}{{{{{{zzz{{{{zzzz{{{{{{{{zzzz}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyzzzyzzz{{zzzzzzzzzyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{z{{zzzzzzzzzzz{{{{{{{{{~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}{{{{{{{{{{zzzzzzzzyyyyyzzzzzzzzzzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}{{{{{{{{{{{}}{{{{zzzz{{{}}}}}~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}~~~~}}}}{{{}}}}{{{{{{}}}{{{zzzzzyyyyyyyyyyyyyyyyyyyzzzzzzz{{{zzzzzz}}}~~~~~~~~~~}}}}~~~~}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyzzy{{{{{{{{zzzzzzzzzzzyyyyyyyyzzzzzyyyz{{{{{{zzzz{{{{{{}}}}{{{{{{{{{}}}}}}}}{{{{{zz{{zzzzzzzzzzyyyyzz{{~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}}{{{{{{zzz{{{zzyyzzzz{{{zzzzy}}{}}}}}{{{{{{{{zz{z{{{{{zzzzzzzzzyyyyyzzyyyzz{zzzzzzzzzyyyyyyyzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~}}}}{{{{{{{{{{{}}{{{{{{{{{{{{{~~}}}}}}}}{}}}{{{{{{{{{{{{{{}}}}}}}}}}}~~~}}{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}{}}{{{{{{zzzzzzzzyyyzzzzzzzzzzzzzz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}{{{{{{{{{{}}{{{{zz{{{{{{}}}}{{~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}}}}}}}}}}{{{zz{}}}}{{zzzzyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{zzzzzz}}}~~~~~~~~~~}}}~~~~}}~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyy{{{{zzzzzzzzzzzzzyyyyyyyyzzzyyyyyy{{{zzzzzzzz{{{{{}}{{{{{{{{{~~~~~~}}}}{{{{{zzzzzzzzzzzzzzzyyyyzz~~~~~~~~~~~~~~~~~}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{}}{{{{{{zzzyyyzyyyzzzz{{zzz~~yy{{}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~}}}}{{{{{{{{{{{}}{{{{{{{{{}{{~~~~~}}}}}{{}}}}{{}}{{{{{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}{{{{{zzzzzzzyyyyzzzzzzzzzzzzz}}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{zz{{{{{{}}}}{{~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}}}}}}}}{{{zzz}}}}zzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{zzz{{~~~~~~~~~~~~}}~~~~}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyy{{{{zzzzzzzzzzzzyyyyyyyyyyzzyyyyyy{{zzzzzzzzz{{{{}}{{{{{{{{{{{~~~~{{{}}zzy{zzzzzzzzzzzzzzzzzz}yy}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{}}}zz{{zzzyyyyyyyyzzzzzzzzy~~yy{{}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{zzzz{{{{{yyyyzzz{zzzzzzz{{{{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}~~~~~~~~~}}}}{{{{{{{{{{{}}{{{{{{zz{}}}~~~~~~}}}{{{}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{}}}}{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}{{{zz{zzzzzzyyyyzzzzzzzzzzzzz{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{}}}~~~{{{~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}}}}}}}{{{{{zzzzz}}zzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{zzzz{{}}}}~~~~~~~~~~~~~~~}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{zz{{z{zzzzzzzzyyyyyyyyyyyyyy{{{{zzzzzzzzzzzyyyyyyyyyyyzzyyyyy{{{{z{{{{{z{{{{{}}{{{{{{{{{{{{{{{{{{{{}zyyzzzzzzzzzzzzzzzzzz}}}}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{}zzz{{zzzyyzyyyyyyzzzzyyyyy~yyy{}}}}}}}}{{{{{{{{{{{{{{{zzzzzyzzzzzzzzzzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{yyyyyyz{{{{zzzzz{{{{{}}{{{{}}}{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}~~~~~~~~}}}}{{{{{{zzzzz}}{{{{}}zz{{}}~~~~~~~{{{{}}}}}}}}}}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}}{}}}}}{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}{zzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzz{{{{{{{{{{{}}~~~{{{{~~~}}~}}}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}~~~}}~~~~}}}}}}}}}{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{zzz{{{}}}}~~~~~~~~~~~~~~~~~}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{z{{{{{zzzzzzzzyyyyyyyyyyzyyzz{{zzzzzzzzzzyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{}}}yyzz{{zzzzzzzzzzzzzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyz}}}}}}}}}{{{{{{zz{{zzzzzzzyyyzzzzzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzzyyyyyy{{{zzzzzzzz{{{{{}{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}~~~~~~~~~}}}}{{{{zzzzzz{{z{{{}}}z{{{~~~~~~~{{{{{{{{{z}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}zzzzzz{{{zzzzzzzzzzzzzzzzzz{{zzzzzz{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{zzzz{{{{{{{{{}}}~~~{{{{}}}}~~}}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}~~~~}~~~~~}}}}}}}}{{{{{{{{zzzzyyyyyyyyyyyyyzzyyyzzzzzzzzzzzzz{{{{{{{{{{{}}~~{{~~~~~~~~~~~~~~~~}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyzzyzzzzzzz{z{{zyyyyyyyyyyyyyyyyyyyy{zzz{{{{{{{{{{{{zzzzzz{z{{{{{{{{{{{{{{zzyyyyz{{{zzzzzzzzzzzzzzzz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyzzz{{{y}}}}{{{{yyzzzzzzzzzzzyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzzyzyyyy{{zzzzzzzzzzz{{{}}{{{{{{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}}{{{{zzzzzzz{{zz{{{}}}}{{~~~~~~~~{{{{{{{zz}}}}}}}}}}{{}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}zzzzz{{{{{{zzzzzzzzzzzzzzz{{zzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzz{{{{{{{{{}}}~}}{{{{}}{{{}}}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}}}{{{{{zzzzyyyyyyyyzzyyyzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}}~~{{{{~~~~~~~~~~~~~~~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyzzzzzzz{{{{{yyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{zz{{zzzz{{{{{{{{{{{{{{zzzzyyzz{{zzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyzz{{{{yy{{}}{{yyyyyzzzzzzzyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzyzzzzzzzzyy{{zzzzzzzzzzzzzzz{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~}}}}}{{{{zzzzzzzzzzzz{{}{}}~~~~~~~}}}}{{{{{zzz}}}}}}}}}}{{}}~~~}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}}}~~}}}}}}}}}~~~~~~~~~~}}}}}}}}}zzzz{{{{{{{zzzzzzzzz{{zzzzzzzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zzz{{{{{{{{{{{~~}}}}{{{{{{{}}}}~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{zzzzyyyyyyzyyyyyzzzzzzzyzzzzzzz{{{{{{zz{{{{{}}}~{{{{{~{~~~}}~~~~~~~}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzzzzzzyz{{{yyyyyyyyyyyyyyyyyyyyyyyy{{{{z{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{zzzzyyzzzzzzzzzzzzzzzzz{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyzzzz{{zyy{{}}yyyyyyyzzzzzzzyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzzzzzzyyyzzzzzzzzyz{{zzzzzzzzzz{zzzz{{{{{}}}{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}~~~~~~}}}}}}}{{{{zzzzzzzzzzzzz{{{~~~~~~~}}}}}}{{{zzzzz}}}}}}}}}{{}}~~~}}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}}~~}}}}}}}}}~~~~~~~~~~~}}}}}}{{{z{{{{{{{{{{{zzzzzzz{{{{{zzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{zzzzzzz{{{{{{{}}}}}}}{{{{{{{{}}~~~~~~~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzyyyyyzzzzyyzzzzzzzzyyzzzzz{{{{{{{zzzz{{{z}}}{{{{{{{~~~}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzzzzzzzzzzzzzyyyyyyzzzzzyzzzzzzzzyy{{yyyyyyyyzzzzzzzyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zzzzzyyyyzzzzzzzzzzyyzzzzzzzzz{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~}}}}}}{{{{zzzzzzzzzzzzz{{{~~~~~~~}}}}}}}{zzzzzz}}}}}}}}}~~~}~~~}}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}}~~}}}}}}}}}}~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{zzzzzzz{{{{{{zzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}zzzzzzzzzzzzz{{{{{{~}}}}}}{{{{{{{{}~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzzzzzyyyyzzzzzyzzzzzzyyyyyyyzz{{{{{{{zzzzzyyz}}}{{{{{{{{{{~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~}}}}}}}{{}}{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{z{{{{{{{{{{{zzzzz{{{{{{{{{{zzzzzzzzzzzzzzz{{zzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzyyzyyyyyzzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{z{zzyyyyzzzzzzzzzzzyyzzzzzzzzz{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~}}}}}}{{{{zzzzzzzzzzzzz{{{~~~~~~~}}}}}}}zzzzzzz}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{~~}}}~~~}~~~~~}}}}}}}}~~~~~~~~~}}}}}}{{{{zz{{{{{{{{{{zzzzzz{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}zzzzzzzzzzzz{{{{{yy~~}}}}}y}}{{{{{zz~yyy~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{zzzzzzzzyyyyzzzzzyyyzzyyyyyyyyyy{{{{zz{{{zzzzyyz}}}}{{{zz{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}{}}}{{{{{{{zzyyyyzyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzz{{{{{{{{{z{{zzzzz{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{zz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{zzz{zzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyzzy{{yzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{zzyyyzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~}}}}}}}{{{{zz{{zz{zzzz{{{{{~~~~~}}}}}}}{{z{{{zzz}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}{{{{zzz{{{{{{{{{{zzzzz{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}zzzzzzzzzzzz{{{yyyy~~}}}}yy}}{{{{{zzzyyyyyy~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}}}{{zzzzzzzyyyyyzzzzzyyyyyyyyyyyyzzz{{{{zz{{{{zzyyyyzz}}{{{zz{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}{{{}{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyz{{{{{{{{{{zzzzzzzz{{{{{{{{{zz{{zzzz{{{zzzzzzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{z{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{yyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}{{{{{{{{{{{z{{{{{{~~~~~}}}}{{}{{{{{{{{}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}{{}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}}}{{{{zzz{{{{{{{{{zzzzz{{{{{{{{{zzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}{{zzzzzzzzzz{{yyyy{{{{{{}yy}yyy{{zzzyyyyyyyy~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{}}}{{{zzzzzzyyyyyzzzzzzzzyyyyzyyzzzzz{{{{zzz{{{zzzzyyzzz{{{{{z{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{{zzzzzzzz{{{{{{{{zzz{{zz{{{{{{zzzzzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzyzzzzzzzzzzzzzzzzzzzzzz}}{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{~~~~~~~~}{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}{{{{{{z}}}}{{{zzzzzzz{{{{{{{{{{{zz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}{{{{{zzzzzzzzzz{yyy{{{{{{{yyyyyyy{{zzyyyyyyyyyy~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}}}{{{zzzzzzyyzzyzzzzzzzzzyyzzzzzzzzz{{{{zzz{{{zzzzzyyy{{{{{{{{{{{~~~~~~~~}}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{zz{{{{{{{zzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzz{{{{{{{{{{zz{zz{{}}}}}{{zzz{{{{{{{{{{{{zzz{{{{{{{{{{{{}}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{{{}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{}}}~~~~~~~}}{{{{{{{{}}}}}}}~}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}{{{{{{{{}}}}}{zzzz{{z{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{zzzzzzzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyy~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}}}}{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{zzzzzzyyyy{{{{{{{{{~~}}}}~~~}}~~}}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{zzzz{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{}}}}}}zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{}}}~~~~~~~}}{{{{{{{}}}}}}}}~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}{{{{{{{{{{{}zzzzz{{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{z{{zzzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{}}}{{{{{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzyyyyyy{{{{{{~}}}}}~~}}}}~~}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}}}}}}}}{{{{zzz{z{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{}}{{{{{{{~~~~~~~~~~~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}{{{}{{{{{{{{{{}}}}~~~}}}}}{{{{{{{}}}}}}}}~~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{zzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}}{{{{{{{zzzzzzzzzzz{{zzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzyyyyyyy{{{{{{{{{~~~~}}}}~~}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{}}}~~~~~~~~~~}}}}~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}{{}}{{{{{{{{{}}}}}}}}}}}}}}}}}}}{~~~~}}~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}{{{{{{{{zzzzyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{}{{{{{{{{{zzzzzzzz{{{{zzzzzzzz{{{{{{{{{{{{{{z{{zzzzzzzzzzyyyyy{{{{{{{{~~~~}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~}{{{{{{{{{{{{z{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyzyyyzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{}}}}}}{}}}~~~~~~~~~}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}{{{{{{}}}}}}}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{}{{{{{{{zzzzzzzzz{{{{zzzzz{{zz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyy{{{{{{{{~~~~~~}}}}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{zzzzzz{{{}}}{{{{{{{{{{{{{{{{{{{{{{{}}{}}}}}}}{{{{{{{}}}}}}}}~~~~~~~~~~}}}}}}}}}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}~}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}{{{}}}}}}~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{}}}{{{{{}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzzzyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{~~~{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{zzzzzz{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzy}}}}}{{{{{~~~~~}}}}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{zzzzzzzzzz}}{{{{{}}{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{{{}}}}}}}}}~~~~~~~~~~~}}}}}}}}{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzyyyzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{z{z{{{{{}}}}}}{}}{{{}}}}{{{{{{{}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}~~~~~~}}}}~~~~~~~~~~~~}}}}}}}}}}}}{}}}}}}~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzyyzzzzz{{{zz{{{{{{~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{zzzzzz{{{{{zzzzzz{{{{{{{{{{{{{{{{zzz{{{{{{{zzzzzzzzzz}}}}{{{{~~~~~~}}}}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{yyzzzzzzzz}}{{{{}}}{{{}}{{{{{{{}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}~~~~~~~~~~}}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{zzzz{{{{{}}}}}}}{{{}}}}}}{{{{{{{}}}}}}}}~~~~}}}}}}}~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{}}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{z~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{z{{{zzzzzz{{{zzzzzzz{{z{{{{{{{}}}}{{zzzzz{{{{zzzzzzzzzzz}}}}}}{{~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}{{{{{{{{{{{{{{{zzzzz{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz}}{{{{}}}}}}}}}}{{{{{}}}}}}}}}}}}}}{{{{{{~}}}}}}}}}~~~~~~~~~~}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyy{{{{{zzzzz{{}}}}}}}{{{}}}}}}{{{{{{{{}}}}}}~~~~}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{z{{{{{{{{{{}}}}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzz{{{{zzzzzz{{{{{zz~~~~~~~~~~~~~~~~~}}}}}}}}}{{{zz{{{{zz{{{yyzzzzzzzzzzzz{{{{{{}}}}{{{zzzz{{{{zzzzzzzzzz{{}}}}}~~~~~~{{~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}{{{{{{{{{{{{{zzzzz{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz}}}{{{{}}}}}}}}}}}{}}}}}}}}}}}}}}}}{{{{{{{~~~}}}}}}}~~~~~~~~~~}}{{}}{{{{{}~~~~~~~~~~}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyzz{{zzzzzz{}}}}~~}}{{{{}}}}}}{{{{{{{{{}}}}}}}~}}}}}}}~~~}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~}~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzzz{{{{{{{{{}}}}}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzz{{{{{{zzzzzz{{zzzz~~~~~~~~~~~~~~~~~}~~}}}}}}{{{zzz{{{{{{{{yyzzzzzzzzzzzzzzz}{}}}}{{{{zzz{{{{{{zzzzzzzz{{{}}}}}~~~zzz{zz~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}~~~~}}}}}}}}}{{{{{{zzz{zzzzzzz{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{}}{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{~~~~}}}}}}}~~~~~~~~~}}}{{{{{{{{}}}~~~{~{{~~}}{{~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyzzzzzzzzzz}}}}~~~}}}{{{}}}}}}{{{{{{{{{}}}}}}}}}}}}}}}~~}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zzzzzzzz{{{{{{{{}~}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzz{{{{{zzzzz{{{{zz{~~~~~~~~~~~~~~~~~~~~~~}}}}{{zzz{{{{{{{{zzzzzzz{{zzzzzzzzz}}}}}}{{{{zzz{{{{{{zzzzz{{{{{{}}}}~~~~zzzzzzz~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~}}}}}}{{{{{{zzzzzzzzzz{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{}}}}}}}}}}}~~~}}}}}~~}}}}}}}}}{{{{~~~~~}~}}}}~~~~~~~~~}}{{{{{{{{{{{zzzz{{{{~~}{{{~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{z{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyzzzzzzzzzz}}}~~~~}}}{{}}}}}}}{{{{{{{{{}}}}}}}}}}}}}}~~~}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~{{{{{{{{{zzzzzzz{{{{}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzzzz{{zzzyyyyyyyyyyyyyyyyyyyyyzzyyy{{zzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}{{zz{{}{{{{{zzzzzzz{{zyyzzzzzzz}}}}}}{{{{{zz{{{{{{zzz{{{{{{}}}}}}~~~~~zzzzzz~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~{{}{{{{{{{{zzzzzzzz{zz{{{{{{{{{{{zzzzzzzyyzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{}}}}}}}}}}}}}}}~~~~~~}}}~~~~~}}}}}}{{{{~~~~~~~~~~~~~~~~~~~}}}{{{{}{{{{{{zzzz{{{{{{{{{{~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzzzzzz}}}~~~~}}}}~~}}}}}}}}{{{{{{{}}}}}}~}}}}}}~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}{{{{{{{{{{{zz{z{{{{}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzzzzz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~}}~~~}}}}{{{{{{}{{{{{zzzzzzz{{zyyzzzzzz}}~~~{{{{{{{{{{{{{{{zz{{{{{zz}}}}}}~~~~zzzzzz~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{zzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}{{}}~~~~~~~~~~~~~~~~~~}}}{{{{}}{{{{{{zzzzzz{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{}{{{{{{{}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyzzzzzzzz}}}~~}}}}}~~~}}}}}}}}}}}}}{}}}}}}}~~}}}}}~~~~~}}}}}}}}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}{{{{{{{{{z{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzzz{{zz{{zz{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~}}}~~~~}}{{{{{}}}{{{zzzzzzzzzzzyyzzzzzzzz~~~{{{{{{{{{{{{{{{{{{{{{{zzz}}}{{~~~{zzzzzz~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}}}{{{{{{zzz{zzzzz{{{{{{{{{{{{zzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{zzzzzzz{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}{{{{{}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{}~~~~}}}}~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}~~~~~~}}}}}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zzzz{{{{{{{{{{zzzzzyyzzyyyyyyyyyyzyyyyyyyyyyyzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~}}~~~{{{{{{{{}}}{{zzzzzzzzzzzzzzzzzzzzzz}~~{{{{{{{{{{{{{{{{{{{{{{{z}}}{{{}}}{{zzzz{{{~~~~~~}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~}}}}}}{{{{{zzz{{{zz{{{{{{{{{{{{{{zzzzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~zz{{}}}}{{{{{{{{{{{zzzzzzzzz{{zzz{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}{{{{{{}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{~~~}~~~~~~~~~}}}}}~}}}}}}}}}}}}}}~~~~}}~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{z{zz{{{{{{{{{{zzzzzzzzzyyyyyyyyyzzzyyyyyyyyyyyzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz}}}{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{z}}}zzzzzz{}}~~~~~~}~~}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}~~~~~}}}}}}}}}{{zzzzzz{{{zz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}}}}}}}}~~z~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~zz{{{{{{{zz{{zzz{{{zzzzzzzzzzzzzz{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{}}}{{{{{{{{{{{{{{{{yy{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{}}}}}~~~~~~~~~~}}}~~~~}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zz{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyzzzyyyyyyyyyyzzzzz{{{{{{{{{zz~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz~}}{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{zzzzzzzzyy}}}~~~~~~~~~}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{~}}}}}}}{}}{{zzzzzz{{{{{{{{{{{{{{}}}zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzzzzzz~~}}}}}zzzz~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~zzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{yyyy{{{{{{{{z{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{}}}}}~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{z{{{{{{{{{{{zzzzzzzzzzzzyzyyyzzzzzzyyyyyyyyyzzzzz{{{{{{{{{}}z~~~~~~~~~~~~~~~~~~}}}}{}}{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{}}}{{{{{{{{}}}}{{{{{{{{{{{{y{{{{{zzzzzzzzyzz}~~~~~~~~~~}}{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzz}}}{{{{{zzzzzz{{{{{{{{{{{{{{}{{zzzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzz{{zzzzzzzz}}}zzz{~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~{zzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{z{{{{~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{yyyyyzzzzzyyzz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{}}~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyzzzzzzzzzyyyzzzzzzzzz{{{{{z{{}}{~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzz{{{{}}{{{{{{{{{}}}}}{{{{{{{{{{{yyy{{{{zzzzzzzzzz~~~~~~~~~~~~}{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{zzz}}}{{{{{zzzzzzzz{{{{{{{{{{{{zz{{zzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzz{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{zzzzzzzz{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{yyyyyyzzzzzyyyy{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{}}}~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~}}~~~~~~~~~~~~}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{}}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{}}{{{{zz{zzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzz{{{{{zz{{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzz{{zz{{{{{{{{{{}}{{{zz{{{{{zz{zyyz{{{{zzzzzzzzzzz~~~~~~~~{~{{{{{{}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{z{{zzzz{{{{zzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{zzzzzz{{{{z{{zz{zzzzzzzzzzzzz{{{{{{{{{{{~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{yyyyyyyyzzyyyyyyy{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~{~~}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{}}}{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzz{{{{{zz{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{}}{{{{{{{zzzz{{zzzzzzzzzzz}{{{{{{{zz}}{{zzzzzzzzzzzzzzzzz{{zzzzzzzzzzzz~~~zz{{{{{{{{{{{{~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}}{{{{{{{zzz{{{{{{zzzzz{{{{{{{{{{{zzzzzzzzzzzzzzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{zzzz{{{zzzz{{{{{zzzzz{{{zzzz{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyy{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}{{{{{~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}}{{{{{zzzzzz{{{{{{zzzzzzzzzzzzzzzzzyyzzzzzzz{z{{{{zz{{{~~~~~~~}}~~~{~~~~~}}}}}}}}}}}}}}}{{{{{{{zzzzz{{{zzzzzzzzzz}}{{{{{zzzz}{zzzzzzzzzzzzzzzzz{{{zzzzzzzzzzz}}~zzz{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{zz{{{{{{zzzzz{}{{{}{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{zzzz{{~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{z{{{{{zzzz{{{{{{{zz{{{{zzz{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zz{yyyzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}}}}}{{{{~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}{{{{zzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzz{{}}~~~~~~}}{~{{{}}~~}}}}}}}}}}}}}}}{{{{{{{zzzzz{{{{{{{zzzz{{}}}}}{{zz{{{{zz{{{{zzzzzzzzzzz{{zzzzzzzzzz{{}}}{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{zz{{{{{{zzzzz}}}{}}}zzzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzzzzzzz{{{{zzz~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{zz{{{{}}}{{{{{}~}}}}}}}}}~~~~~~~~}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}{{{{}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}}}}}}}}}}}}}~{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{}{{{{zzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{zzzzz{z{}}}~~~~~~~}{{{{{}}}}}}}}}~~}}}}}}}}}{{{{{{zzzzz{{{{{{{{zzz{{{{{}}{{zz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{}{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{zzz{{{{{zzzzz}}{{}}}zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzzzzzzz{{{zzz~~~~~~~~~~~~~~~~~~~~~}}}}~~~{{{{{{{{{{{{{{{{{zzzzzz{{{{{{z{{{z{{{{{}}}}{{{}}~~}}}}}}~~~~~~~~~}}}}}~~~}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}{{}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzz{{zzz{{zzzzzzzzzzzzzzzzzzzzzz{{zzzzz{{{{{{{{}}}~~~~~{{}}}}}}}}}}}}~~~~}}}}}}}}{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}{{{{{{{{{{{{zz{{{{{{zzzz{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~}}}}~~~{{{{{{{{{{{{{{{{{{{{{zzz{{{{{zz{{{{{{{}}}}}}zzz}~~}}}}}}~~~~~~~~~~}}}}~~~}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}z~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}}{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{z{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzz{{{{{{{}}{{~~~zz{{}}}}}}}}}}}~~~~~~}}}}}}}}}{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzyzzzzzzzz{zzzzzzzzzzzzz{{{{{{{{{{}{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}{{{{{{{{{{{z{{{{{{{zzz{{{{yzzzyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~}}~}~~{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{zz{{{{{{{}}}}}}zzzz}}~~}}}}~~~~~~~~~~}}}}}~~~~~~~}~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}zz~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{zz{{{{{{{{}{{{{{zzzz}}}}}}}}}~~~~~~~~~~~}}}}}}}{{{{{{zzzzz{{{{{{{{{{{{}}}{{{{{{{{{{{{{{zzzyyzzzzzzz{{{zzzzzzzzzzzz{{{{{{}}{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{}}}{{{{zzzz{{{yyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyzzzzz{{{{zzzz{{~~~~~~~~~~~~~~~~~~~~~~}}{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}zzz{}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}~}}}~~~~~~~~~~~~~}}~~~~~~}}}}}}}}zz}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{z{zzzzzzzzzzzyzzzzzzzz{yzzzzy{{{{{{{{{{{{{{{z}}}}}}}{}}~~~~~~~~~~~~}}}}}{{{{{{{{{{zz{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{yyyyzzzzzzz{{zzzzzzzzzzzzz{{{{{{}}{{}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{}}}{{{{{{{{{yyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzzzzzzzyyzz{{{{{{yyzz{{~~~~~~~~~~~~~~~~~~~~~~}}{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}zz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}}}}~~~~~~~~~~~}}}~~~~~~}}}}}{{{zz}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}{{{{{{~~~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyzz{{{zzzyyyzzyyyz{{{{{{{{{{{{{{}}}}}}}{{~~~~{{~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{yyyzzzzzzzzz{zzzzzzzzzzzzz{{{}}{}}}}}}}}}~~}}}}}~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{yyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyzz{{{{{{yyzzz~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{}}}}~~~~~~~~~~~~{{{~z~~}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzz~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}{{{{{{{~~~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}~~}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyzz{{{zzzyyyzzzyzzz{{{{{{{{{{{{{{}}}}}}{{{{~{{{~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{z}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~}}~~~}}}}~~~~~~~~~~~~~}}}}}}}~}}}}}}}}}}}{{{{{{{{{{yyyy{zzzzyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyzzzzzz{{{zyz{{{~~~~~~~~~~~~~~~~~~~{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~}}{}{{{{{{{~~~}}~~~~~~~~~~~~~~~~~~~~{{}}{{{}}}}~~~~~~~~~~~~{{zzzz}}}~}}}{{{{{~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzz~~~~~~~~~~~}}}}}}~~~~~~~~~~~}}}{{{{{}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}~~~~~}~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyzz{{zzzyyyyzzzzz{{{{{{{{{{{{{{{}}}}}{{{{{{{{{~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzz}}}}}}}}{{{{{{zz{zzzzzzzzzzzzzzzzzzz{zzzzzz{{}}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}}}~~}}}}}}}}}}{{{{{{{yyyyyyyyyzzzzyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyzzzzzzzz{{zzzz{{z~~~~~~~~~~~}}}~~{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{}{{{{{}}}}{{{~~}}{{{{{{{{{~~}}}~~~~~~~~~~~~~~~~~~~~{{{{{{{{}~~~~~~~~~~~~~~}}zzzz}}~~~{{{{{{{~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz~~~~~}}~~}}}}}{}}}~~~~~~~~~~~}}{{{{{}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}~~}}~~~~~~~}}~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{z{zzzzzyyyyz{zzzzyyyyzzzzzz{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{zzz{}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzz{{zzzzzzz{{}}}}}}}}}~}}}~~~~}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}}}}}}}}}~~~~}~}}}}}{{{{{{yyyyyyyyyyzzzyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}~~~~~~~}{}}~{{{{{{{{{zzzzz{{{{}}}{{{{zzzzy{{}}}{{}}}}}}}}}}}}{{{{{{{}{{~~}}~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{~~~~{{{~~~~~~}}}zzzz}}}~~{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{y{{zzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz~~{{}}~~~}{{{{{{{{{{{~~~~~~~}}}{{{{}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}~~~~~~~~~~~~}}}}}}~~~~~~}}}~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{zzzyyyyzzzz{{{{{{{{{{{{{{{{~~~}}{{{{{{{{{{{~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{~}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{zzzzzzz~~}}~}}}}}}~~~~~~~~}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}}}~~~~~~}}}}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}~~~~~}}{{{}}{{{{{{{{zzzzz{{{}}}}}}{{{zzyyy}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}{{{{{{~~}~~{{{~~~~~~{{{{{{{}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{yyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{zz{{{{}}}~~{{{{{{{{{{{{~~~~}}}}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}~~~~~~~~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzz{{{{zzzzzzzz{{{zzzyyyzzzzzz{{{{{{{{{{{{{{{~~~}}{{{{{{{{{{}~~~~~}}}}}}}}{}{{{{{{{{{{{{{{{{zzz{{~~{{{{{{{{{z{{{zzzzzzz{zzzzzzzzzz{{{zzzzzzz~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~}}}}}yyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}~~~~~~~{{{{{{}}{{{{{{zzzzzz{}}}}}z}zzzyzyyyy}}}}}}}}}}}}}}}}}}}}{}}{{}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}{{{{{~~~}}{{{{~~~{{{{{{{{{{{}{{{{{{{{{~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{zzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{z{{{{{}}}{{{{{{{{{{{{{~~~~~~}}}}}{{{{{{{{}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}~~~~~~}}}}}}}}}~}}~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzz{{{{zzzzzzzz{zzzzzzyzzzzzzz{{{{{{{}}{{{{{{{~~}}}{{{{{{{{{}}~~~~}}}}}}}}}}{{{{{{{{{{{}}{{{zzz{{~{{{{{{{{zzz{{{{zzz{{{{{zzzzzzz{{{{{{{zzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{}~~~~~~}}}}}}}}}}~~~~~~~~}}}}}yyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyzzzzzzzzzyyzzzzz{{{{zzzzzzzzz~~~~~~~}{{{{{{}}}{{{{{zzzzzzz}}zzzzzzzyyyyyyy}}}}}}}}}}}}}}}}}}}}}}}{}}~}}}}}}}~~~~~~~~~~~}}}}}}}}}}{{{{{{~~}}}{{{~~~{{{{{{{{{{{{{{{{{{{zzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzyyzzzyyyyyyyyyyzzzzzyyzyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~}}}}}{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}~~~~~~}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}{}{{{{{{{{z{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{}}}}{{{{{{~~}}}{{{{{{}{{}}~~~~~}}}}}}}}}{{{{{{{zzz{}}{{{{{{{{{{{{{{{zzzzz{{{{{zz{{{{{zzzzzzz{{{{{{{{zzz{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{}~~~~~~~}}}}}}}}}~~~~~~~~}}}{}yyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyzz{{zzzzyyyyyyy{{{{{zzzzzzzz~~~~~~}}}}}{{{{}}}{{{{{{{{zzzzzzzzzzzzyyyyyyzz}}}}}}~~}}}}}}}}}}}}}}}}}}~}}}}~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzzzzzzzyyyyyyyyyyyzzzzzzzzyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~}}}}}{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~{{{{{{{~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}{{{{zz{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}}{{{{{z~~~~}}{{{{{}}}}~~~~~~~~}}}}}}}{{{{{{{zzzz}{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{zzzzzz{{{{{{{{{zzz{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{~~~~~~~}}}}}}}}}}~~~~~~~}}{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyzzyyyyyyyyyyzzzzzzzzzzzyyyyyyzz{{zzzzyyyyyyy{{{{zzzzzzzzz~~~~~~~}}}}}}{{}}}}}{{{{{zz{zzzzyyyyyyyyyyyyzz}}}}~~~~~}}~~~}}}}}}}}}}}~~}}}~~~~~~~~~~~~}~~~}}}}}}}}{z{{{{zz{{{{{{{{{{{{{{{{{{z{{{{{{{{{zzzzz{{~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzzzzzzyyyyyyyyyyyzzzyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{~}}}}}}{{{zzz{~~}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}{{{{{{{~{{{~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}{}{{{{z{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}{{{{{zzz~}}{{{{{{}}}~~~~~~~~~}}}}}}{{{{{{{{{zzz{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{zzzz{{{{{{{{zzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{y{{{{~~~~~~~}}}}}}}}}~~~~~~~~~{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyzzyyyyyyyyyzzzzzzzzzzzzzyyyyyzz{zzzzyyzyyyzz{{{{zzzzzzzzz~~~~~~~}}}}}}}}}}}}{{{{{z{{{zzzzyyyyyyyyyyyyyyy~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~}}}}}}{{zzzzzzz{{{{{{{{{{{{{{{{zzz{{{{{{{{{zzzzzzzz{{~~~~~~~~{{{{~~~~~~yy{{{~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~~{{}}}zzzzzzzzyyyyyyyyyyyzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{}{{{{{z{{{~}~~~~~}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{}}zz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{}}}{{{{{{z~~~{{{{{{}}}}~~~~~~~~~}}}}}zzz{{{{{zzzzz{{{{{{{{}{{{{{{{zzzz{{{{{{{{{{{{{{{zzzzz{{{{{{{zzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yyyyy}}}~~~~~~}}}}}~~~~~~~~~~~~{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzz{zz{{~~~~}~}}}}}}}}}}}{{{{{zzz{{zzzzyyyyyyyyyyyyyyyy~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}~~~~~}}}}{{{{z{zz{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{zzzzzzzz{{~~~~~~~{{{zz~~~~~yyy{{{{{{{~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}~{{{zzzzzzzzzzyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{zz}}}{{{{{{{{{{{{{{{{{{{z{{{{{{{}{{{{{{{{{{{{{~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}{{{{{{{{{{{{{z{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}{{{{zzz~~~{{{{{{}}}}~~~~~~~~}}}~~}zzz{{{{{zzzzz{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{zzzz{{}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzyyyy}}}}z~~~~~}}}}~~~~~~~~~~~~~{zzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{z{{~~~~}}}}}}}}}}}}{{{{{{zzz{yyyzyyyyyyyyyyyyyyyy~~~~~~~~~~~~~}}}}}}}}}~~~}~~~~~}}}}~}}}}}}}~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{zzzzzz{{{{~~}~~~{{zzz~~~~zzzy{{{{{{}~~}}{{}}}~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzzzzyyyyyyyyyyyzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzz}}}}{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{zz{{{{{{{}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{z{{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{zz{{}}}}~~~~~~~~~}}~~~zzzzzzz{{zzzz{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{zzzzz{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zyyyy}}}zzz~~~}}}}}~~~~~~~~~~~~{{{yyyyzyyyyyyyyyyyyzyyyyyyyyyzzzzzzzzzzzzzzyyzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{~~~~}}~}}}}}}}}{{{{{{z{{{yyyyyyyzzzzzzzyyyyyzzz~~~~~~~~~~~}}}}}~~~}}~~~}}}}}}}}}}}}}}~}}~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{zzzz{{{{{{{}}}}{{{{~~~zzzzzzzzzzz}}~~}}{{}}}~~~~~~~~~~~~~~~~~~~~~}}{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}}}}{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{~~~~~~~}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{zz{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~~~}}}}{{{zzzzz{zzzzzzzzzzzz{zz{{{{{}}{{{{{{{{{{{{{{{{{{z{{{{{zz}}}~}}~~~~~~~~~}}~~{{{zzzzzzzzzzz{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{}{{{{{{{zzzzzzz{{zzzzzzzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzzyyyyyyzzzz}}}}}}}}~~~~~~~~~~}}{{yyyyzzzzzyyyyyyyyyzyyzyyyzzzzzzzzzzzzzzzzzzzzzzzzzyzzyyyyzzzzzzzz{{zz{{zzzzzzzzzzz{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{~~~~~}~~}}}}}{{{{{{{{z{{{yyyyyyzzzzzzzzyzzzz{z~~~~~~{{~~~~}}}}~~~~~}~~~~}}}}}}}}}}~~~~}}~~~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{}}{}{{{{{~zzzzzzzzzzz{{~~~}}{{{}~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyy}}{{{{{{{{zz{{{{{{{{{{{{{{{}}{{{{{{{{}}~~~~~~}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}~~~~}}}}}}{{{zzzzzzzzzzzzzzzz{{z{{{{{}}}{{{{{{zz{{{{{{{{{{{{zz{zz}}}~~}~~~~~~~~~}}}}{{{zzzzzz{zzzz{{{{{{{{{}}}}{{{{{{{{{{{{{{}}}}{{{{{{{zzzzzzz{{zzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzyyyyyyzzz~~}}}}}}~~~~~~~~~~zz}yyyyyyyzzzzyyzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzz{{{{zzzzzzzzz{{}}{{{{{{{{{{{{}~~~~~~~~~}}{{{{{{{{{{zyyyyyyyyyzzzzzzzzzzzzz{{~~~~~~{{}~~~}}}}}~~~~~~~~~}}}}}}}}}}}~~}}}~~~~~~~{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{~~~~~{{{{}~~~~~~~~~~~~~~~~~~}}}{}}{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyy}}}{{{{{{yyzz{{{{{{{{{{}}}}}}}{{{{}}}}}~~~~~~~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~}}{{{{{{zzzzzzz{{{zzzzz{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{z{zzz}}~~~~~~~~~~~~}}}{{{{{{{{{z{{zz{{{{{{{{{{{}}{{{{{{{{{{{{{{}}}}}{{{{{{{{{}}}}{{{{zzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~{~{~~~~~~{{{zzzyyyyyyy{{~~~~}~~}~~~~~~~~}}zzyyyyyzzzzzzyyyzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzz{{{{{{{{{zzzzzzz{{{{{{{{{{zz{{z{{}}{{{{{{{{{{{{}}~~}{{{~~}}{{{}}}{{{zzyyyyyyyyyzzzzzzzzzzzzz{{{~~~{{{}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}{{{{{{{{{{{{}}}}}{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{z{}~~~{{{{{~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}{{{{zyyyyzz{{{{{{{{{}}}}}}}{{{{}}}}}~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}{{{{zzzzzzzz{{{{zzzzz{{}}}{{{{{{{{{{{{zzz{{{{{{{{{{{{{{zz{{}}~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{}}}}{{{{{{{{{{}}}}{{{{zzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~{{{{{{~~~{{{{zzyyyyyzz{{{{~~~~~~}~~~~~~~~z}}yyyyzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzz{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{~~~~}}{{{~~}}}}}}}{{{zzzyyyyyyyyyzzzzzzzzzzzzz{{zz~~{{{}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~}}}}}{{{{{{{}}}}}}}}}{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{zz{{{}}}}{{{{{{{~~~~~~~~~~~~{{~}}}}}}}{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}zzyyyyzz{{{{{{{}}}}}}}}}{{{{}}}}}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}{zzzzzzzzz{{{{zzzzz{{}}}}}{{{{{{{{{{{zzzz{{{{y{{{{{{{{{{{}}~~~~~}}~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{}}}{{{zzzzzz{{{{{zz{{{~~~~~~~~~~~~~~~~{{{{{{{zzzzzzzzzzyyyyzz{{{{~~~~~~~~~~~~~~~zzzzzyyzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzz{{{{{{{z{{{{zzzzz{{{{{{{{{{{{{{{{{}}}{}}}}{{{{{{~~~~}}{{{{{{{{}}}{{{{zzyyyyyyyyyyzzzzzzzzzzzzz{{zz~{{{{z}}}}}}}}}~~~~}}}}}}}}}}}}}~~~}}}~~~~~~}}}}}{{{{{{{}}}}{{{}}}{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{zzzzzzzz{{{{{}}{{{{{zz{{~~~~~~~~~~~~{{{~~~}}}}{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}zzyyyyz{{{{{{{{}}}{}}}}}{{}}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~}}}}{zzzzzzzzz{{{{{{{z{{{}}}}}}{{{{{{{{{{{zzz{{{yyy{{{{{{{{{}}~~~~~}}}~~~}}}{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{zzz{zzz{{{{{{{{{~~~~~~~~~~~~~~~~~{{{{{{zzzzzzzzzzyyyyy{{{{{{~~~~~~~~~~~~~~{zzzzzyyzzzzzzzzzzzzzzzzzzzyzzzzzzzzyyzzz{zzzz{{zzz{{zzzzzzzzzzzzyyyzz{{{{{{zz{{{{zzz{{{{{{{{{{{{{{{{{{{}}}}}}}}{}}}}}~~~~~{{{{{{{{{}}}{{{{zzyyyyyyyyyzzzzzzzzzzzzyy{{zz{{{{{zyy}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}~~~~~}}}}}{{{{{}}}}}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{zzzzzzzzz{{{{{{{{{{zzzz~~~~~~}~~~~}}}{{~~~}}}}{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{}zzzyyyyyz{{{{{{{{{}{{}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}{}{{{zzzzzzzz{{{{{{{z{{{}}}}}}}{{{{{{{{{{zzzzzyyyyy{{{{{{}}}}~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{}}}}{{{{{{{{}}{{{{}}}}}~}}}}}}}}{{{{{{{{{{{{{{{{{{zzz{{{{{{{{~~~~~~~~~~~~~~~~}{{zz{{{zzzzzzzzyyyyyy{{y{yyy~~~~~~~~~{{~{{zzzzzzzzzzyzzzzzzzzzzzzzzzyyyzzzzzzyyyzz{{z{{{{{zz{{zzzzzzzzzzzzzyy{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{}}}}}}}{{}}}}}}}~~~{}{{{{{{{{{{{{{{zzzyyyyyyyyzzzzzzzzzzzzyyyzzz{{zzzzyyy~~}}}}}}}}}}}}}}}}}}}}}~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{zzzy{{{{{{zzzzzzzzzzzz{{{{{{{{zzz{{{{~~~}}}~~~}}}{{~~~}}}}{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzzyyyyyzzzz{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}{{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}{{{{{{zzzz{{{{{{{{{zzz{{}}}}}}}}{{{{{{{{zzzzzzyyyyyz{{{{{}}}}~~~~~}}}}}}}}}}}}}{{{{{{{}{{{}}}}}{{{{{}}}}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{{{{{{{{{zzz{{{{{{{{~~~~~~~~~~~~~~~}}zzzzzz{{zzzzzzzyyyyyyyyyyyyy~~~~~~~~~~{{{{zzzzzzzzzyyyzzzzzzzzzzzzzzzyyyyzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{zz{{{{{{{{{{{{}}}{{{}}}}}}}}}{{{}}}}}}}}}}}}}{{{{{{{{{{{{zzyyyyyyyyy{{{zzzzzzzzzyyyzzz{{zzzyyyy~~}~~}}}}~~}}}}}}}}~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{}}{{{{{{{{}}}}}}{{{{{{{{zzzyyyyyzz{{zzzzzzzzzzzzz{{{{{zzzz{{{~~~~}}~~~~}}zzzz~~~zz{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyzzzz}{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}{{{{zzzzzzzzz~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{zzz{{}}}}}}}}{{zz{{zzzzzzzzzzzzzz{{{{{}}}}}~~~}}}}}}}}}}}}}}{{}}}}}}{{{}}}}}{{{{}}}}{{}}}}}}}}}~~~~}}}}}}}{{{{{{{{{zzz{{{{zz{{{{{{{{{{~~~~~~~~~~~~~~}}zzzzzz{{zzzzzzzyyyyyyyyyyyyy~~~~}~~~~{{{{{zzzzzyyyyyyyyzzzzzzzzzzzzzzzyyyzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{}}{{{{{{{{{{z{{{{{{z{{}{}}}}}}}}}}}}}}}}{{{{{~}}}}}}}}}}{{{{{{{{{zzzzzzyyzyyyyyy{{{{{zzzzzzzzzzzzzz{{zyyyyyy}~~~}}}}~~}}~~}~~~~~~~}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{}}{{{{{{}}}}}}}}{{{{{{{zzzzzyyyzzz{zzzzzzzzzzzzzz{}}z{zzzzzzzzzzz}}~~~{{zzzzzz~~zz{{z}}{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyzz}}}}}{{{{{{{}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}}}~~}}}{{{zzzzzzzzz~~~~~~~~~~~~~~~}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{zzzz{{}}}}}}}}{zzz{{zzzzzzzzzzzzzzz{{zzz}}}~~~}}}}}}}}}}}}}}}}}}}}}}}{{}}}}}}{{{}}{{{{}}}}}}}}~~~~}}}}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~}}zzzzzz{{{{{zzyyyyyyyyyyyzzzyy~~}}}}}~{{{{zzzzzzzyyyyyyyzzzzzzzzzzzzzzzyyyzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{}}{{{{{{{{{{zz{{{{zzz}}}}}}}}}}}}}}}~}}}{{}~~~~}}}}}}}}}{{{{{{}}zzzzzzzzzzyyyyyyz{{{zzzzzzzzzzzzzzz{zzzyyyyz}}~~}}}~~~}}~~~~~}~~~~~}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{}}}{{}{{}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzz{zzzzzzzzzzz}}zzzzzzzzzzzzz}}~~{{zz{{{{zzzyyyzzz}}zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzyyzzz}}}}}{{{}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}~~~~}}}{{zzzz{zzzzyy~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}~}}}}}}~}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{zzzz{}}}}}}}}}{{z{{{zzzzzzzzzzzzzzzzzzzz{}z{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}{}}}{{{{}}}}}~~~~~~~~}}}}}}}}{{{{{{{{{z{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~}}}zzzzzz{{{{{zzyyyzzyzzyyzzzzyy~{{{z}}zzz{{zzzzzzzyyyyyyyzzz{{zzzzzzzyyyyyyyzzzzz{{{{{}{{{{{{{{{{{zzzzzzzzzzzzz{{}}{{{{{{{{{{{{{{{{{z}}}}}}}}}}}}}}}}~~}}}}}}~~~~~}}}}}}}}{{{{{}}{{zzzzzzzzzyyyyzz{{{zzzzzzzzzzzzzzz{zzzzzyzz}}~}}}~~~~}}}}}}}}~~~~~}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz}}z{{{zz{{{zzzzyyyyzz}zzzzzzzyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzz}}}}}}{{}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}~~~~}}}{{zzz{{{zzyyy~~~~~~~~~}}}}}~~}~~}}}}}}~~~~}}}~~}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{zzzz}}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzz{{zz{{{}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}{{~{{{{{{}}}}~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~}}{{{{zzzzyy{{zzzyyyyzzzzzzzzzzzzzz{{{zzzzzz{{{zzzzzzzyyyyyyyyz{{{{zzzyyyyyyyyyyzzzzz{{{{}}{{}{{{{{{{zzzzzzzzzzzzz{}}}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}~~~}}}~~~~~~~~~~}}}}}}{{{}}}}{{{zzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzyyyy}}}}}}~~~~~}}}}}}~~~~~}}~~~~~}}}}~~~~~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzz{{{zzz{{zzzzzzzzzzzzzzzzzzzzzzzzzyzyyyzzzzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz}}}}}}{}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{zz{{{{zzzzyz~~~~~~~~}}}}~~~~~~}}}}}}~~~~~}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}{{{{{{{{{{{z{{{{{{{zzzz}}}}}~~~{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}~~{{{{{{{{}}}~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}~}}}~~~~}}}{{{{{zzzyyyzzzyyyyzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzyyyyyyyyzz{{zzzyyyyyyyyyyzzzzz{{{{}}}}}}{{{{{{{{{{{zzzzzzz{{{{{}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~}~~~}}}}~~~~~~~~~~}}}}}{{{}}}}{{{zzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzyyyy}}}}}}~~~~~}}}}}}~~~~~}}~~~~}}}}}}~~~~~}}}}}}~~~}}}}}}}}}}}}}~}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzyyyy{{{{{{{zzzzzz{{{{zzzzzzzzzzzzzzyyzzzzzzzzzzzzzyyzzzzzzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{}}}{{}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{zz{zzzzzzzzzzz~~~~}}}}}}}~~~~~}}}}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}{{{{{{{{{{{zz{{{{{{zzzzz}}}}~~}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{}}}}}}}~}}}}}}}}}}}}}~~}}}}}}}}~~{{zz{{{{{}}}~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~}}}}{{{{zzzzzzzzzzzyyyzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzyyyyyyyyzzzzz{{{}}}}}}}{{{{{{{{{{{{{zzzzz{{{{{{}{{}{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~}}}}}~~~~~~~~~~}}}}{{{{{}}{{{{{zzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzz}}}}}}}~~~~~}}}}}}~~~~~~}}}}}}}}}~~~~~~~~}}}~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzyyz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{}{}{}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzz~~~~}}}}}}}}~~~~}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}{{{{{}}}{{{zz{{{{zzzzzzz}}~~~~}}{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{}}}}}}}~}}}}}}}}}}}}}~~}}}}}}}}}{{zzzzz{{{{{{~~~~~~~~~}}}}}}{{{{{{{{{{{}}}}{{{{{{}}}~}~~}}}}~~~}}{{{{zzzzzzzzzzzzzyzzzzzzzzzzzzzzzzz{{{zzzzzzz{{{zzzyyyyyyyyyyyyzzzzzzzzyyyyyyzzzzz{{{{}}}}}}}}}}{{{{{{{{{{{zzzzz{}}{{}}}}}}{{{{{{{{{{}}}}}}}}}}}}}}}~~~~}}}}}}~~~~~~~~}}}}}}{{{{{}}{{{{{{z{zzzzzzzzzzz{{{{{zzzzyzzzzzzzzzzzzzzz{{}}}}}~~~~~}}~~~~~~~~~}}}}}}}}~~~~~~~~~~~}}~~~~~~}~}}}}}}~~~~~~~}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzz{{y{{{{{{{{{{{{{{{z{zzzzzzzzzzzzzzzzzzzzzzyyzzzzzzz{zzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzz~~~}}}}}}}}~~~~}}}}}}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~~}}}}}~~~~~~~~~}}}}}{{{{}}}}{{{{{{zzzzzzzzzzz~~~~yy{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{{{}}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}{{zzzzzz{{{{{~~~~~~~~~~}}}{{{{{{{{{}}{{}}}}{{{{{}}}~~~~~}}}}~~~}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzz{{{{zzyyyyyyyyyyyyzzzzzzzyyyyyyyzzzzz{{{{}}}}}}}}}}}{{{{{{{{{{zzzzz}}}}{{}}{{{{{{{}}{{{}}}}}}}}}}}}}~~~~~~~}}}}}}~~~~~~~~}}}}}}}{{{{{{{{zzz{{{{zzzzzzz{{{{{{{{{zzzyyzzzzzzzzzzzzzz{{}}}{{{~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}~~~~}}}{{{{{{{zyyzzzzzzzyyyyzzzzyyyyy{{{{{{{{{{{{{{{{zz{zzzzzzzzzzzzzzzzyyyzzzzzz{{{zzzzzyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{}}}~~~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}{{{{{{{{{zzzzzzzzzzz{{~~}}}}}}}~~~~~~}}}}~~~zz~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}~~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}~~}~~~~~~~~~~~~~}}}}}}{{}}}}}{{{{{{{zzzzzzzzzzz~{{yy{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{}}}}~~~~~}}}}}}}}}}~~}}~~~~}}{{{{zzzzzzz}}{{~~~~~~~~~~}}}{{}}{{{{{}}}{}{{{{{{{{{}~~~}}}}}}~~~}}}}{{{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzz{{zzz{{{zz{{{zzzyyyyyyyyyyyyyyzyzzzyyyyyyyyyyz{{{z}}}}}}}}}}}{{{{{{{{{{zzzzzz}}}}{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~}}~~}}}}~~~~~~~~~~~}}}}}}}{{{{{{zzzzzz{{{{zzzzz{{{{{{{{{zzzz{{zzzzzzzzzzzzzz{}}}{{{{~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzzzzzzzzzyyyyzzzzzyyyyy{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyzzzzzzzz{{{zzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{}}}~~}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}{{{{{{{{zzzzzzzzzz{{{{~~}{{{}}{~~~~~~{{{zzzzzz{~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{}}}}{{{{{{{{{zzzzzzzzzzz{{yy{{{{{zz{{{{{{{zz{{zzzzzz{{zz{{{{{{{{{{}}~~~~~~~~}}}}}}}}}}}}}~~~~}}{{{{{zzzzz{}}}~~~~~~~~~~~~}}{{}}{{{{{}}{{{{{{{{{{{{~~~}}}}}}}}~}}}}}{{{{{zzzzzzzzzzzzzzzzz{{zzzzzzzzzz}{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzzzz~~}}}}}}}}{{{{{{{{{zzzzzz}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}{{{zz{{zzz{{{{{{zzzzzz{{{{{{{{zzzzz{zzzzz{zzzzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzzzzzzzzzzyyyzzzzzzzzyyyy{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyzzzzzzzz{{zzzzzzzzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{yy}}}~}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}{{{{{{{zzz{zzzzzzz{{yy{y}}{{z}{{{~~~{{{{{zzzzz{{~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{zz{{zzzzzzzzzzz{{zy{}}{{zzz{{{{{{z{{{{{{{{z{{zzz{{{{{{{{{~~~~~~~~~~}}}}}}}}}}}{}{{{{{{{{{{{z{{z{{{}}}~~~}~~~~~~}}}{{{{{{{{}}}{{{{{{{{{}~~~~~}}}}}}}}~}}}}{{{{{{{zzzzzzzzzzzzz{{{{zzzzzzz{{{}}{{{{{{zzzzzzzzzzzzzyzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzz~}}}}}}}}}}}{{{{{{zzzzzzzz}}}}}}}{{{{}}}}}}}}}~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}{{{{{zz{{{zz{{{{{{zz{z{{{{{{{{{{zzzzzzzzzz{{{z{zzzz{{zzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzzzzzzzzzyyyzzzzzzzzyyyy{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyzzzzzzz{{zzzzzzzzzzzyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzy{{yyyzz~~}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}{{}}{{{zz{{{zzzzzz{{yyyyyzzzzz{{{{{{{{{{{zzzyy{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{zz{{zzzzzzzzzzzzzzzz}}zzzz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}~~}}~~~~~~}}{{{{{{{}}}}}}{{{{{{{}}~~~}}}}}}}}}~~}}}}{{{{{{{{zzz{{zzzzzz{{{{{{{{zzz{{{{}}{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzz{{{}}}}}}}}}}}}}{{{{{zzzzzzzz}}}}}}}{{{}}~}}}}}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{zzz{{z{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{zz{{{{zzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zzzzzzzzyyyyyyzzzzzzzzzyyy{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyzzzzzzzzzz{{zzzzzzzzzyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyzzz~{{}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}~~~~~~}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}}}zz{z{{{{{{zzzzzyyyyyyzzzzzz{{{{{{{{{{zzzyyy{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{zzz{{zzz{{{z{{zzzzzzz}{zzzz{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{}}}~~~~~~~~}}}}}}}{{{{zz{zz{{z{{{{{{{{{{{}}}~~~~~~~~}}}}{{{{{{}}}}}}{{{{{{{{}}~~}}}}}}}}}~~~}}}}{{{{{{{{{{{{{zzzzzz{{{{{{{{zz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyzzzzyyyyyyyzzzzzz{{{}}}}}}}}}}}{{{{{{{{zzzzzz}}}}}}}{{{}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyzzzzzz{{{{{{{{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}{{{{zzzzzzzzzzyyyzzzzzzzzzzyyyyzz{{{{{{}}{{{{{{{{{{{{{zzzzzzyyzyyyyyyyyzzzzzz{{{{zzzzzzzzzzyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzyyyyyyzzz{{{}}}~~~~~}}~}}}}}}}}}}}}}}}}}}}}~~~~~}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}{zzzz{{{{{{{zzzzyyyyyyzzzzzzzz}}{{{{{zzzzzyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{zzzz{{zz{{{{{{{zzzzzzz{{{zz{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{}}}}~~}}~~~}}}}}}}{{{{zz{zzzzz{{{{{{{{{{~~}}}~~}}~~~~}{{{{{{{{{}~~}}}{{{{{{{{{~~~}}}}}}}}~~}}~}}}}{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzyyyyyzzzzzz{zzz}}}}}}}}}}{{{{{{{{{{{zzz}}}}}}{{{{~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyy{{{zzz{{{{{{{{zzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}{{{{zzzzzzzzzzzyzzzzzzzzzzzzzyyz{{{{{{}}}}}}{{{{{{{{{{{{zzzyyyyyyyyyyyyyyzzzz{{{{zzzzzzzzzzzyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzz{{}}}~~~~~}~~~}~}}}}}}}}}}}}}}}}}~~~~}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{zzzz{{zz{zzzzzzzyyyzzzzzzzzz}}}{{{{zzzzyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}~~}}~~~~~~~~~~~~~~~~}}}}}}}}}{{{zzzzz{{{{{{{{{zzzzzzzz{{{zz}}}{{{{{{{{{zz{{z{{{{zzzzz{{{{{{{}}}~~}}~~}}}}}}}}}{{{{{{{{zzz{{{{{{{{{{~~}}}}}}}~~~}}{{{{{{{{}}~~}}}}}{{{{{{{~~~}}}}}}}}~~}}~}}}}{{{{{{{{{{{z{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{zzzzzzzzzzzzyyzzyyzzzzzzzyyyyzzzzzzzzzzz}}}}}}}}}}{{{{{{{{{{{z{{}}}}}}}}{~~~}}}}}}}}}}}}}}~}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{zzzz{{{{{{{{zzzz{{z{~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~}}{{{{{zzzzzzzzzzyyyzzzzzzzzzzzzyyyyz{{{{}}}}}}}}}{{{{{{{z{zzzyyyyyyyyyyyyyyzzzzzyy{zzzzzzzzzzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzz{zzzzzzzzzzyyyzzzzzzzzz}}}}{{{zzzzyyyyyy~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}~}}}~~~~~~~~~~~~~~~~}}}}}~~}}{{{{zzzzz{{{{{{zzzzzzzzzz{{{{{{}}}{{{{{{{zzzzzzz{{zzzzzz{{{{{{{{}~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{}}~~~~}}}}}~~~~}}{{{{{}{{{}~~}}}}}{{}}{{{{{}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzz~~}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}}~~~}}}}}}}}}~~}~~~}}}}}}}~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{zzz{{{{{{{{{zz{{{{{~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}{{{{{{zzzzzzzyyyyyyyzzzzzzzzyyyyyyz}}}{}}}}}}}}}{{{{{{{zzzzyyyyyyyyyyyyyyyzzzzzyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz~~~~~~~~~~~~~~}}}}~~}}}}~~~}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~~~~~}zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}{{{{{zzzzzzyyzz}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~}}}}~~{{{{{{zzzz{{{{{{{zzzzzzzzz{{{{{{{}}}{{{}}{zzzzzzzzzzzzzzzz{{{{{{{{{}~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{}}}}~}}}}~~~~~~}{{{{}}}{{{}}}}}}{{{{}}}}{{{}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyy{{{{zzzzzzzzz~~}}}}}}}}}{{{{{{{{{{{{{}~~}}}}}~}}}}}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzzzzyyyyyyyzzzzzyyyyyyyyz}}}{{{}}}}}}{{{{{{{{zzzzyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz~~~~~~~~~~~~~}}~~~~~}}}}~~~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{{{{{zzzzzzyyzzz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~{{{{{zzzzz{{{{{{{{zzzzzzzzz{{{{{}}}}}{{}}{zzzzzzzzzzzzzzz{{{{{{{{{}}}~~~~~~~{{}}}{{{{{{{{{{{{{{{{{{{{}}}~~~}}}~~~~~~}}{{}}}}{{{}}}}}}{{{{}}}}{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{zzzzzzzzz{{{{{zzzz{{{~~}}}}}}}}}{{{{{{{{{{{{}}}~}}}}}}}}}}}}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~}}}}{{{{{{{zzzzzzzzzyyyyyyzzzzzyyyyyyyyyy}}{{{}}}}}}{{{{{{{{zzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz~~~~~~~~~~~~~}~~~~}}}}~~~~~~~~~~yy}}~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~}}}zzzzzzzzzzzzzz{{zzzzzzzzzzzz{{{zzzz{{{{{zzzzzzzzzzz}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~yyy{{z{{zzzzy{{{{{{{{{{zzzzzzzz{{{{}}}}}}{{{{zzzzzzzzz{{zzzz{{{{}{{{{}}}}}~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{~}}}}~~~~~~}}}{{}}}}}}}}}}}}{{}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{zzzzzzzzzz{{{{{{{{{{{{~}}}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}}}~~}}}}}}}~~~~~}}}~~~~~~{{{yyy{{{{{zzyyyzzzzzzzzyyyyzzzyyyyyyyyyyyy{}}}}}}}}}}}{{{{{{{zzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz~~~~~~~}}~~~~~~~~~~}}}~~~~~~~yy}}~~~~~~~~~~~~~~~}}~~}}}}}~~~~~~~~~~~~~~~~~~~~{{{{zzzzzzz{{z{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~yyyyyzzzzyyyy{{{{{{{{{{zzzzzzzz{{{}}}}}}}}{{zzzzzz{{zz{{{{{zz{{{}}}}}}}}}}}~~~}}{{{{}}{{}}{{{{{{{{{}{{{{{{{{{}}}~~~~~~~}}{{{{}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{zzzzzzzzzz{{{{{{{{{{{~~~}}}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{}}}}}}}~}}}}}}}}}{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~}}}~~~}}}{{yyyy{{{{{zzyyyzzzzzzzzyyyyzzzzyyyyyyyyyyy{}}}}}}}}}}}{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{~~~~~~}}~}}}~~~~~~~}}}~~~~~yyyy~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~}}{{{{zzzz{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~}}~yyyyyyyyzzyyyy{{{{{{{{{{{{{{zzzzz{}}}}}}}}{{{zzzz{{{{{{{{{{{{{{{}}}}}}}}}}}}~~~~{{{{{}}{}}}}{{{{{{{{}}{{{{{{{{}}}~~~~~~~}}}{{{}}}}}}}}}{{{}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{}{{}}}}}}}}}}}{{{}}{{{{{{}}}}}}{{{{{{{{z{{{{{{zzz{{{{zzzzzzzzz{{{{{{{{{{{{~~}}}}}}}}}}}{{}{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{}}}}}}~~~~}}}}}}}}}}{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~}~~~~}}}zyyyyyzz{{{zzyyyyzzzzzzyyyyyyyzzzyyyyyyyyyyz}}}}}}}}}}}{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{~~~~~~}}}}}}~~~~~~~~~z~~~zzyzyy~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~}}}{{{zzz{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{zzzzz{{zzzzz}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~}}{yyyyyyyyyyyyyzz{{{{{{{{{{{{{zzzzz}}}}}}}}{{{{zzz{{{{{{{{{{{{{{}}}}}}}}}}}}~~~~}}}{{{{}}}}}}}}}}{{{{{}}}}}}{{{{}}}}}~~~}}}}}{{}}}}}}}}~~{}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}{{}}}{{{{{{{}}}}}}}}}~}}}}}}{{{}}{{{{{}}}}}}}}}{{{{{{{{{{{{zz{{{{{zzzzzzzzz{{{{{{{{{{{{{{}}}}}{{}}}{{{}}{}{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}{{{{{{}{{{{{{{{~~~~~~~~~~}}}}~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}~~~~~~~~~~{{zyyyyyyzzz{yyyyyyyyzzzzzzzyyyyyzzzyyyyyyyyyzzz}}}}}}}}}}{{z{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{~~~~~~~~~~}~~~~}~~{{{zzzzzzzzzzzzzz~~~~~~~~~~~~~~z}}}}}}}}~~~~~~~~~~~~~~~~~~}}}{{zzzz{{yy{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{zzzz{{{zzzzyyz~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~}}{{{{{}}}}~zz~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}~~~~~~}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{yyyyyyyyyyyyyzzz{{{{{{{{{{{{zzzz}}}~~}}}}{{zzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~~}}}}{{{{}}}}}}}}}{{{{{z}}}}}}}{{{}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{}}}}}{{{{{}}}}}}~~~~~}}}}}}}}}{{{{{{{}}}}}}}}{{{{{{{{{{{{{z{{{{{{zzzzzzzzzzz{{{{{{{{{{{}}}}{{{}}}}{{}}}}}{{}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}}~}}}}}}}}}}}{{{{{{{{{{{}}}}}}}}{{{}}}}{{{{{{~~~~~~~~~~~}}}}~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}~~~~~~~~~~{{zzyyyyyzyyyyyyyyyyyzzzzzzzzzyyyzzzzyyyyyyyyz}}{{}}}}}}{{zzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{~~~~~~~~~~~~~}}{{{{{{zzzzzzzzzzzzzzzzz~~~~~}}zzzzzz}}}}}~~~{{~~~~~~~~~~~~~~}}{{{zzzzzyyyzz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zzzyyzz}}~~}}}~~~~~~~~~~~~~~~~~~~~~~}}{{{{~~}}}}{{{{{{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}~~~~~~~}~~~~{{{{zzzzyyyyyyyyyyyyzzz{{{{{{{{{{{{zzz{~~~~~~~~}zzz{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~}}}}{{{}}}}}}}}{{{{{{zzz}}}}}}{{}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}~~~~~}}}}}}}}}{{{{{{{}}}{{{}}}{{{{{{z{{{{{zz{{{{zzzzzzzzzzz}{{{{{{{{{{}}{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~}}~~}}}}}}}}}}}{{{{{{{{{{{}}}}}}}}}}}}}}}}}{{{{~~~~~~~~~~~}}}}~~}~~~~~~~~}}~~~~~~~~~}}}}}}}}}}~~}}~~zzzzzzzyyyyyyyyyyyyyzzyyzzzzzzzzzyyzzzzzzyyyyyyyy}}{{{}}}}{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{~~~~yy~~~~~~}}}{{{{{zzzzzzzzzzzzzzzzzz~~~~{{{zzzzzz}{{}}~~{{{~~~}}~~{{~~~~~}}{{zzzzzzzzzzzz{{{{{{{{{{{{{yy{{{{}{{}}}}{{{{{zz{{{{{zzzzzyyy}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}{zzz{{}}}}{{{{{{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}~~~~~~~}}}}}{{{{zzzzyzzyyyyyyyzzzzz{{{{{{{{{{{{{z{{{~~~~~~~}}{{{{{{{{{{{{{{{{{{{{}{{}}}}}}}~~~~}}}}{{}}}}}}}}{{{{{{{zz}}}}}}}}}}}}}}~~}}}}}}}}}}}}}~}}}}}}}}}}~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}}}}}~~~~~}}}}}}}}}{{}{{{{}}}{{{}}}{{{{{{z{{{{{zz{{{{zz{{{zz{{zz}}}}{{{{{{{{{{{{{{{}{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}~}}}~}~}}}}~~}~~~~~~~~~~~~~~~~~~}}}}}~~}~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{}}~~~~~~~~~~}}}}}}}~~~~~~~}~~~~~~~~~~~}}}}}}}}}~{}}{{zzzzzzzyyyyyyyyyyyyyzzzyzzzzzzzzzzzzzzzzzyyyyyyyyy}{{{{}}}{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{z~~~yyyyyz~~}}}}{{{{zzzzzzzzzzzzzzzzzzz~~~~{{{zzzzzzz{{}}{{{{{{{}}}~~{{}}~~}}}zzzzzzzzzzzzzz{{{{{{zzzzz{yyyyzz}}}}}}}}{{{{{zz{{{{{zzzzzyyy}}}z}}}~~~~~~~~~~~~~~~~~~~~~~}{{zzz{zz}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}~~~{{{{{}}{{{{zzzzzzzzzyyyyyyzzzzz{{{{{{{{{{{{{{{{{~~~~~~{{{{{{{{{}}{{{{{}}{{{{{{{{{{}}}}}}~~~~~}}{{}}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}~~~}}}}}}}}}}}~~}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}}}}~~~~~~~~~}}}}}}}}}}}{{{{{{{{{}}}}{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{}}}{{{{}}}}}}}}}}}}}}}}}}}{{}}~~~~~~~~~~}}}}}}}~~~~}}}}}~~~~~~~~~~~}}}}}}}}}{{{{{zzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyy{{{{{}}}}{{{{yyyzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzzzzzzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zz~~yyyyzzzzz}}}{{{{{zzzz{zzzzzzzzzzzz~~~~~{{{zz{{zzzzz}}{{{{{{{}}~~~{{}}{{}}}zzzzzzzzzzzzzz{}}}zzzzzzzzyyyyzzz}}}}}}}{{{{{z{{{{{{{zzzzzzzzzzzzz}~~~~~~~~~~~~~~~~{~~~~~}{{zzzzzz{{{z{{{{{{{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~}~}}~~~~~}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}~~~~{{{{{}}{{{{zzzzzzzzzzyyzzyyzzzz{{{{{{{{{{{{{{{{{{{{{{~{{{{{{{{{}}}{{{}}}}{{{}{{{{{{}}}}}~~~~~}}}{}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}~~~}}}}}}}}}}}~~}}}}}~~}}~~~~~~~~~~~}}~~}}}}}~~}}}}}}}~}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{}}}}}}}{{{{{zzzzzyyyzz{{{{{{{{{{{z{yyy{}}{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{}}}}}{{{{}}}}}}}}}~~~}}}}}}}}}~~~~~~~~~~}}}}}}}}~~~~}}}}}~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyy{{{{{}}}}{{{{yyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzz}}}{{{{{{zz{{{zzzzzzzzz{{~~~~~{{{{{{{zzzzzz{{{{{{{{~~~~}}{{{{{zzzzzzzzzzzzzzzzzz}}}zzyzzzzzzzyyzzz}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzz}}{{~~~~~~~~~~~~~{{{{{{}}zzzzzzz{{zz{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}~}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}~~}}{{{{{}{{{zz{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}{{}{{}}}{{{{{{{{{}}}}}}}}}{{}}}}{{{~~~~}~~~~}}}}}~}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}}}}}}}~~~}}}}}~~}}~~~~~~~~~~~~~~~~~~}}~~}}}}}~~}}}~}}~~~~~~~~}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{}}}}}}}}{{{{zzzzzyyyzz{{{{{{{{{{{zzyyyy}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{}}}}}}}}~~~~}}}}}}}}}~~~~~~~~}}}}}}}~~~~~~}}}}}~~~~~~~~~~~~~}}}}}{{{}{{{{{{zzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzz}}}}yy{yyyyyzzyyzzyyyyyyyyyyyyyyyzzzzzyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyy{}}{{{{{{{zz{{zzzzzzzzzz{{~~~}}{{{{{{zzzzzzz{{{{{{{{{~}~}zzzzzzzzzzzzzzzzzzyzzzzzyyyyyyzzzzzzyyyy}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{~~~~~~~~~~~~~{{{{{{zzzzzzzzz{zzz{}}{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}~~}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}~~~~~~}}}}}}}}}}~}}}}{{}}{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}{}}}{{{{{{{{{}}}}}}}}}{{}}}}}{{~~~~~~~~~}}}}}~~}}}}}}}}}}}}{{{{{{}}}}}}}}}~~}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~}}~}~~}}}}}}}}}{}}}}}}}}{{{{{{zzzyyyzz{{{{zzyy{{{{zzzzyy}}}}}{{{{{{{{{{{{{}{}}}}}}}}~}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{}}}}}}}}~~~~}}}}}}}}~~~~~~~~~}}}}}}~~~~~~~}}~~}}~~~~~~~~~~~~}}}}}}{}}{{{{{{{zzzzzzyyyyyyzzyzzzzzzzzz{zzzzzzzzzzzzzzzzyyyyyyzzzz}}}}}yyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyzyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyy{{{{{{{{{zzzz{zzzzzzzzzz{{{}}}}{{{{{zzzzzzzz{{{{{{{{{{}}}zzzzzzzzzzzzzzzzzyyyzzzzyyyyyyyzzzzzyyzz}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{~~~~~~~~~~}}{{{{{zzzzzzzzzzz{{{}}}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~}}}}}}}}}}}}~~~~~}}}}}}}}}~~}}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{}}{{{{{}}}}{{{{}}}}{{{~~~~~~~~~~}}}}~}}}}}}}}}}}}}}{{{{{{}}}~~~~~~}}}}}}}}}}}}{{~~~~}~~~~~~~~~~~~~~~~}~~}}}}}}}}}}~~}~~~~~~~~~~~~}}}}~~~~~}~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{zzzyyyyzz{{{{zyy{{{zzzzzyzzzz}}{{{{{{{{{{{{{{{{}}}~~~~~~~}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}}}}~~~~~}}}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzyyyyyyyzyyyyzzzzzzz{{zzzzzzzzzzzzzzzzyyyyyzzz}}}yyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{zzzzzz{zzzzz{{{}}}}{{{{{{zzzzzz{{{{{{{{{{{{{{zzz{{{z{zzzzzzzzzzyyyzyyyyyyyyzzzzzzyyzzz}~}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{~~~~~~~~~}}{{{{{zzzzzz{{{{{{{}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}~~~~~~~~~}}}}}}~~}}}}~~}}}}}}}}}}~~~}}}}}}}}}}{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}{{{{{{{}}}}{{{}}}}{{{}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{}}~~~~~{}}}}}}}}}}}}{{{~~}}~~~~~~~~~~~~~~~~}}~~}}}}}}}}}~~}}}~~~~~~~~~~}}}}}~}}}}}}~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{zzzyyyyzyzzzyyyy{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{}}}~~~~~~~}}}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}}}~~~~~}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}{{{{}{{{{zzzzzzyyyyyyyyzyyyyyzz{zzz{{zzzzzz{{zzzzzzzzyyyyzzzz}}}yyyyyyyyyyzzzzzyyyyyyyyzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyzzzzzzzzzzzzzzzzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{zzz{{{{{{{{z{{{{}}}{{{{{zzzzzzz{{{{{{{{{{{{{{zzz{{{{{zzzzzzzzzzyyyyyyyyyyyyzzzzzyyyzzz{~~}{{{{{{{{{}}{{{{{{{zzzzzzzzzzzz{{{{{{{{~~~~~~~~}{{{{{zzz{zzz{{{{{{{}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~}}}}}~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}zz}}}}{{{{{{zzzzzzzzzzz{{{{{y{{{{{{{{{{{}}}}}}}}}}}}}}{{{{{{{}}}{{{}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~zzzzzz{{{{{{{}}}}}}z{{{{}}}~~~~~~~~~{{~~{{}}~~}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}~~~~{{}}~~~~~~~}}}}}}}}}~~~~}}}}{{{{{zzzzyyyyyyzzzyyyzzzzzzzzzzzzz{{{{{{{{{{{zz{{{{{{{}~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}~~~}}}}}}~~~~}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}}{{{{{{{{{{zzzzzyyyyyyyyyyyyyyzz{{{{{{{zzz{{{{zzzzzzzzzzyyzzzzz}}}yyyyyyyyyyzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyzz{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyzzzzzz{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{zzzz{{{{{{{{{{{{}}}{{{{{zzzzzz{{{{z{{{{{{{{{{zzzzz{{{{zzzzzzzzzzzyyyyyyyyyyyzzzzzzyyzzz{{~}{{{{{{{{{}}}}{{{{{zzzzzzzz{{{{{{{{{{{{{{{~~~~}}{{{{{{z{{{{{{{{{{{}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{}zzzzzz{{{{{{{{{zzzzzzzzzz{{{zzzyy{{{{{{{}}}}}}}}}}}}}}}}}}}}{}}}}}}}{}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~zzzzz{{{{{{{{{zzzzzzz{{{{{}{{{{~~~~{{{~~{{{{~~}}}}}}~}}}}}}}~~~~~~~~}}}}~~}}~~~}}~~~{{{{{}}~~~~~}}}}}}}}}}~~~~}}}}{{{{{zzzzzyyyyyzzzzzzyzyyzzzzzzzzz{{{{{{{{{{{zzz{{{{{{{{~~~~~~~~}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}~~}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{zzz{{{zz{{{{{{{zyyyyyyyyyyyyyyy{{{{{{{{{zzz{{{{zzzzzzzzzzzyzzzzzzzzyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyzzzzz{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{zzzz{{{{{{{{{{{}}{{{{{{{zzz{{{{{{{zz{{{{{{{{{zzzzz{{{{{{zzzzzzzzzyyyyyyyyyyyyzzzzzzzzzz{}}}}{{{{{{{{}}}}{{{{{zzzzzzzz{{{{{{}}}{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{z{{zzz{{{{{{{{{{zzzzzzzzz{{zzzzyyyy{{{{{}}}~~~}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}zzzz{{{{{{{{{{zzzzzzz{{{{{{{{{{~~{{{zz{{{{{{~~~~~}}}~~}}}}}}}}~~~~~{}}{{~~~~~~~}}}~~{{{{}}}~~~~~~}}}{{~~}~~~~~~}}{{{{{zzzzzzzzyyyzzzzzzyyyzzzzzzzzzzzz{{{{{{{{{{zzzzz{{{{{zz~~~~~}}}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}~~}}}}}}~~~~~~~~~}}}~~~~~~}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{zzz{{zzzz{{{{{zzzyyyyyyyyyyyyyy{{{{{{{{{zzzz{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyzzzzzz{{{z{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyz{{{{{{{{{{{z{{{y{yyyy{yy}}{{{{{{{{{{{{{{y{{zz{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyzzzzzzzz{{}}}}{{{{{{{{}}}}}{{{{zzzzzzzz{{{{{{}}}}{{}{{{{{{}{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{zzz{{{{{{{{{zzzzzzzzz{{zzzzzzyyzz{{{{}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{zzzzzzz{{{{{zzzzzzzz{{{{{{{{{{{{{{{zz{{{{{{~~~~}}}}}~~~~~}}}}~~~~~{{{{{{~~~~~~~}zzz{zzz~~~{}~~}}{}{{{~~~~~~~~~~{{{{{{{zzzzzzzzzyzzzzzzyyzzzzzzzzzzzzzz{{{{{{{{{{zzzz{{zzzzz~~~~~~~}}}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{z{{{zz{{{{{{zzzzzyyyyyyyyyyyyy{{{{{{{{{zz{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyzzzzzz{{{z{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyy{{{{{{{}{{{{{{{yyyyyyyyyyyy{{{{{{{{{{{{{{yyzzz{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyzzzzzzzz{{}}}}}{{{{{{{}}}}}{{{{{zzzzzzzz{{}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}{{{~~~}}}}}}{{{{{{{~~~~~~~~~~~~~~~~}~~{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{zz{{{{{{{{{{{zzzyyyz{{zzzzzzzzzzz{{{{~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{zzz{{{{~~}}}}}}~~~~~~~~}}~~~~{{{{{~~~~~~~~zzzzzzzz~~~{}}}}{{{{{~~~~~~~~~~{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzz{{{{{{{{{{{zzzzzzzzzz~~~~}~}}}}}~~}}~~~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}~~}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyzzz{{z{{{{zz{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyy{{{}{}}{{{{{{{yyyyyyyyyyyyyyyyy{{{{{{{{{yyzzz{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyzzzzzzzzzz{}}}}{{{{{{{}}}}}{{{{zzzzzzzz{{{}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}}}}}}}~~~}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~}}{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}}}}{{{{{{{{{{{{{{{{{{{{{{yyyyyzzzzzzzzzzzzzz{{{{~~~~~~~~~~}}}}}}}}~~}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzz{zzzzzzz{{{{{{{{{{{{{{{{zz{{{{{{}{{{}~~~~~~~~}}}~}}{{{{{{{~~~~~~~{zzzzzz{{~z{{{}{{{{{{~~~zz~~~~~{{{zzyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{zzzz{{{{{{{{{{{zzzzzzzz~~~~}}}}}}}}}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyzzzzzz{{zzzzzzzzzzzzzzzzzzzz{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyzzzzzzzzzyyyyyzzzzzzzzz{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyy{{}}}{{{{{{{{yyyyyyyyyyyyyyyyyy{{{{{{{{yyyyy{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyzzzyyyyyyzzzzzzzz{}}}}}{{{}}~}}}}}{{{zzzzzzzz{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}}}}}}~~~}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~}}}{{~~~~~~~~~~~~~~~~~~~~~~~{{{}}}~~~}}~~~~~~~~~~~}}}}}}}}}}}~~~}}}}}{{{{{{{{zzz{{{{{{{{{{{yyzzzzzzzzzzzzzzzzzzzz{~~~~~~~~~~}}}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~}~~~~~~~~}}~~~~}}~~~{{{}}}}}{{{{{zzzzzzzzzzzzzzz{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~}}}}}{{zzz{{{{~~~~~~{{{zzzzz{{{zz{{{{{{{{{{{zzzyyy{{yzzzzyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{zzzz{{{{{{{{{{{zzzzzzzz}~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyzzzzyy{{zzzzzzzzzzzzzzzzz{{z{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzzzzzyyzzyyyyzzzzzzzzz{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyy}}}}{{{zyyyyyyyyyyyyyyyyyyyyy{{{yy{{yyyyyy{{y{{{{{{{zz{{{{{{{{zzzzzyyyyyyyzzyzzzyyyyyy{{{zzzzzz}}}}}}{{}}~~~~}}}{{{zzzzzzz{{{{}}}}}}}}}}}}}}}}{{{{{{{{{}}{{}}}}}~~~~}}}}}}}}}}}}{z{{~~~~~~~~~~~~~~}}}}{{~~~~~~~~~~~~~~~~~~~~~zz{{{}}~~~~}}}~~~~~~~~~~}}}}}}}}}}}~~~}}}}{{{{{{{{{zzz{{{{{{{{{{zzyzzzzzzzzzzzzzzzzzzz{{{~~~~~}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~}~~~{{{}{{{{{{{{{zzzzzzzz{{zzzzz{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~}}}}{{{zzz{{{{{~~~}{{{{zzzzzz{{zzzz{{{yyzzzzzzzyyyy{yyzzyyyyyzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzz{{{{{{{{{zzzzzzzz{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}{}{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyzzzzyy{{zzzzzzzzzzzzzzz{{{zz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzyyzzzzzzyzzyyyzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzz{{{{{{{{{zzyyyyyyyyyzzzzzzzyyyyy{{{{zzzzz{{}}}}}}}}}~~}}}}{{{zzzzzzzz{{}}}}}}}}}}}}}}}}}}{{{{{{{{}}{{{{}}}~~~~}}}}}}}{}}zzzzz{{~~~~~~~~~~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~zz{{{}}~~~}}}}}~~}~~~~~~~}}}}}}}}}}}~~~~}}{{{{{{zzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{zzzz{~~~~~~}}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~}}}}~}}~~~~}}~~~~~~~~~{{{{{{{{{{{{{zzzzzzzz{{{zzzzz{{{zzzzzzzzz{{{{{{{z{{{{{{{{{{{{{{{}}}~~~~~~}}}}{{zzzzzz{{{{{}}}{{{{{zzzz{{zzzzzzzyyzzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzz{{{{{{{{{zzzzzzz{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyzzyzzyyyyy{{zzzzzzzzzzz{{{{z{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzz{{{z{{{{{{{}}{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{zyyyyyyyzzzzzzzzzzyyyyyy{{{zzzz}}{}}}}}}~}}~}}}}{{{{{{{zzzzz{{}}}}}~~}}}}}}}}}}}{{{{{{{}}}{{{{{{{{~~~}}}}}}}{{{{zzzzz{{~~~~~~~~}~}}}}}{{{{{}~~~~~~~~~~~~~~}}}zzzz{{}}~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~~}}{{{{{{{{zzz{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{zzzzz{~~}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}}}}}~}~~{{{~~~~~~~~{{{{{{{{{{{{zzzzzzz{zz{{zzzzzz{{{{zzzzzzz{{{{zzzzz{{{{{}}{}{{{}}}}~~~~~~~}}}}{zzyzzz{{{{{{{{}{{{{{{zzzzzzzzzzzz{{zzyyzzyyyyyyyyyyyyyyzz{{{zzzzzzzzzzzzzzzz{{{{{{{zzz{{{{{{z{{{{zzzzzzzz{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{z{{zzz{zzzzzzzzzzyyyyyyyyyyyyyyy{{{{zzzzzz{{{{{{{zz{z{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyzzzz{{{{{{{{{}}}}}}{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{zzyyyyyyyyzzzzzzzzzzzyyyyyy{zzzzz~~~}}}}}~~~~~}}}}{{{{{{{{{zzzz}}~~~~~~}}}}}}}}}}}{{{{{{{}}}}}{{{{{{~~}}}zzz}{{{{{{zzzzz{{~~~~~~~}}}{{}}{{{{}}}~~~~~~~~~~~~~}}zzzz{{{}}~}}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{zzzz{{{}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~{{}}}}}}~~}}{{{{{~~~~~~}{{{{{{{{{{{{{zzz{{z{{{{{{{{zzzzzz{{zzzzzzz{{{{zzz{{{{{{{}}}}}{{}}}}}~~~~~~{{}}yyyyzzz{{{{{{{{}}{{{{zzzzzzzzyyyzz{{yyyyyyyyyyyyyyyyyyyyzz{{{zzzzzzzyzzzzzzzzzz{{{{{{z{{{{{{zz{{{zzzzzzzzz{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{zzz{zz{{zzzzzzzzzzyyzyyyyyyyyyyyyzz{zzzyzz{{{{{{{{zzzzzzzzzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyzzzzz{{{{{{{{zzyyyyyyyyzzzzzzzzzzzyyyyyy{zzzzz~~~~}}}}}{}}}{}}}{{{{{{{{{{zzz}}~~~~~~~}}~~~}}}}}{{{{{{}}}}}}~{{{{{{~{{{zzzzzz{{{{zzzzz{}}~~~~~~~}}{{zz{{{{{}}~~~~~~~~~~~~~~}zzzzz{{}}}}}}}}}}}}~~~~~~~}}~~~}}}}}}}}~}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyy{{{z{zz{{~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}}}~~~}}{{{{{}~~~~}}{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{zzz{{{zzzzzz{{zzzzz{{{{}}}}}}}}{{}}}}}~~~~~~{{yyyyyzzzzz{{{{{{{}}}{{zzzzzzzzyyyyzzz{yyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{yyzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{}{{}{{{{{{{{{zz{{z{{{zzzzzzzzzzzzzzzzyyyyyyyzzzzzzyyy{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzy{{{{{{{}}{{{}{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzzzzz{{{{zz{{yyyyyyyyyyzzzzzzzzzzyyyyyyy{{{zz}}~~~}}{{{{}}z{{}}{{{{{{{{{{{{~~~~~~~~~~~}}~}}}}}{{{{{{}}}}}}}~~}{{{{{{{{zzzzzzz{{zzzzzz}}~~~~~~~~}}}{zz}}zz{{~~~~~~~~~~~~}}}{zzzz{{{}}}}}}}}}}}}~~~~~~~~~~~~}}~~}}}}}}}}}}}{{{{{{{{{{{{{{{{zz{{{zzzz{{zz{zzzzzzyyy{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{}}~~~{{}{{{{}}~~~~}}{}}}}{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{}}}}}}}}{{{}}}}}}}~~z{{{yyyyzzzzz{{{{{{{{}}}{{{zzzzzzzyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{yyyzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzy{{{{zzyyyyyyyyyyyyyzzzzzzzyyyyyzzzz{{zz}}}~}{}{{y{}zz{{{{{{{{{{{{{{{{{~~~~~~~~~}}}}}}}}}{{{{{{{}}}}}}~}}}{}{{{{{{{zzzzzzzzzzzz~~~~~}}}~~~{}{{{{}}}zz{~~~~~{~~~~~~{{{{{zz{{{{}}}}}}~~}}~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{zz{{{{{{{{{{{zzzzzzzyz{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}{{{{{~~~~~{{{{}}{}{{~~zzzz}}}}}{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{}{{}}}}}{{{{{}}}}~{{{z{zzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyzz{{{zzzyyzzzz{{{{{{{{{{{{{{z{zz{{{zzzzzzzzzz{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyzzzzyzz{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzyzzyyyyyyyyyyzzz{zzzzzyyyzzzzz{zzzzz}}{{yyyyyz{{{{{{{{{{{{{{{{{{~~~~~~~~~}}}}}}}}{{{{{{{{}}~~}}}}}}}}{{{{{{{{zzzzzzzzz{{~~~}}}}}}~{{{{{{{}}}z{{{~~~{{{~~~{{{{{{{z{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{zz{{{{{{{{{{{zzzzzzzzzz{{zzzzzzz~~~~~~~}}~~~~~~~~~~~}}}}~~~~~}}}}}}{{~~~~~~{{{{}}}}{{{{zzzz}}}}}}{{{zzz{{{{{{{}{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{}}}}}}}}}{{}}~~z{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{zzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzyyzzzz{{{{{{{{{{{{{{{zz{{{{{{zzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{z{{{{{{{{{{{zzzzzzzzzzyyyyyyyzzzzzzzyyz{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyzzzzz{zzzzzzzzzzzzzzzzz{{}}{{{{{{}}}}}{{{{{{zzzzzzzzzzyyyzzyyyyyyzzzzzzzzzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{zzzzzzyyyyyyyyyyzz{{{zzzzzyyzzz{{{zzzzz}}{yyyyyzzz{{{{{{{{{{{{{{{{{~~~~~~~~~}}}}}}}}{{{{{{{{{~~~~}}}}}}}{{{{{{{{zz{zzzzzz{{~~~}}{{}{{{{{{{{{{{{{{{{{~{{{{{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{zzzzzzzz~~~~~~}}}~~~~~~~~~}}}}~~~~~~}}}}}{{~~~~~~~{{{{{{}}{{{{zzzzzz}}}}}{{{{{{{{{{}}}}}}{{{{{{{{{{{{{zz{zzzz{{{{{{{{{{{}}}}}}}}}{{{{{zzzzzzzzzzzzzzzz{{{{{}}}}{{{zz{{{{zzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyzzzz{{{{{{{{{{{{{{{{z{{{{{{zzzzzzz{{{{{{{}}}}}}~~}}}}}}}~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}zz{{{{{{{{{{{zzzzzzzzzzyyzyyyzzzzzzzzyyy{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzz{{zzzzzzzzzzzzzzzz{{}}}{{{{{{}}}}}}{{{{zzzzzzzzzzzyyzzzyyyyzzzzzzzzzzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyzzzyzzzzzzyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyzzzzzz{{{zzzzzzzyzz{{{{yyyzzzzzyyyyzzzz{{{{{{{{{{{{{{{{~~~~~~~~~~~~}}}}}}{{{{{{{{~~~~~}}}}{{{{{{{{{{{{{zzzzz{{{{~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz~~~~~~}}}~~~~~~~~~~}}}~~~~~~}}}}}{{~~}}}}~{{{{{{}}{{{{{zzzzz}}}}}{{{{{{{{{{}}}}}}{{{{{{{{{{{zzzz{{zz{{{{{{{{{{}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzz{{{{{}}}}}{zzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{}}}}~~~~}}}}}}}~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyz{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzz{{{}}{{{{{{{}}}}}}{{zzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzzzzzzyyyzyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzzzzzyyyyzzzzzyyyzzzzzzzyyyy{{{yyyyyyyzzyyyy{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~}}}}}}{{{{{{{~~}~{{}}{{{{{{{{{{{{{{zzzzzz{{{{{}}}{{{{{{{{{{yyyyyyyyyy{{{{}}{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}{{{}}}}{{{{{{{{{{{{{{{zzz{{}}}}}{{{{{{{{{{{}}{}{{{{{{{{{{{zzz{{{{{{{{{{{{{{{}}}}}{{{zz{{{{zzzzzzzzzzzzzzz{{{{{{{zz}}}}{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{}}}}~~~~}}}}}}}}}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyzz{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{}}}}}}}}}{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzzzzyyyyyyyyy{{zzzzzzzzzzyyzzzzzzzyyzzzzzyyyyyyyz{{zyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~}}}}}{{{{{{{{}}~{{}{{{{{{{{{{{{{{{{{zzzzz{{{{{}}{{{{{{{{{{yyyyyyyyyy{~~}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}{{{{zzzzzzz{{{{{{{{{{{{{{{{}}}}}{{{{{{}{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{~~}}}}}{{zzz{{{{zzzzzzzzzzzzzz{{{zz{zz{{}}{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyzzzzzzzzyyyzzzz{{{{{{{{{{{{}}}}}}}}{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzyzzzyyyyyyyy{{zzyyzzzzzyyzzzzzzzzzzzzzzzyyyyyzzz{zzzyyyyyyyyyy{{{{{{{{{{{{{{{{{}}}{~~~~~~~~~~~~~~~~}}}{{{{{{{{{~~}}}{{{{{{{{{{{{{{{{{{zzzzzz{{{}}}{}}}{{{{{yyyyyyyyyy~~~}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{}}}{{{{{{{{{{{zzzzzzzzzzyzzzzzzzzzzz{{{{{~~~~~~~~}~~~~~~~~~~~~~~}}}}~}}}}}}{{{{zzzzzzz{{{}{{{{{{{{{{{{{}}}{{{{{}}}}}{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{~~~}}}}yyyz{{{{{{zzzzzzzzzzzz{{{zzzz{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{z{{{zzzzzzzzzzz{{{{{{}}{}}{{{{{{{{{{{{z{{zzzzzz{{{{{{{}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{}{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz}{}}}}{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyzzzzzzzyyyyzzz{{{{{{{{{{{{}}}}}}}}{{{{{{{{zzzzz{{{{{{zzzzzzz{zzzzzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzyyyzyyyyyzzzzzzzzzyyyyyyyyzzzzzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyzzzzyyzzzzzzzzzzzyzzzzzzzzzzyyyyyzzzzzzzyyyyyyyyyyy{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{~~}}}{{{{{{{{{{{{{{{{{{{zzzzzz{}}}}}}}}}zzzzyyyyyyyyyzz{{}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}{{{{{{zz{{{{{{{{{{zzzzzzzzzzyyzzzzzzzzzzz{{{{{{{{}}}}}}}}~~~~~~~~~~~~}}}~~}}}}}}{{zzzzzzzzz{{}}}{}}{{{{{{{{{}}}{{{{}}}}}}{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{}}}}~~yyyyyzzz{{{{{{{{zzzzzzzz{{{{zzzz{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyy{{{{{zzzzzzzzzzzzz{{{{}}}}}}{{{{{{{{{{{{{{{{{{{zz{{{{{{{}}~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{}}}}{{{{zzzzzzzzzzzzz{{zzzzzzzzzzzzz}}}}}}{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyzzzzzzzzzyyyzzz{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{zz{{{{{{{zzzzz{{{{zzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzyyyyyyyyyzzzzzzzzz{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyzzzzzzzzzzzzzzzzzyyzzzzzzzzzyyyzzzzzzzzzyyyyyyyyyyyzzz{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~}}}}yy{{{{{{{}}}}{{{{{{{{{{}{{{{{zz{zzzzzz}}}}}}}}}}zzzzyyyyyyyyyzz{{}}}}}}}}{{}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzz{{{{{{{{{zzzzzzzzzzyyyyyyzzzzzz{{{{{{{{{}}}}}}}}}}~~~~}~~~~}}}~~~}}zz}}{{zzzzzz{{{{{{}}}}{{{{{{{{{{}}}{{{{}}{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{}}}}}zyyyyyyyzy{{{{{{{{zzzzz{{{{{{zzzz{{z{zz{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzyyyyyyz{{{{zzzzz{{zzzzzz{{{{}}}}}}}{{{{}}{{{{{{{{{{{{zz{{{{{{{{{~~~~~}}}}}}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{}}}}{{{zzzzzzzzzzz{{{{zzzzzzzzzzzz}}}}}}}{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzzzzzzzzzyyyzyyyzzz{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{z{{{{{{{{{zzz{{{{zzz{{{{yzzzzzyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzz{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyzzzzzzzzzzzzzzzzzyzzzzzzzyyyyzzzzzzzzzzyyyyyyyyyyyyzz{{{{zzz}}}}}}}}~~~~~~~~~~~~~~~~~~{{yyyy{{{{z{{{}}}{{{{{{{{}}}}{{{zzzzzzzzzzz}}{{{{{{zzzzyyyyyyyyyy{{zzz}}}}}}}{{}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{zzz{{{{{{{{{zzzzzzzzzyyyyyyzzzzz{{{{{{{{{{{{{{}}}}}~~~~~}~~~~~{{{~{{zzzzzz{zzzzzz{{{{{}}}}{{{{{{{{{}}}}}{{{{}}{{{{{{{{{{{{{}}{{{{{{{{{{{{{{}}{{{{}}}}}zyyyyyyyyy{{{{{{{{{{zz{{{{{{{{zz{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzyyyyzzzzzzzzzzzz{{{{{z{{{{zzzz{{{{{~}}}}}}{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}~~}}}}}}}}}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{zzzzzzzzz{{}}}}}}}}{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzz{{{{zzzzzzzzzzzzyyzzyyzzz{{{{{{}}{{{{{{{}}~}}}}{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{{yzzzzzyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzz{zzzzzzzzzyyyyyyyyyzzyyyyzyyyzzyyyyyyyyyyyyyyzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyyyyyyyyyyyyyy{yyzzzz}}}}}}}}~~~~~~~~~~~~~~~~~~~{yyyy{{{{z{{{}}}}}{{{}}}}}}}}}{{zzzzzzzzzzzzz{{{zzzzzzyyyyyyyyzz{{{z{}}}}}{{{{}}}{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{zzzz{{{{{{{{zzzzzzzzzzyyyyyyzzzz{{{{{{{{{{{{{{}}}}}}~~~~~}~~~~~{{{{{{zzzzzzzzzzzzzz{{zz}}}}}{{}{{}{}}}}}}}}}}}{{{{{{{{{{zz}}}}{{{{{{{{{{{{{{}}}{{{}}}}zzzyyyyyyyy{{{{{{{z{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzyyzzzzzzzzzzzz{{{{{{{{{{zz{{{{{{~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}~~~}}}}}}}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}{{{{{{{{{{{{{{{{{{zzz{{zzz{{{{{{{{zzzzz{{zz{{}}}}}}}}}{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{zzzzzzzzzzzzzzzyyzzyyyzzz{{{{}}}}}{{{{~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{z{{{{{{zzz{yyyzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzz{{zzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzyyyyyyyyyyyyyzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~yyyyy{{yy}}}}}}}}}}}}}}}}}}}}}{{zzzzzzzzzzzzzz{{zzzzzzyyyyyyyzzz{{{{{}}}}}}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzz{{{{{{{zzzzzzzzzzzzyyyyyzzzz{{{{{{{{{{{{{{~~}}}~~}}}}}~~~~}}{{{{{zzzzzzzzzzzzz{{{zz{}}}}{}}}}}}}}}}}}}}}}}}}{{}}{{{zzz}}}}{{{{{{{{{{{{{{{}}{{{{{zzzzzyyyyyyyy{{{{{{{zz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~}}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{zzz{{z{{{{{{{{{{zzzzz{{zz{{{}}}}}}}{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzz{{}}}}}}{{{{~~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{zzyyyyyzzzzyyyyyyyyyzzyyyyyyyzzzzzzzzzzzz{zz{{{{{{{zzzzzzzzzzzzzzyzzzzyyyyyyyyyyyyyyyyzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzyyyyyyyyzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzz}{{{}}}}~~~~~~~z~zz~~~}}}zzzyyyyyy{yyz}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzz{{{{{{}}}}}}}{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzz{{{{{{{{{zzzzzzzzzzzzzyyyzzzz{{{{{{{{{{{{{~~}}}}~}}}}}}~~~}}{{{{{zzzzzzzzzzzzzz{zz{}}}}}}}}}}}}}}}}}}}}}}}}}{{}}{{{zzzz}}}{{{{{{{{{{{{{{{}}{{{{{{zzzzzzzzzyyyz{{{{{{zzz{yy{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{zz{{{{{{{{{{{{{{{}}~~~}}}}}}}}}}}{{}}}{{{{{{{{{{{{{{{{{{{{{~}~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{zzz{{z{{{{{{{{{{{{zzz{{{{{{}}}}}}}}{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{zzzzzzzzyyyyyyyyyzz{{}}}}}}}}{{{~~~~}}{{{{{{{{{{{{{}}{}{{{{{{{zzz{{{{{zyyyyyyzzzzyyyyzyyyyzzyyyyzzyzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzyyyzzzyyyyyyyyyyyyyyyyyy{{{{{zzzzzzzyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzz}}}}{~~~~~~~{{zzzzz~~~~}}zzzyyyyyyzzzzz}}}}}}}{{}}}}}}}}}{{yzzzzzzzzzzyyzzzzzzzzzzzyyyyyyzzz{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{zz{{{{{{{{{{{zzzzzzzzzzzzzyyzzzz{{{{{{{{{{{{{~~}}}}~~}}}}}~~~}}}}}{{zzzzzzzzzzzzzzzz{{}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}{{z{{}}}}{{{{{{{{{{{{{{{}}}{{{{{zzzzzzzzzyyzzzz}}}zzzzyyyzz{{{{{{{{{{{{zzzzzzzzzzzzzyyzyyyyyyyyyyyyyyzzzzzzzzzzz{{{zz{{{{{{{{{{{{}}}}}~~~~~}}}}}}}}}{}}}}}}{{{{{{{{{{{{{{{{{{{}}~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}{{{{{{{{{{{{{{{{{zzzzzz{{{{{z{{{{{{{{{{{{{}}}}}}}}}}{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{zzzzzzzyyyyyyyyyyzz{{}}}}}}}}}~~~~~~{{{{{{{{{{{{}}}}}}}}{{{{{{zzzzzz{{{yyyyyyzzzyyyyzzzzzzzzzyyyzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzyyyzzyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzyyyyzyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{z{{{zzzzzzzz{zzzzzzzzzzzzyzzzzyyyyyyyyyyyyyyzzzzzzzz}}}{{~~~~~~~{{zzzzz~{{{}}zzzyyyyyyyzzz}}}}}}}}{{{}}}}}{{yyyyzzzzzzzzzyyyyzzzzzzzzzzzyyyyzzz{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{}}{{{{{{}}}}}}}~}}}}}}}}}}}}}{{zzzzzzzzzzzzzzz{{{{{}}}}}}}~~~~~}}}~~~~}}}}}}}}}{zz{{}}}}{{{{{{{{{{{{}}}}}}}{{{zzzzzzzzzyyyzzzz}}}yyzyyyyzzz{{z{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyzyyyyyyyzzzzzzzz{{{zzzzzzz{{{{{{{}}}}}~~~~~~~~~~}}}{}}}}}}}}{{}}{{{{{{{{{{{{{{{}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}{{{{{{{{{{{{{{{zzzzz{{{{zzzz{{{{{{{{{{{}}~~}}}~~}}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{zzzzzzzyyyyyyyyyyzz{{{}}}}}}}}~~}}~~}{{{{{{{{{{{}}}}}}}{{{{{{{{{zzzzz{yyyyyyyyyyyyzzzzzzzzzzzyyyzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzyzzyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{zzzzzyyzzzzyyyyyyyyyyyyyyyyzzzzzzzzzz{{}}{~~~~{{{{{{zz{{{{{{{{zzyyyyyyyyyzzz}}}}}}}}}}}}}}}}{{yyzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzz{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~}}~~~~~~~~~~}}}{{{{{zzz{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{}}{{{{{{}}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzz{{{{}}}}}}}~~~~~~}}~~~~}}}}}}}{{{{{{{}}}{{{{{{{{}}{{{}}}}}}}}{{{{zzzzzzzyyyyyyzz}}yyyyyyyyy{{{zz{{{{{zz{{{{zzz{zzyzzzzzyyyyyyyzzzyyyyyy{zzzzzzzz{{{zzzzzz{{{{{}}}}}}~~~~~~~~~~~~}}{{}}}}}}}{{}}}{{{{{{{{{{{{{{~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{zz{{{{{{{zzzz{{{{{{{{{{{}}~~~~~~~{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzz{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}{{{{{{{{{zzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}{{{{zzzzzzzzz{zzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyy{{yyzzzyyyyyyyyyzyyzyyzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzyyzzzzyyyyyyzzyyyyyyyyzzzzzzzzz{{{{}}~~~{{{{{{{{{{{{{{z{{zzyyyyyyyyyzzzz}}{}}}}zz}{{{zzyyyyyzyyyzzzyyyyyyzzz{{{zzzzzzzzzzzzzz{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}~~~~~~~~}}}}}{{{{zz{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{z{{{}}}}}}}}}}}}}~~~}}}}{{zzzzzzzzzzzzzzzzz{{{}}}}}}}~~~~~~~}}}~~~~}}}}{{{{{{{{{}}}{{{{{{{{}}{{{}}}~}}}{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzz{{{{z{{{{{{{{{{yyyyyyyyyyyyyyzzzyyyyyy{{zzzzzzz{{{zzzz{{{{{{{}}}}}}}~~~~~~~~~}}{{{{}}}}}}}}}}}}{{{{{{{{{{{}{{~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{}{{{{{{{{{{{{zz{{{{{{zzzz{{{{{{{{{{{{{{~~~~}}{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzz{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{}}}}}}{{{{{{{{{{{zzzzzzyyyyyyyzzyy{{zzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}{zzzzzzzzzzz{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyy{{yyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzyyyzzzzzyyyyyzzzzzzzzzzzz{{{}}{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyzzz{{{}}}}zz{{{{zzyyyyyyyyyyyyyyyyzzzz{{{{zzzzzzzzzzzzz{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}~~~~~~~~}}}}}}{{{{{{{{{{}}{{{{{{{{zz{{zzzzzzzzz{{{{{{{{{{zzz{{~~}}}}}}}}}}}~~~}}}z{{{{zzzzzzzzzzzzzzz{{{}}}}}}}~~~~~~~~~~~~~~~}{{{{{{{{{{{{}{{{{{{{}}}}}}}}}~~}}}{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{{{yyyyyyyyyyyzzzzzzzyyyyy{{zzzzzzz{{{zzzzz{{{{{{{}}}}}~~~~~~~~~}}}}{{}}}}}}}}}}}}}}}{{{{{{{{{}}}~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{~~~}}{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzz{{}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}{{{{{zzz{{{zzzzzzyyyyyyzzzzz{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{}}}}zzzzzzzzzz{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyy{{{yyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzzyyzzzzyyyzzzzzzzzzzzzzzz{{}}}{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyzz{{{{}}zzz{{{{zyyyyyyyyyyyyyyyyyzzzz{{{{zzzzzzzzzzzzz{{{{{{~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}~~~~}~~~~~~~~}}}}}}{{{{{{{{{{}}{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{zzzz{~~}}}}}}}}}}}}~}}}zz{{{{{zz{{{{zzz{{{zz{{{}}}}~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{{}}}}}}}}~~~}}}{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{yyyyyyyyyzzzzzzzzzyyyzzzzzzzzzzzzz{zzzzzz{{{{{{}}}}}~~~~~~~}}}}}}}~~~}}}}}}}}}}}}}}}{{{{{{{}}}~}}~~~~~}}~~}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyzzzzzzzzzyzyzyzzzz{{{}}~~~}}}}}}}}}}}}}}}}}{{{{{{}}}}}}}}{{{{{zzzz{{zzzzzyyyyyyyyzzzz{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{}}{{zzzzzzzzz{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzyyyyzzyyyyzzzzzyzzzzzzzzzz}}}}}{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzz{{{{{zzz{{{{yyyyyyyyyyyyyyyyyyyyzz{{{{{zzzzzzzzzzzz{{{{~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}{{{{{{{{{{}}}}{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{zzzz{{}}}}}}}}}}}}}}}}}}{{{{{{zz{{{{{{{{{{zzz{{}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~}}{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{zzzzzzyyyyyyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}~~~~~~~~}}}}}}}~~~~~~}}}}}}}}}}}}}}}{{{{}}}~}}}~~~~~~~~~~~}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{}}}}}{{{{{{zz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzz{{{}}~~~~}}}}}}}}}}}}}}{}}{{{{{}}}}}}}}{{{{{{zzz{{{zzzzyyyyyyyzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{}}{{z{{zzzzzz{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyzyyzzzzyzzzzzzzzzzzzz{zzzzz{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyzzzzzyyyyzzzzzzz}}}}}{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyzzzy{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{zzzzz{zz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{{}{}{}}}}}{{{{{{{{{{{{{{{zz}}{{{{{{{{{{zzz{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzz}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{}}}}}}}{{}}}}}}~}}~}}}}{{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{zzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{~~~~~~~~}}}}}}}{{{{~~}}}}}}~~}}}}}}}{}{}}}~~~}~~~~~~~~~~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{}}}}}}{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{}}}}}~~}}}}}}}}}~}}}{{{{{{{{}}}}}}}}}{{{{{{zzz{{{{zzyyyyyyzzzz{{{{{{{{{{zzzzz{{{{{{{{z{{zzzz{{{}{{{{{{zzzzzzz{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{{{{{{{zzzzzzzzzzzzyyyzyyyyzzzzzzyyyyyzzzzz}}}}}}}{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyy{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{zzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~}~~}}}{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{}}{{}}{{{{{{{z{{{}}}}}}}}}}}~~~}}{{{{{{{{{{{{{{{{{{{{{{zzzz}}}}~~~~~~~~~~~~~~}}}{{z{{{{{{}{{}}}}}}}}{{}}}}}~~}}}}}}}}{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{zzzzzzzzzz{{{{zzzzzzzzzzz{{{{{{{{{{{{~~~~~~~~~~~~}}}{{{{{}}}}}}~~~}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{}{{{{{}}}}}}}}}}}}}}zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}~~~}}}}}}}}~~~}}}{{{{{{}}}}}}}}}}{{{{{{{zzz{{{zzyyyyzzzz{{{{{{{{{{{{{{{z{{{{{{{{{{{{zzzz{{{{{{{{{{zzzzzz{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzyyzzzyyyyyzzyyzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{{{{{{{zz{zzzzzzzzzyyzzzyyyyzzzyyyyyyyyzzyz}}}}}}}}{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyzzz{{yzzzzzzyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{zz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~}}~~}}}{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{~~~}}}~~}}~~~~}}{{{{{{{{{{{{{{{{{{{{zzzzz}}}}}}~~~~~~~~~~~~~~}{{zz{{{{{{}}{}}}}}}}}{{}}~~~~~~~}}}}}}{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{}}{{{{{zzzzzzzzzzzzz{{{{zzzzzzzzzz{{{{{{zzzzzzzz{{{{{{{{{{{{{~~~~~~~~~~~}}}}{{{}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}~~~~~}}}}}}}}{{}}}{{{{{{{{{{}}{{{{}}}}}}}}}}}}}{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{~~}}}}}}}}~~~~}{{{{{{{{}}~~~~~~}}{{{{{{{{{zzzzzzyyyyzzzz{{{{{{{{{{{{{{{z{{{{{{{{{{{{zzzz{{{{{{{{{zzzzzzz{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyzzzyyzzzzzyyzzzyzzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyzzyyyyyyyzzzyyyy}}}}}{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyzzyyyzzzyyyyyyyyyyyzzzyyyyyyyyyyzzzzzz{{{{{{{{{{{{{}}~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}{{{{}}}~~}}}}}{{}{{{{{{{{{{{{{{}}}}}{{{{{{{zz{{{~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{zzzzz}}}}}}~~~~~~~~~~~~~~~~{{z{{{{{{{}}}}}}}}}}}}~~~~~~~~~~}}{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyy{{zz{{{{}}}}{{{{zzzzzzzzzzzz{{{{zzzzzzzzzz{{{{{{{{z{zz{{{{{{{{{{{{{{~~~~~~~~~~~}}}}}{{}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}{{{{{}}}}}}{{{{{{{{}}{{{{}}}}}}}}}}}}}{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}~~~}}{{{{{{{}}}~~~~~~}}}}{{{{{{zzzyyyyyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzzzzz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{zzzzzz{{zz{{z{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyy}}}}}{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzzyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{}}}}~~~~{{~~{z~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}{{{}}}}~~~}}}}}}}}{{{{{{{{{{{{}}}}}}{{{{{{zzz{{{~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{zzzzzz{{{{}~~~~~~~~~~~~~~{{{{{{{}}}{}}}}}}}}}}}}}~~~~~~~~~~~~{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{z}}{{{{{{zzzzzzzzz{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~}}}}}}}}}}}}~}}}~~~~~~~}}~}}}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}{{}}}}}}}}}}}}{}}}}}}}{}}~}}~~~~}}}}{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzy{{zzzzzzzzzzzzz{{zzzzzz{{{{{{{{{{{{{}}}}}}}}~~~~}}}}}}{{{{}}}~~~}}}}}}}{{{{{zzzzyyyyyyyzzz{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{zzzzyzz{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{zzz{{z{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzyyyyyyyyyyyyyyyyyyyyyy~}}}}}}}}{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{{{}}~~{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}}}{{{{{{{{{{}}}}}}}{{{{{{{{{{{{}}}~~~~~~~~~~}}}}{{{{{{{{{{{z{{{{{{{zzzzzz{{{{{~~~~~~~~~~~~~{{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~}{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{zz{{{{{{{zzzzzzz{{{{zzzzzz{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~~~}}}}{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{zzzzz{{{{{{{{}}}{{}}}}}}}}~~~~~}}}}}}{{{{}}}}}}}}}}}}}{{{{{zzzzyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyy{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{zzzzzyyyyyyyyyyyyyyyyyyyyyyy~~}}}}}}}}{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zzzz{{{{{{{{{{{{{{{{~{{{{zz{zz{{~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}}}}~~~~~~~~~~}}}}}}}~~~}}}~}}}}}}}}}}{{{}}}{}}}}}}}{{{{{{{{{{{{{{}}{~~~~~~~~~}}}{{{{{{{{{{{{zy{{{z{{zzzzzz{{{{~~~~~~~~~~~~~{{{{{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~}}}{{{{{{zzzzyyyyyyyyyyyyyyyyyzyyyzzyyyzz{yy{{{{zzzzz{{{{zzzzzzz{{{{{{z{{z{{zzzz{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}~~~}{{{{{{{zzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{zzzz{{{{{{{{}}}}}}}}}}}}}~~~~~}}}}}}}}{{}}}}}}}}}}}}}}{{{{{{zzzzyyyyyzzz{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyy~~}}}}}}}{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{zz{{{{}{{{{{}}}{{{{{{{{{z{{{{{{{~~~~~~~~~~~~~~~~~~~~}}}~}}}}}~~}}}}}~~~~~~~~~~~}}}}}}}~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{~~~~~~~~~}}{{{{{{{{{{{zzyy}}{zzzzzzzzz{{}}~~~~~~~~~~~~~{{{{{{{{{{{}}}}}}}~~}}}}}}~~~~~~~~}}}}}{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzyyyzyyyy{{zzzzyzzyyyzzzzzzzzz{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}}}}}}}~~~~}}}~~~{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~}}}}}}}{{{}}}{{}}}}}}}}}}zz{{zzzzzzzzzzzzz{{{}}}{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzyyyzz{{zzz{z{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyy}{{}}zz{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{}}{{{}}}}}{{{{{{{{zz{{{{{{~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}{{{~~~~~~~~{{{{zzz{{{}}{zzyyy{{zzzzzzzz}}{}}~~~~~~~~~~~~}}{{{{{{{{{{{}}}{~~~~~~~~}}~~~~~~~}}}}}}{{{{{{zzzzzzzzyyyyyyyyyyyyyzzzzzzzyyyyyyy{{zzzyyyyyyyzzzzzyyy{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{}}}~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}~}~~~}~~~}}{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{zzz{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~}}}}}}}}{{{{{{{{~~~~}}}}}}zzzzzzzzzzzzzzzz{{{{}}}{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzyyyyzz{{zz{{{{}}{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzz{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{}{{{}}}}}}}{{{{{{{zzz{{{{{~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}{{{{~~~~~~~~{{{zzzzzz{{}zzyyyy{{zzzzzzzz}}}}}~~~}~~~~~~~}}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~}}}}}{{{{{zzzzzzzzyyyyyyyyyyyyyzzzzzzzyyyyyyy{{zyyyyyyyyzzzzzzyyyzz{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{}}~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~}}}{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{zz{{{{{{{{{{{}}}~~}}}}}}}}}}}}}}}}}}}{{zz{{{}}~~~~~~{{zzzzzyyzzzzzzzzzzzz{{{}}}}{{{{}}{{{{{{{}}}{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyyyyzz{{zz{{}}}}{{{{{{{{{{}}}}}{{{}}{{{{{{{{{{{z{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zzzzz{{{{}}}}}}}}}}}{{{{{{{{{{{{{{{{~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{}{{{{{~~~~~}}}{{{zzzzz{zyyyyyyyy{zzzzzzzz}}}}}~}}}~~~~~~~}}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~}}}}}}}{{{zzzzzzzzyyyyyyyyyyyyyzzzzzzzzyyyyzz{{{zyyyyyyyyyzzzzzyyyz{{{{{{{{{{{{{{{{{}}{{{{{zzz{{{{{{{{{{{{~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}~~}}}}}{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{{zz{{{{{{{{{{{}~~~~~}}}}}}}~}}}}}}}}}{{{zzz{{{}~~~~~~{{zzzzzyzzzzzzzzzzzzz{{{}}}}}}{}}}}}{{{}}}}}{{{}}{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzyyzz{{{{zzzz}}}}}}{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{zz{zzz}}}}}~~~}}}{{{{{{{{{{{{{{{{~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{}{{{{{}~~}}}}{{{{{zzzzzzyyyyyyyyyyyzz{{{{}}}}}}}}}~~~~}}}}}}}{}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~}}}}}}}{{{zzzzzzzyyyyyyyyyyyyyyzzzzzzzyyyyyzz{{{zyyyzyyyyyzzzyyyyz{{{{{{}}{{{{{{{{{{}}{{{{{zz{{{{{{{{{{{{{{~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}~~~~}}}}}}}~}}}}}}}z{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyzzyyyyyzyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{zzz{{{{{{{{{{{~~~~~~}}~~}}~~~}~}}~~}}{{{}}zz{{~~~~~~{{zzzzzyyzzzzzzzzzzzzz{{{{}}}}}}}}}}}}}}}}}}}{{}}}}}{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyzzyyzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzz{zzz{{{}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{z{{zz}}}}}~~~~}}}{{{{{{{{{{{{{{{~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{}{{{{{{{{{{{}~~}}}{{{{{{{zyyyyyyyyyzzzzyyzz{{{{{{}}}}}}}~~~}}}}}}}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}{{zzzzzzzyyyyyyyyyyyyyy{{zzzyyyyyyyyzyyyyyyyzzyyyyyyyyyyzzz{{}}}}}{{{{{{{{{{{{{{{{zzz{{{{{}}}{{}{{{~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}zzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyzzyyyyzzzyyyyyyyyyyyyyyyzzyyyzz{zzzzzz{{{{{{{zz{{{{{{{{{{{~~~~~~}~~~}}~~~~~~~~~~}}{{{}}}}}~~~zzz{{zzzzzyyzzz{{{{{zzzz{{{{{}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}{{{{{{z{{z{{{{{{{{}}{{{{{{{{{{{{{zzzzzzyyyzzzyyzzzyyzzzz{{zzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{}}}}}}}}{{{{}{}}}}}}}}}}}}}}}}}{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyy{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{zzy}}}}}~~~}}}{{{{{{{{{{{{{{{{{~~~~}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{~~~~}}{{{{{{{{yyyyyzzzzzzzzyyzzz{{}{{}}}}}}}~~~}}}}}}}}}}}}}}}{}}}{{{{~~~~~~~~~~~~~~~~~~~~}}}}}{{zzzzzzzzyyyyyyyyyyyyy{{zzyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyz{{}}}}}}}{{{{{{{{{{{{{{{zzz{{{{{}}}}}}}}{~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzz}}}}{{{{zz{{{{{}{{{{~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}}}}}}}zzz{{zzzzzzzzzz{{{{{{{zz{{{{{{}{}}}}}}}}}}}}}}}}}}}}}{{{{}{{{{{{{{z{{{{{{{{{{{}}{{zz{{{{{{{{zzzzzzzyyyyzyyyyzyyyz{{z{{{zzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzz{{{}}}}}}}}{{}}}~~~~~}}}}}}}}}}}}}{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyy{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{zz{{{zzyy~~~}}}}}}}}{{{{{{{{{}}}{{{{}~~~~}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}}}}}}}}}}}}}}}}{{~~~~}}{{{{{{{{zzzzzzzzzzzzzzyyzzz}}}{{{}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyzzzyyyyyyyyyyyyz{{}}}}}}{{{{{{}}{{{{{{{{{z{{}}{}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzyyzzzzzzzzzzzzz{{}}}}{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{}}}}}}{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{}}}~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zz{{{{{{{{{{{}{{{{zz{{{{{{{zzzzzzzyyyyyyyyyyyyy{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzz{{{{}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}{{{zzzzzzzyyyyyyyyyyzzzzyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{zzz{zzzzz}}~~}}}}}}}}{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}~~}}}}{{{{{{{zzzzzzzzzzzzzzzyyyzz{{}{{{{{}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{{zzzzzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyzyyyyyyyyyyyyzzz}}}}}}{{{{{{{}}{{{{{{{{zz{{}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{zzzz{{{{zzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzz{{}}}{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{}}}}{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{}~~~~~}}}}}}}}}}}}}}~}}}{{{{{{{{{{{zz{{{{{{{{{{}{{{{yzz{{{{{{z{{zzyyyyyyyyyyyyyy{{{{{{{z{{zzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzz{{{{{}{}}}}}}}}~~~~~~~~}}}}}}}}}}}}{zzzzzzzzyyyyyyyyyyzzzzzzyzzzyyzzyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzzzzzzzzzzzz}}}}}}~}}}}}{{{{{}{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{}}{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}{{{{{zzzzzzzzyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz}}}z{{{{{{{{}{{{{{{{{{zzz}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzz{{{{zzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~}}}{{{{{{}}~~~{{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{~~~~~~}}}}}}}}}}}}}~~}}}{{{{{{{{{{{zz{{{{}}}}{{{{zzyyzzzzzz{{{{{zzyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzzzzzzzzzzyyyzyyyyzzzzzzzzzzz{{{{{{{{}}}}}}}}~~~~~~~~~}}}}}}}}}}{{{zzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{zzzzzzzzzzz}}}~~~}}}}{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzz}{{{{{{{}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzzzzzzyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{}}}{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzz{{{zzz{{{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~}}}{{{zz{{}~~{{{{{{{zzzzzzzzzz{{}{{{{{{{{{{{{{{{{{~~~~~~~~}}~~~}}}~~}}}}{{{{{{{{{{{{{{{{{{}}}{{{{zzzyyzzzzzzzzzzzzyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyzyyyzzzzzz{{{{{{{{{{}}}}}}~~~~~~~~~~}}}}}}}}}}{{{zzzzzzzzzzzyyyyyzzzzzzzzzzzzzzz{{yyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{zzzzzzzzz}}~~~~{{{{{{{}}}}}}}}}}~}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}~}}}}~~}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzz{{}}}zz{{{{}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzzyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz}}}}}}}}zz{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzz{{{{{{{{{{zzz{{zzzzzzzzzzzzzzz{{{zzzzzzz{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~}{{{{{zz{{~}}{{{{{{{zzzzzz{{{{{}}{{{{{{{{{{{{{{{{{~~~~~~~~}~~~~}~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzyz{{{{{{{{{{}}}~~~~~~~~~~~~~~}}}}}}}{{{{{{zzzzzzzzzzyyzyyzzzzzzzzzzzzzz{{{yyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{zzz{{{{{zzzzzzzzz}~~~~~}{{{{}}}}}}}}~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}~~}}~~~{}}}}}}}{{{zzzzzzzzzzzzzzzzzzz{{{}}}zz{{}}}~~}}}}}}}}~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz}}}}}}}}}}zyyy{{{{{{{{}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{{{zz{{{zzzzzzzzzzzzzzz{{zzzzzzzz{{{{{{{{{{{{{}}{}}}}}}~~~~~~~~~~~~~}}~~~~~~~}}{{{zzzz~~}}}}{{{{{zzzzzz{{{{{}}{{{{{{{{{{}}{{~~~~~~~~~~~~~~~}}~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyzyyyyyyyyyyyyyzz{{{}}zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzyyz{{{}{{{{{{{}~~~~~~~~~~~~~~~}~~~}}}{{{{{{{{{zzzzzzzyyzzzzzzzzzzzzzzzzz{{zyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{zzzzz{{{}}~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}~}}}}~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}~~~}}}{{{{{{{{{{{{zzzzzzzzzz{zzz{{zzzz{{{{zzzzz}}}}~~}}~}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}}}}}{{yyyyy{{zz{{{{{{{}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzz~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{zz{{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~}}}}~~~~~~~}}{{zzz{{{}}}}{{{{{{{{{zz{{{{{{}}{{{{{{{}{}}}{}}~~~~~~~~~~~~~~}}~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy}}}}zzz{{zzzzzzzzzzzzzzzzzyzzyyyyyyyyyyyzzz}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{zzzz{{{~{{~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~}~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{zzzz{{{zzzzzzz~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}}}}}{{yyyyyzzzzz}}}}{{~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzz~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzzzzzzzzz{{zzzzzzz{{{zzzzzzzzzzzzzzzzzz{{{{{{zz}}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~~{{{{{{zz{{}}}}}{{{{{{{{{{{{{{{{{}}{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~}}}}}{{{{{{}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyy}yyzzz{{{{zzzz{zzzzzzzzzzzzzzyzyyyyyyyyyyyy}}}}}{{{{{{{~~~~~}}}}~zz~~~~~~}}}{{{{{{{{{zzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{zzz{{{~~{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~{{{{{{{{{{{{{{zzzzzzzzzz{{{zz{{{{{{{{{zzz{zz~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}{{{{}{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zz}zzzzyzzzzzzz}}}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~{~~~~~~~~~~~~~~~~~~~~~~{{{{{zzz~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zz{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{zzzzzzzzzzzz{{{zzzzzz{{{{zzzzzzzzzzzzzzzz{{{{{{{zzz}}zzy}}}~~~~~~~~~}}~~}}}}}~~~~~{{{zz{{zz{{{}}}}}}{{{{{{{{{{{{{{{}{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}~~}}}}}}{}}}}}}}}{{{{{{{{{zzzyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzz{{{{{zzz{{zzzzzzzzzzzzzzzzzyyyyyyyyyyy}}}}}{{{{{{{~~~~}}}}}{zz~~~~~~~}}}{{{{{{{{{zzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{~}}}}}}}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}{{{{{{{{{{{{{{zzzzzzzzzz{{{z{{{{{{{{{{{z{{zzz~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzzzzzzzzzzzzzz{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{~~{{{~~~~~~~~~~~~~~~~~~~~~{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyzyy{{{{{{{{zzzzz{zzz{{z{{{{{zzz{{{{{{{zzzzzzzzzzzzzz{{}{{{{{zzzzzzzyyy~~~~~~~~}}}}}}}}}~~~~~zzzzzzzzzz{{{{{}}}{{{{{{{{{{{}}{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}}}}}{{{{{{{{{{zzzyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzz{{zzzzzzzzzzzzzzzzyyyyyyyyyyy}{}}}}{{{{{{~~{{{{{{{{{{~~~~~~~}}}}{{{{{{{{{zzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{~~}}}}}}}}}}}}~~~~~}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{}{{{{{{{{{{{zzzzzzzzz{{{{z{{{{{{{{{{{{{{{{{~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{zzzzzzzyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~{{{}{{{zz{~~~~~~~~~~~~~~~~~~{{zzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{zzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{zz{{{{}}{{{{zzzzzzzyy~~~~}}}}}}}}}}}}}}}~}}}}zzzzzzzzzz{{{{{{{{{{{{{{{{{}}}}{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzz{zzzzzzz{{{{zzzzzzzzzzzzzzyyyyyyyyyyy{{{}}}{{{{{{{{{{{{{{{{{{~~}}~~~}}}}}{{{{{{{{zzzz{zzzz{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzzz{{{{{{{{{{{{{{{{{{{{{{{{~~}}}}}}}}}}}}~~~~~}}}}}}}~~~}}}}}~~~~~~~~~~~~}~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}{{{{{zzzzzzzzzz{{{{{{{{{}}{{{{{{{{{{{{{{~~~}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{zzzzzzzzyyyyzzzzzyzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~{{zzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zzzyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{zzzzzzzzzyz~~~~}}}}}}}}}}}}}}}{}}}}z{{{{zzzzz{{{{{{{{{{{{{{{{}}}}}}{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}~~~}}}}}}}}}{{{{{{{{{{zzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzz{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyy{{}}}}{{{{{{{{{{{{{{{{{{{}}}}}~}}}}}{{{{{{{{zzz{{zzzzzz{{{zzzzzzzz{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{}}}{{{{{{{{{}}}}}}}~~}}~}}~~~~~~~}}}}}}}}~}}}}}}~~~~~~~~~~}}}}}~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}}~~~~~}}~}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}{{{{zzzzzzz{{{{{{{{{{{{}}}}}{{{{{{{{{{{~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{zzzzzzzzzzzyyzzzzzyzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~{{{{{{zzzz~~~~~~~~~~~~~~zz}}{{{zzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~zz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{zzzzzzzzzyyzzz~}~~}{}}}}}}}}}}}{{{{{{{{{{{zzzzz{{{{{{{{{{{{{}}}}}}}}}{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}}}{{{{{{{{{{zzzzyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{zzzzzz{{zzzzzzzyyyyyyyyyyyzzzz}}}{{{{{{{{{{{{{{{{{{{}}}}}~~~}}}{{{{{{{{{zz{{{{{{zzzzzzzzz{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{}{}}}}{{}}}{{{}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}~~~~}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzz{{{{{{{{{{}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}{{{{{{{zz{{{~~~zz~~~~~~zz}}}z{zzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{zz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{yzzzzzzzzzzyyzzz}}}}{{}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzyyyyyyyy{{{{zz{zzzzzz{{{zzzzzzyyyzzyzzzzyzzzz{{}{{{{{{{{{{{{{{{{{{{}}}}}~~~}}{{{{{{{{{zzz{{{{{{zzzzzzzzz{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{}}}}}}}{{}}}{{{}}~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}~~~}~~}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}{{zzzzzzzzzz{{{{{{{{}}}}}}}}}}}}{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}{{{{{z{{{{{~zzz{{{~~~zz{}zzzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~{~~~~~~~~~~~~~~~}}{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{yzz{{zzzzyyyzzzz{{}zz{}}}}}}~}}}}}}{{{{{{{{{{{{{{{}}{{{{{{}}}}}}}}}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzyyyyzzy{{{{zzzzzzzzz{{{{zzzyyyyyzzzzzzzzz{{z{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~}}{{{{{{{{{zz{{{{{zzzzzzzzzzz{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{}}}}}}{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}{{{zzzzzzzz{{{{{{{{{{}}}}}}}}}}}}}{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz}}}~~~~~~~~~~~~~~~~~}~~~~~~{{{{{{{~~~~~~~~~~~~~~~}{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{z{{{{{{}{{{{{{{{{{{{{yyz{{{{{{{zzzz{{yyyzz{{zzzzyyyzzzz{{zzzz}}}}}~~}}}}}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{zz{{zzz{{{{{{{zzzzyyyzzzzzzzzz{{{}{}{{{{{{{{{{{{{{{{{{}}}}}}}~~}}}}{{{{{{{zz{{{{zzzzzzzzzzz{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~}~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}~~~~~~~~~~~~~}}}~}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{{{{{{{zz{{{{{{}}}}}}}}}}}}}}}}}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyzzzzzz{{{zzzzzzzz{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}~}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz}~~~~~~~~~~~~~~~~~~}~~~~~{{{{{{{{{{{~~~~~~~~~~~}}{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzyzzzzz{{{{{{{{{{{{{{{}}{}}}{{{{{{{{yyyyyzzzzzzzzzz{{yyyyz{{zzzzzzzzzzzz{zz}}}}}}}}}}}}}}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyzzz{{{{{{{{{{{{{zzzyyzzzzzzzzzz{{{}}}}{{z}}}}}{{{{{{{{}}}}}}}~~~}}}}{{{{{{{zz{{{{zzzzzzzzz{{{}{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyzzzzzzzzz{zz{{zz{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}}}~~~~~~~~~~~}}~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}{{{{{{{{{{{z{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzzzzz{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{}}{{{{{{{zzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~}}{{~{{{{{{{{{{{{{{{~~~~~~~~~}}{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzz{{{{{{{{{{{{{{{}}}}}}{{{{{{zyyyyyyzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzz{}}}}}}}}}}}}{{{{{{}}{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyzzzy{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{zzzzz}}}}}{{{{{{{}}}~~}}~~~~}}}}}{{{{{{{z{{{{zzzzzzzzz{{{}}{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{z{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~}}~~~~~~~}}~~~~~~}}}}}}}~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~}~~~~~~~~}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{}}{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{zzzzzz{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{}}}{{{{{{zzzzzzzzzzzzz{{~~~~~~~~~~~~~~~}}}}{{~~{{{{{{{{{{{{{{{~~~~~~~~}}{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyzz{{{{{{{{{{{{{{}}}}}}}}}}{{{zyyyyzzzzzyyyzzzzzzzzyyyzzzzzzzzzzzzzzzz{{{}}}}}}}}{{{{{{}}}}{{{{{{}}}}}}}}}}}}~~~}}}}}}}}}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzzzz{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyzzzyy{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{zzzzzzz}}}}}{{{{{}}}~~~~~~~~}}}}}}{{{{{{{{{{{{{zzzzzzz{{{}}{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}{{{~~}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~}}~~~~~~~~}}}}~~}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}{{{{{{{{{{{{{{{}}}{{{{}}}}}}}}}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{zzzzzz{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{}}}{{{{{{zzzzzz{zzzzzz{{~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{~~~~~{{z{{{{{{{zzzzzzzzzzzzyyyyyyyyyyzyyyyyyyyyyyyyyyyyzzyzzzzyyyyyyy{{{{{{{{{zz{{}}}}}}}}{}}{{zzzyyyzzzzyyyyyyzzzzzzzyyzzzzzzzzzzzzzzzz{{{}}}}}}}}{{{{{}}}}}{{{{{{}}}}}}}~~}}}~~~~~}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzz{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyy{{{{}}{{{{zzzzzzzzzzzzzzz{{{{{{zzzzzzz}}}}{{{{{{}}~~~~~~~~~}}}}}}{{{{{{{{{{{{{zzzzz{{{{{}{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}{{{{~~~~}}}~}}~~~~}}}}}}~~~~~~~~~~~~~~~~~}{{{}}}}~~~~~~}~~~~~~~~}}}}~~~}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{{}}}{{{{{{{{{{}}}}{{{}}~~}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{}}{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{zz{{zz{zz{{{{{z}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{}}{{{{{{{zz{zz{{zzzzzz{}}~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{~~~~{{{z{{{{{{{zzzzzzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyy{{{{{{{{zzzzz}}}}}}}{{}{{zzzzzzzzzzzyyyyyzzzzzzzyyyyzzz{{{zzzzzzzz}{{}~~}}}~}}{{{}}}}}}{{{{{}}}~~~~}~~~~~~~~~~}}}}}}}}}}{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zzzz{{zzzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}}{{{zzzzzzzzzzzz{{{{{{{{{zzzzzzz}}}}{{{{{~~~~~~~~~~~~}}{{{{{{{{{{{{z{zz{zzzzz{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyzzzzyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{}}{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}{{{{~~~~~~~~}}~~~}}}}}}}~~~~~~~~~~~~~~~~~{{zz{}}}}}}~~~}~~~~~~~~~}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}{{{{{{{{}}}}}{{~}}~~}}}}}}}}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{}}{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{zzzz{{{zzz}}}}}}~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}~~~~}~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{}}{{{}}}}}{{{{{{{{{zz{zzzz{{{{}}~~~~~~~~~~~}}}}}}}}}}}}}}{{{{}}{{{{{{{{~~zzzzz{zz{{z{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyy{{{{{{zzzzz}}{}}}{{{{{zzzzzzzzzzzzzzyyzzzzzzzzyyyyzzz{{{zzzzzzzz}}}}~~~}~~}}}}}}}}}}}}}{{}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzz{{{zzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}zzzzzzzzzzzzzzz{{{{{{{zzzzzzz{{{}}}}{{{{{{~~~~~~~~~~~}}{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyzzzzzyyyyyyyyzzz{zzzzz{{{{{{{{{{}{}}}}}}}}~}}}}}}}}~~~~~~~~~~}}}~~~~~~}}{{{{{{~~~~~~}~~~~}}}}}}}~~~~~~~~~~~~~~}~}{{zzz~~}}~}}~}}}~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}~~~}~~~}}}}}}}}~~~~~}~~~~}~~}}}}}~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{zzzz{{{{{{{}}}}}}}~~~~~}~~~~~}}}}}~~~~}}}}}}}}}}}~}}}}~~~~~~~~}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}{}}}}{{}}}}}{{{{{{{{{{zzzzzz{{{{{}}~~~~~~~~~~}}}}}}}}}}}}}}}{{{}}{{{{{zzzzz{zzzzzzzzzz{{{zzzzzzzyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyy{{{{{{zzzzz}{{}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzy{{{zz{{{{zzzzzzzz}}}}{~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzz{{{{z{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{}}zzzzzzzzzzzzzz{{{{{{{zzzzzzz{{{z{{{}{{{{{{{~~~~~~~~}}}}}}{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzz{{{{zz}{{{{{{{{{{}}}}}}}}~~~}}}}}}}~~~~~~~~~~}}}}~~~~~~{{{{{{}}}~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~}}}}{{{z~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}{{{{z{{{}}}~~~~~~~~~~}}{{{~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzz{{{}}{{{{{{{{{zzzz{{{{{{{{}}}}}}}~~~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzz{{{{{{{~~~~~~~~}}}}}}}}}}}}}}}}}{{{}}}{{zzzzzz{{{zzzzzzzzz{{{zzzzzzzyzzzzzzzzzzzzzyyyyyyzzzzzyyyyyzzzzzzzzzzzyyyyyy{{{{{{zzzzzz~~~{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzz{zz{{}}}}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}{{{{{{zzz{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}{z{{{{{{{{{{zz{{{{{{zzzzzzzz{{zzz{{{{{{{{{{~~~~~~~~}}}}}{{{{{{{{{{{{{{{{zzzzzz{{{}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzz{{{zz}}}{{{{{{{}}}}}}}}}~~~~~}}}}}}~~~~~~~~~}}}}~~~~~zzzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zz~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}{{{zzz{{{}}~~~~~~~~~~}}{{{}~~~~}}}}}}}}}}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{zzzzzzz{{zzzzzzzzzzzzzyyyyyyyyyzzzzzz{{{}}}{{{{{{{zzzzzz{{{{{{{{{{}~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzz{{{{{{{{{{z~~{~~~}}}}}~~}}}}}}}}}}{{{}}}}}zzz{{{{{{{zzzzzzyyy{{zzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzyyyyyy{{{{{{zzzzzz~~~{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzz{z{{{}}}}}}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zz{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{zz{{{{{{{{{~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{zzzzzz{{}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzz{zzz}}}}}}}}}}}}}~}}}}~~~~~~}}}}}~~~~~~~~}}}}~~~~zzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}{{{{zzz{{}}}}~~~~~~~~}}}{}}~~~~}}}}}}}}}}}~~~~~~~~~~~}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{zzz{{{{zzzzzzzzzzzzzyyyyyyyyyzzzzzz{{{{}}{{{{{{zzzzzzz{{{{{{{{{{{~~}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}~}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}}~~~}}}}}{{{{{{zzzzz{{{{{{{{{{zz{{~~~~}}~~~~~~}~~{}}}}{{{{}{}}{{{{{{{{{{zzzzzzyyyyzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzyyyyyy{{{{{zzzzzzz}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzz{{{{{}}}}}}~~}}~~}}}}}~~~~~}}~~~~~~~}}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zz{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{{{{zzz{zz{{{zzz{{}}}{}{{~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzz{{{z}}}}}}}}}}~}}~~~~}~~~~~~~~}~~~~~~~~~~}}}}}}}zzzzzzzzzzz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}{{{{{zz{~~}}}~~~~~~~}}}{{}}~~~}}}}}}}}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{zzz{{{{{zz{{{zzzzzzzzyyyyyyyyzzzzz{{{{{}}{{{{{{zzzyzzz{{{{{{{{{{{{}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}~~~~}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}~}}}}}}{{{{{zzzz{{{{{{{{{{zzz{{{~~~~~~~~~~}~~{{{}}z{{{{{}{{{{{{{{{{{{zzzzzyyyyzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzz{{{zzzz{{}}}{{{{{{{{{{zzz{{{zzzzzzzzzzzzzzzzzz{{{{{{{{zzzzz{z{{{{{{{{{{}~~~~~~~}}}}{}}}~}}}}}~~~~}}}~~~}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zz{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzzyyzzzzz{{{{{{{{{{{{{{{{{zzz{{{{zzzzz{}}}}}}}}}~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{zz}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{zzzzzzzzyzzzz{{{{{zz}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}zzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}{{{{{{~~~~~~~~~~~~~~}}}}{{}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{zzz{{{{{{{{{{{zzzzzzzzzzzyyy{{zzzzzzzz}}}{{{{{{{zzyyyzzz{{z{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~}}}}}}}}~~~}}}}}}{{zzzzz{{{{{{{{{{zzzzz{{~~~~~~}~~~}}{{{{{{zz{{{{{{{{{{{{{{{{{zzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzz{{{{zz{{{}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{zz{{{{{{{{{{{{{{{~~~~~~~}}}{{}}}}}}}}}}~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{z{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzzzz{{{{{{{{{{{{{{{{{z{{{{{{zzzz{{{}}}}}}}}~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{z}}{{{{{{{{{{{{{zzzzzz{{{z{{zzzz{{{zzzzzzzzzzzzz{{{{{zz}}~~}}~~~~~~~~}~}}~~~~~~}}~~~~~~}}}}}}}}}}}zzzzzzzzzz{}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}{{{{{{~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzz{{{{{{{{{{zzzzzzzzzzzzzz{{{zzzzzz}}}}{{{{{{zzzzyyzzz{zzzz{{{zz{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}{}{{{zzzzz{{{{{{{{{{zyyyyz{{{~~~~}}}}}}{{{{{{zzzz{{{{{{{{{{{{{{{zzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzz{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{~~~~~~~}}{{{}}}}}}}}}~~}}~}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~}}}}}{{{}}}{{{{{{{{{{{{{}}}{{{{{{{{{{{{{zzz{{{{{{{{zzz{{{{{zzzzzzzzzzzzz{{{{{{}}~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}}}{}zzzzzzzzzz{{{zz~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~}}{{{{{{~~~~~~~~~~~~~~~}}{{}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{zzzz{{{{{{{{{zzzzzzzzzzzzzzz{{{{zzzzz}}}{{{{{zzzzzyyzzzzzzzzzzzzz{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}}~~~~~~~~}}{{{{{zzzzzzzz{{{{{zzzyyyzz{{~~~~}}}}}}{{{{{{{zzzz{{{{{{}{{{{{{{{{zzzzzzzzzyyzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzz{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{}}}}}~~}}{{{}}}}}}~~}}}}~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zz{{{{}}}{{zzzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~}}}}}}~~~~~~~~~~~}}}}}{{{}}}{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{z{{{{{{{{zzz{{{{{{{zzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{zz{{z{{{zzzz~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{}}{{{{{~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{~~~~~~~~~~~~~~}}{{{}}~}~}}}}}}}}}~}}~~~}~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{zz{{{{{{{{{{{{{{{zzzzzzzzzzzzz{zzzzzzzz{{{{zzzzzzzyyyzzzz{{{{{z{z{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}~~}{{{{{{zzzzzzzzzz{{{zzzzyzzz{{}}}}}}}{{}{{{{{{{zz{{{{{{}}}{{{{{{{{{zzzzzzzzzyyyzzzzzzzzzz{{{{{{zzzzzzzzzzz{{{zzzzzzz{{{{zzzzyyyzzzz{{{{{{{{{}}{}}}}{{{{{{{{{{{{{{{{{zzz{{zz{{{{{{{{{{{{{{{{{{{{{{{{}}{{{zz{{{~~~}}}}}}}}}{{}}}}}}~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{}{{{{{zzzzz{{}}}{{zzzzyyzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{~~}~~}}~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{zzz{{{{{{{zz{{zzzzzzzzzz{{{{~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~{{{{{{{{{{{z{{{zzzzzz{~~~~~~~~~~~~~~~~~~~{{}}{{{{{{{{{}}{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{~~~{{~~{{~~~~~}{{{{}}~~~~}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzyyyyzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzzzzzzzz{{zzzzzzzz{{{}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{zzzzzzzyyyyzzzzzzzzz{{{{{{{{zzzzz{{zzz{{{zzzzzzzz{{{{zzzzzz{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{~~~~}}}}}}}}{{{}}~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzzz{{{}}{{{zzzzzzzzzzzzyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{zz~}~~~~~~~~~~~}}}}~}}}}}}}}}}}}}{}}{{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~{{{{{{{{{{{z{{{zzzzz{{{~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{}}}}{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~}}~~~~~~~~~~~~}}}{{{{{{~~~{{{~{{{{{}}}{{{{}}}~~~}}}}}}~}}~~~~~~~}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{zzzzzzzzyyyyzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzz{{{~}}}}}{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{zzzzzzzzyyyzzzzzzzzz{{{{{{{{zz{{{{{{zz{{{{{zzzzzzz{{{zzzzzz{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{~~~{zz~~}}}}}{{{~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzzzz{{{{z{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{zz~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{}{{{{}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~{{{{{{{{{{{zz{{zzz{{{{{~~~~~~~~~~~~~~~~~~}}{{{{{{{{}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~}}}{{~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{}}{{{{{}~~~~~~}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{zzzzzzzzyyyyz{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz~~zz{{~~}~~~~~~~~{{~~~{~~~~~~~~~}}}}}}}{{{{zzzzzzzzzzzzzzzzzzzz}}~~~~~}{{{{{{{{{{{{{{{{}}{}}}}{{{{{{{{{{zzzzzzzyyyyzzzzzz{{{{{{{{{{{{{{{{{{zzz{{{zzzzzzzzz{zzzzzzzz{{{{{{}}}{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{}}{{}}{{{{{{{{~~{{zz~~}}}}}{{{~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzz{zzzz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzy{{{{{{{{{{{}}}}}}}{}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~{{{{{{{{{{{{{zzzzz{{{{{z{~~~~~~~~~}~~~~~~~~{{{{{{{zz}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~}}{{{{~~~~~~~~~~}}{{{{{{{{{{{{{zyy{{{{{{{{{{{~~~}{{}}}}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{}}}}{{{{{{{{{z{{{{{{{{{{zzzzzzzzz{zzzzzz{zzzzzzzzzzyzy{{{{{{{{}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~{{~{~~{{}zzz~~zzz~~~~~~~~~~~{{{}}}}{{~~~~~~~}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzz}}~~~~}}}{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{{zzzzzyyyyzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{}}}}{{}}}}}}}}}}}{{}}{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{}}}}}}}{{{{{{{{{{{{{z}}}}}}{{{{~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{}}}}}{{}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~}}}}}}}}~}}}}}{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~}}~}{{{{{{{{{{{{zzzzzz{{{{z{{~~~~~~~}}~~~~~~~{{{{{{{{zz}}}{{{}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~{{{{{{{~~~~~~~~~}}}{{{{{{{{zz{{zzyy{{{{{{{{{{{{{}}{{}}}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}{{{}}}}{{{{{{{{{z{{{{{{{{{{{zzzz{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{{}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}{{{{{{{}}}}zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{~~{{}zzzzzzzz~~~~~~~~}}~{{{}}}}{~~~~~~~~~}}}{{{{{{{zz{zzzzzzzzzzzzz{zzz}}{{}}}}}}{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{zzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{}}}}{{}}}}}}}}}}}}}}}}}}}}}{{{{{{}}{{{{zzz}}}}}{{{{~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzyyyyyy{{{{{{{{{{{{}}}}}{{}}}}}}}{{{{{{{}}}~~~~~~~~~~~~~~~}}}}}}}~~}}}}{{{{{{{{{{}~}}}}}}}}}}}}}{}{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}{{{{{{{{{{zzzzzzz{{{{zzzzz{~~~~}}}}~~~}}~}}}{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~{{{{{z{{~~~~}~~~~~}}}{{{{{{{zzzzyyy{{{{{{{{{{{{{{{}{{}}}}}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{}}}}}}}{{{{{{{{{{{{{{{{{{{zzzz{{{{{zzzzzzzzzzzzzzzzzzzz{}}{{}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~{{{{{zz{z{{~{{{zzzzzzzzz{{{zzz}}}}{{{{}}}{{~~~}}~~~~{{{{{{{{{{{{zzzzzzzzzzzz{{zzz{{{{}}}}}{{{{{{{{{{{{}}}}}~~}}}}{{{{{{{zz{{zzzzzzzzyyzzzzzz{{{{{{{{{{{zzz{{{zzzzzz{{{{{{zz{{zzzzzzz{}{{{}{{}}}}}}}}~~}}}}}}}}}}}{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{}}{{{{{zz}}}}}{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzyzyyyyyzzyyzzzyyy{{{{{{{{{{{{{}}}}}}}{}}}}}}}{{{{{{{{}}~~~~~~~~~~~~~~~~~~}}}}}~~}}}}{{{{{{{{}}~}}}}}~~}}}}}}}}}{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}{{{{{{{{{{zzzzzz{{{{{zzzz{{~~~~}}}}~~~}}}}}}}zzz{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~{{{{zz{{~~~}}}~~}}}}}{{{{{{{{zzzyyy{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzyyzzzzzzzzzzzzzz{{{{}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}{{{{{{zzzzzzz~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~z{{{{{zz{{z{{{{{{zzzzzzzzz{{{zzz}}}}{{{{{{{{{{~~}}}~~~{{{{{{{{{{{{zzzzzzzzzz{{{{zzz{{{{{}}}}{{{{zz{zz{{{}}}~~~~}}}}{{{{{{zzzzzzzzzzzzzyyzzzzzz{{{{{}}{{{{zzz{{{{{{{{{{{{{{{{{{{{{zzz{{{}}}}}{}}}}}}}~~~~~~}}}}}}}}}}{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzz{{{{{zzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzyyzzyzzzzzyy{{}{{{{{{{{{{}}}}}}}}}}}}}}}}{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{}}}~~}}}}}~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}{{{{{{{{{zzzzzz{{{{{{{{zzzz~~~}}}}}~}}}}}}zzzzz{{zzzzzyy}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}{{{zz{{{~~}}}~}}}}{{{{{{{{{{zzzyyz}}}}{{{{{{}}{{{{{{}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyzzzzzzzzzzzzz{}}{}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}~~~}~~~}}}}}}}}}}{{{{{zzzzzzz~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~{{{zzzz{{{{{{{{z{{{{{{{{zzzzzzz{{{zzz}}}}{{{{{{{{{{~~~}~~~{{{{{{{{{{{{{{zzzzzzz{{{{{{{zzzz{{{{{{{{{{yzzzzzzzz{{{{~}}}}}}}{{{{{zzyyzzzzzzzzzzzzzzzzzz{{{{}}{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~}}}}}}}}}}{}{{{{{}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}{{{{{{}{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~}}~~~zzzz{{{{{{{{{{{{{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{}}}}}}}}}{{}}}}}}}}}}}}}}}}}}{}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}}}}~~}}}}~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~}}}}}}}}}}}}}}}}}}~}}}~~}}}}}}}}{{{{{{{zzzzzzzz{{{{{{{zzzzz~~}}}~~~}}}{{{zzzzzzzzzzzzyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}{{yyyy{~~}}~}}}}}{{{{{{{{zzzzzzz}}}}}}}{{{{{}{{{{{{}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyzzzzzzzzzzzzzz}{{}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~}}~~~~~}}~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzz~~~~~~}}~~}}}}~~~~~~~~~~~~~~~~~~~}}}}~~}}{{{zzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz}}}}{{{{{{z{{~~}~~}{{{{{{{{{{{{{{{zzzz{{{{{{{{{{zzzz{{{{{{}{{yyzyyzzzz{{{{{}}}}}}{{{{{yyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{zzzz{{{{{{{{{{{{{}{{{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}{{{{}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{}~}}~~}}}}}}}}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}zzzz{{{{{{{{{{{{{{{zzzzz{{{zzz{{zzz{{zz{{zzzzzzzzzzzzzzzzzzzzzz{{}}}}}}}}{}}}~~~~}}}}}}}}}}}}}}}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}~~~~~~}~}~}}}{{{{{{{{{{{}}}{}{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}{{{{{{{zzzzzzzzz{{{{{{zzzz{{~~}~~~~~~{{{{zzzzzzzzzzzzyy~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~y~~}}}}}yyyy{{{~~~~~~}}}}{{{{{{{{zzzzzzzz}}}}}}{{{{{{{{{{{{~~~~~~~~~}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{}}{}}{{{{{{{{{{{}}}{{{{{{{{{{zzzzzyyyyyzzzzzzzzzzzzz{{{}}~}~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}~~~~}}~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzz~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{z{z{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{}}}}}{{{{zz{{{}}}}}{{{{{{{{{{{{{{{zzzz{{{{{{{{{{zzzzz{{}}}}{{yyyyyzzzz{{{{{{}}}}}{{zzyyyyyyzzzzzzzzzzzz{{zzz{{{zz{{{zzzzz{{zz{{{{{{{{}}{{{{{{{{{{{zz{}}}}}~~}}{~~~~~~~~~~~~~~}}}}}}}{{{}}}}}}}}}}}}}~~~}}}}}}}}}}~~~}}}}}{{{}}}}}}{{{{{{{{{{}}}~~~~}}}}}}}}}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}~~~~~~~~~~~~~~~~~~~}}~~}}}{{{{{{{{{{{{{{{{{{{zzzzz{{{zz{{{{{{{{zz{{zzzzzzzzzzzzzzzzzzzzzz{{}}{{}}}{{}}~~~~~~}}}}}}}}}}}}}}}}{{}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}}~~~~~~~~~~}}{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~}}}}}}}}}}}~~~~~~}}}~~~~~}}}}}}}}}{{{{zzzzzzzzz{yy{{{{zz{{{~~~~~~~~~{{{{zzzzzzzzzzzzyyy~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}yy~~}}yy}yyyy{{{~~~~~~}}}}{{{{{{{zzzzzzzzzz}}}}}{{{{{{{{{{{{{~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{}}}{{{{{{{{{{{{{{{{{{}}}}{{{{zz{{zzzzzzzyyyyyzz{zzzz{{zz{{{{}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~}}}}}~~}~~~~~~~~~~~~~~~~~~}}}}}{{{{{zzzzzzz~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{}}}}}{{{{zz{{}}}}}}}{{{{{{{{{{{{{{zzz{{{{{{{{{{{{zzzz{{}}}}yyyyyyzzzzzzzz{{{}}}}}}yyzyyyyyy{{{zzzzzzzzzz{{zz{{{z{{zzzz{{{{{zz{{{{{{{}}}{{{{{{{{{{{z{{}}}}}~~~{{~~~~~~~~~~~~~~}}}}}}}}{{}}}}}}}}}~~}~~~~~}}}}}}}}~~~~}}}}}}{{{}}}}}{{{{{{{{{}}}}~~~~~}}}~}}}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{{{zzzzz{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{}{{}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}~~~}}}~~~~~~~~~~~~}}}{{{{{{{{{{}}}{{{{{{{{{{{{{{{{}}}}~}~}}~~~~~~~~}}}}}}}}}}}}~~~~~~}}~~~~~~}}}}}}}}{{{{{zzzzzzzyyyy{{{{zzz{{~zz~~~~~zzz{{{zzzzzzzzzzzzyyyy~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}yz{{}}yyyyyyyyyz~~}~~}}}}{{{zzzzzzzzzzzzzzzz}}}}}{{{{{{{{{{{{~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{zzzzzzzzzzzyyyyyz{{{zz{{{zz{{{{}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}}}}~~~~~~~}}~~~~~~~~~~~}}}}}{{{{zzzzzzz~~~{~~~}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{zzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{}}}}{{{{{zzz{}}}{}}{{}{{{{{{{{{{{{{zz{{{{{{{{{{{{zzzzzzz}}}yyyyzzzzzzzzzyy{{}}}}}}yyyyyyyyy{{{{{{zzzzzzz{{zz{{{zzzzzzzz{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{}}}}}~~~{{}}~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}~~~~~~~~}}}}}~~~~~~}}}}}}{{{}}}}}}{{{{{{{{}}}}}~}}}}}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}}}}~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{z{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{}}}}}{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzyyzz{{{zzzzzzzz{{{{{zzz{{{zzzzzzzzzzzzzyyyy~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{}}}zzzzz{{{yyyyyyyyyyz{{}}}}}}}{{{zzzzzzzzzzzzzzzzz}}}}{{{{{{{{{{{{~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{zzzzzzzzzzzyyyyyy{{{{{{{{zzz{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~}}}}}~~~~~}}}}}~~~~~~~~~}}}}{{{{zzzzzzz~~~{{~}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}{{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz}}}}{{{{{{{{{~~~{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyzzzzzzzzzzyyyy}}zzzzzyyzyyyyy{{{{{zzzzzz{{{{{{{{zzzzzzzzzz{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{{zzzz{}}}~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}~~~~~~~~~}}~~~~~~~}}}}}}}{{{}}}}}}}{{{{{{{}}}}}}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}{{{{}{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{zzzzzzzz{{{zzzzzzzzzzzz{{{{}}}}}}}~}}~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{}}}}}{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzyy~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{}zzzzzzz{yyyyyyyyzzzz{}}}}}z}}{{zzzzzzzzzzzzzzzzzzzz}}}{{{{{{{{{{{~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}{{{{{{zzzzzzzzzyyyyyyyyz{{{{{{{z{{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~}}}}}}}}~~}}}}}~~~~~~~~~}}}}{{{{zzzzzzzz{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{zzzz{{{{{}}{{{{{{{{{{{{{{{{zzzzzzzz}}}}{{{{{{{{{~~~}{{{{}{{{{{{}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyzzzzzzzzzzzzzy}zzzzzzzzzzyyy{{{{{zzzzzzz{{{{{{{{{zz{{{zzzzz{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{{zzzzz{}~~~~~~~~~~~~~~~}}}}}}}}}}}}}~}}}~~~~}}}~}}}~~~~~~~~}}}}}}}{}}}}}}}}{{{{{{{}}}}}}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~}}}~~~~~}}}}}{}}}{{{{{{{{{{}}{{{{{{{zzzzzzzz{{{{{{{{{{zzzzzzzz{{{zzzzzzzzzz{{{{{{{}}}}}}~~~~~~~~}}}}}}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}{{{{{{{{}}}}{{{{zzz{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzyy~~~~~~~~~~~~}~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{zzzzzzzyyyyyyyyyyyzzzz}}zz}zz{{{{{zzzzzzzzzzzzz{{{zz}}}}{{}{{{{{{{~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}{{{{{{{zzzzzzzzyyyyyyyzz{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~}}}}{{{{zzzzzzzzz{{{{{{}}}}}}}}}~~~~~~~~~~~~~~}}}}}{{{}}{{{{{{zz{{{{}}}}}{{{{{{{{{{{{{{{zzzzzzzz}}{{{{{{{{{{{{{}}}{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyzzzzzzzzzzzzyyyyyzzzzzzzzzzyyyy{z{{zzyyzzz{{{{{{{{{{{{{{{{{zz{{{{{}{{{~~}}}}}{{{{{{{{{{{{{{{{zzzzz}}}~~~~~~~~~}}}~~}}}}}~~~}}}}}}}}}}~~~~}~~~}}~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}}}}}}}}}}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}{{{{{{{{}}{{{{{{zzzzzzzz{{{{{{{yyy{yyzzzzzzz{zzzzzzzzzzz{{{{{{{{}}~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}}}{{{{{{{{}}{{{{{{zzzz{{z{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}~}}}}}}~~~}{{{{zzzzzzzzzzzzzzzzzzzzzzz{{~{{{{{zzzzzz{zzzzzzzzzzzzyy~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}}~~}~~}}}{{{{zzzzzzzzzyyyyyyyyyzzzz{{}zzz{{{{{{{zzz{{zzzzzzzz{{{z}}}}}{{}{{{{{{{~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{}}}}}}}}}}}}}{{{{{{{{zzzzzzzzyyyyyyzz{{{{{{{{{{{{{{{{zzz~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~}{{{{{{zz{{zzzzz{{{{}}}}}}}}}}}~~~~~~~~~~~~}}~~}{{{{{{{{{{{{z{{{{}}}}}}{{{{{{{{{{{{zzzz{zzzz{}}{{{{{{{{{{{{{}}}{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyzzzzzzzzzzzzzyyzzzzzyzzzzyzzyyyyzzz{zzzyzz{{{{{{{{{{{{{{{{{{{{{{{{}}{{{~~~}}}}{{{{{{{{{{{{{{{{{zzz}}}~~~~~~~~~~}}}}~}}}~~~~~~~}}}}}}}}}~~}}~~~~~~~~~~~~~~~}}}}}}}~~}}}}{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}{{{{}}}}}}{{{{{zzzzzzzzz{{{{{{yyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}{}}{{{}}}{{{{{{zzzz{zzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}{{{zzzzzzzzzzzzzzzzzzzzzzz{{~~{{{{{{{zz{{{zzzzzzzzzzzy{{~~~~~~~~~~~}}~~~~~~~~~}}}}}}}~~~~~~~}}}{{{{zzz{zzzzzyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzyzzz}}}}}}}}}{{{{{~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}}}}}}}}~~~}}}{{{{~~}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{zz~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~}{{{{{{{{{{zzzzzz{{{}}}}}}}}}}}}~~~~~~~~~}}}}}~}}{{{{{{zz{{{{{{{}}}}}}}}{{{{{{{{{{zzzz{{yyy{{{{{{{{{{{{{}}}}}}{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzyyyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}}{{~~~}}}}}}{{{{{{{z{{{{{{{{{{z}}~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}}}}}}~~}}}~~~~~~~~~~~~~}}}}}}}}~~}{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzz{zzzzyyyyyyyzzyzzzzzzzzzzzzz{{{{{{{{{{{{{}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}}{{}}}}}{{{{{zzzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}{{{zzzzzzzzzzzzzzzzzzzzzzz{~~{{{{{{{{{{{{{zzzzzzzzzzzz{{zz~~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}~}}}}{{{{{{{{zzzzzzyyyyyyyzzzz{{{{{{{{{{{{y{{{{{{{{zzyzyyyyyyy}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}~~~}}}}}}}}}}}}{{}{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~~~~~~~~~}}}{{{{{{{{{{zzzzzz{{}}}}}}}}}}}}~~~~~~~~~}}}}}}}}{{{zzzzzz{{{{{{}}}}}}{{{{{{{}}}}}zzzz{{yyy}}}{{{{{{{{{}}}}}}}{{{{{{{{{{{}{}}{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyzyyzzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{~~~~}}}}}{{{{{{{z{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzyyyyyyyzzzyyzyyzzz{{zzzz{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{}}}{{{{zzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}{{{{{{{{zzzzzzzzzzzzzzzyyyy{{{{{yyyyyy{{{{{{{zzyyyyyyyyyy}}}}}}}}}}}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}~~~~~}}}}~~}}}}{{}{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{zz{{{}}}}}}}}}}}}~~~~~~~}}}}}}{{{{{{zzzzz{{{{{{{}}}}}}{{{{{{{}}}}zzzzzzyyyyy}}}}}{{{{{{}}}}}}}}}{{{{{{{{{{{}}}{zz{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{~~~}}}}}}{{{{{zz{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}~}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{zzzzzzzzzzzyyyyyyyyzzzyyyyyzz{{zzzzzzz{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{}}{{{{{zz{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}{{}{{zzzzyyzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~}}{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzy{{{{{yyyyyyyyyyy~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~}}}}}}}}}~~~~~}~~~~~}}}{}}}}{{{{zzzzzzzzzzzzzzzzzz}}{{{{{{{{{{}}~}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzz{{{}}}}zzz{{}{}}{{~~~~~}}{{{{{{{{{zzzzzz{{{{{}}}}}}{{{{{z{{}}}yyzzyzzyyyyy}}}}}}{{{{{{{{}}}}}}}{{{{{{{{{{}}{{{z{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyzzzzzzzyyyzzzzyyyyyyyyyyyzzzzzzzzz{{{{{{}}}}{{}{{}}{{{{}}{{}}}}{{{~~}}}}}}{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}}}}}~~}~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~}}}~~}~}}}}}}~}}}}~~}}}{{{{zzzzzzzzzzzyyyyyyyyyyyyzyyyzz{{zzzzzzz{{{}}{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}{{zzzzyyzzzzzzzzz{{{{{{{{{}}{{{{{{{{{{{{{zzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~{{zzyy}}}}}}}~~~}}{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyzyyzzyy{{zzyyyyyyyyyyy~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}~~}}}~~~~~~~~~~~~}}}}}}}}{{{{{zz{{zzzzzzzzz{{{{}}{{{{{{{{{{{~~}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}~~~~~~}}~~~~~~}}}}}{{}}{{{{{{{{zz{{{zzzzzzzz{{{{{{{{~~~~~~~{{{{{{{{zzzzzz{{{{{{~~~}}}{{{{{zzzzyyyy{{yyyyyyyzzzz}}}{}}{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyzzzzzzzyyzzzzzyyyyyyyyyyzzzzzzzzzzzz{{{{}}}}}}}}}}}}}{{}}}{}}}}{{}}}}}}}}~{{{{{{{{{{{{{{{{}}{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}}}}}~~~~~~~~}}}}}}}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}~~~}}~~~}}}{{{{zzzzzzzzzzyyyyyyyyyyyyyzzzyzzz{{zzzzzz}}}}}}{{{{{{{{{~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{zzzzzzyzzzzzzzzzz{{{{{{}}}}}{{{{{zz{{{{{zzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~{{zzyyy}~~}}}}~{{{{{z{zzzz{{zzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyzzzzzzyyyyyyyyy{~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}~~~}}~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{zz{zzzzz{{{{{{{{{{{{{{{{{~~}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}~}}}}}}}}~~~~}}}}}}}}}}}{{{{{{{{{{{{zzzzzzz{{{{{{{{{~~~~~~}}}{{{{{zzzzzzz{{}}}}~~~}}}}{{{{zzzzzyyy{yyyyyyyyzzzzz}}}}}}{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{zzzzzzzzyzzyyyzzzzzyyzzyyyyyyyyyyyyyyzz{zzzzz{{zzzz{}}}}}}}}}}}}}}}{}}}}}}}}{{}}}}}}}~~}{{{{{{{{{{{{}}{}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~}}}}}}}}}}}}}~~~}}}~~~}}}}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzz{{zzzyyyyyyyyyyyyyyyyzzzzzz{{zzzzzz}}}}}}}{{{{{{{~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{}}}{{zzzzzzzzzzzz{{{zz{{{{{}}}}}}{{{{zzzz{{{{{{{zzzzzzzzzzzz~~~~~~~~~~~~~~~~zzzzzzyy~~~~}}}}{{{{{zzzzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyzzzyyyyzzzzzzyyyyyyyyy{{~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{}}~}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}{{{{{{{{zzzzzzzzz{{{{{{{{{{{~~~~}}}}}{{zzzzzzzzz{{}}}}~}}}}}}{{{zzzzzzzzyyyyyyyyyyyzzzz}}}}}}}{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{zzzzz{{zz{{{{{zzzzzzzzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{zz{}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}}}~~}}}{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{zzzz{{{zzyyyyyyyyyyyyyzzzyzzzzzzzz{zzzzz}}}}}}}{{{{{{{~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~{{z{{{{zzzzzzzzzzzzzyzz{{{{{{}}}}{{{{{{zz{z{{{{{{{z{zzzzzzzzzz~~~{~~~~~~~~~zzzzzzzzzzzz~~~}}}}{{{{zzzzzz{{{zzzzzzzzyyyyyyyyyyyyyyyyyyzzzyyyyzzzzzyyyyyyyyzz{{~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{zzz{{{{}{{{{{{{{{{{}}~~}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}~~~~~~~~~~}}}}}}}}}}}{{{{{{zzzzzzzz{{{{{{{{{{~~~~~}}}}}{{zzzzzzzz{{{zz}}~~}}}{{{{{zzzzzzzzyyyyyyyyzzzzzzz}}}}}}}{{{{{}}}~~}}}}{{{{{{{{{{{{{{{{{zzzz{{zz{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{z{{{}}}}}}}~}}}}}}}}}}}}}}}}{{{}}}~~zz}{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~}~~}~~~~~~~~~~}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}~~~~~~~}}}}}}~~~~~~~}~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzzz{{zzyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{}}}}}}{{{{{{{~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}{{{{{{{{}{{}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~{z{{{{zzzzzzzzzzzzzyzz{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzz~~~~{{~~~~~~zzzzzzzzzzzzzzzz~~}}}}{{{{{{zzz{{{zzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyzzzzyyyyyyyyzz{{}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{zz{{}}}}{{{{{{{{{{}}~~}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}~~~~~~~~~}}}}}}}}}}{{{{{{{{z{{zzzzzz{{{{{{{{~~~~~}}}}}{{zzzzzzz{{{{zzz{~~}}{{{{{{{zzzzzzzzyyyyyyzzzzzzz{{{}}}}}{{{{{{}}~~}}}}{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}}}}}{{{}}}~~zz{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~}}}}~~~~~~~~~~~}}~~~}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}~~}}}}}}}~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{zzz{{zzzyyyyyyyyyyyyzzzzzzzzzz{{zz{{{{{{}}}}}}}{{{{{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{}}{}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~{{{{{{zzzzzzzzzzzzzzyy{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{zzzzzzz~~}{}}~}}~{zzzzzzzzzzzzzzzzz{{}}}{{{{{{zzz{{{zzyzzyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyzyyyyyyyzzzzz}}~~~~~~~~~~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{zz{{}}}}}{{{}{{{}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{zzzzz{{{}{{}}}~~~~}}}{{{{zzz{{{{{{zzzzz{}}}}}{{{{{{zzzzzzzzzzyyyyyzzzzz{{{{{{}}}{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyz{{{z{{{{{{{{{{{~~~~~~~~}}}}~}}}}}}}}}}{{{{{{{{{z{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~}}~~}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}~~~~~~}}}}~}}}~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{zzzzzzzyyzyyyyyyyyyyzzzzzz{{z{{zz{{{{{{{{}}}}}{{{{{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{}{{}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}}}{{{{{{{{{{zzzzzzzzzzzzzyyy{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{yyzzz{}}{}}}}{{{{zzzzzzzzzzzzzzzz{{}}}{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{zzzz}}}}}}}}}}}{{}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{zzzzz{{}}}}}}~~~~}{{{{{zzzz{{{{{{zzzz{{}}}}}}{{{{{zzzzzzzzzzzyyyyzzzzz{{{{{{{{{{{{{{{{{{}}}}}}}yyy{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyzyyyyyyyyyyyyzzzzz{{zz{{{{{{{{{{~~~~~~~~~}}}}~~}~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~}~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~~~~~}~~~~~}}~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~}}}}{{{{{{{{zzzzzzzzzzyyyyyyyyyyzzzzzz{{{{{{{{{{{{{{{{}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~{{}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzy{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{yyyyz{{{}{{{{}{{{{{zzzzzzzzzzzzzzz{{{}}}{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}{{{{{{{{{zzz}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{zzzzz{{{}}}}}~~~~~{{{{{{zzzz{{{{{{{zzz{{}{}}}}{{{{{zzzzzzzzzzzzzzzzzzy{{{{{{{{{{{{{{{{{{{}{{{{}}yyy{{}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyzzzzyyyyyyyyyyyzzzzz{{zy{{{{{{{{{{{~~~~~~~~~}}}~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzzzzzyyyyyyyyyzzzzzz{{z{{{{{{{{{{{{{{}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}{{{{{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}{{{{{{{{{{{{{{{{{{{zzzzzzz{zzzzzzz{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{yyyyzz{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{}}}{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}{{{{{{{{z}}}}}}}}}}}}}}~}~}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}~~~}}}}}}{{{{{{{{{zz{{zz{{}}}}}~~~~{{{{zz{{zzz{{{{{{{zzzzz{{{}}}{{{{{zzzzzzzzzzzzyzzzzyyy{{{{{}}}{{{{{{{{{}}}{{{yyyyyy}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyzzyyzzyyzzzzzzyyyyy{{{{{{{{{{{~~~~~~~}}}}}~~~~~}~~~}}}{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~}}~~~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{zzzzzzzzzzyyyyyyyzzzzzzzzzzzz{{{{{{{{}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~{{}{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzzz{{}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{zzzzz{zz{{{{{}}}}{{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}{{{{{{{{{{}}}}}}~~}}}~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~}}~~}~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}{{{{{{{{{{{{{zz{{{}}}}}~~~{{{{zz{{{zz{{{{{{zzzzzzz{{}}}{{{{{zzzzzzzzzzzzyzzyzyyyyy}}{}}}{{{{{{}}}}}}zzzyyyyyy{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyyyyy{{{{{{{{~~~~~~~~~}}}}}~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{zzzzzzzzzyyyyzzzzzzzzz{{zzz{{{{{{{}}}}}}}{{{{{}{{~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~~}}}~~~~{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{zzzzz{{{}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{zzzz{{{{{{{}}}}}{{{{{{{{yyyyyyyyyyyyyyyyyyzzyyyyyyyyyzzyyzzzzzyyyyyyyyyyyzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{}}}}~~~~~}}~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}}}}}{{{{{{{{{{zz{{{~~}}}}~{{{{z{{{{{{z{{{{{{{zzzzzzzy}}}{{{{{{zzzzzzzzzzyyyyyyyyyyy}}}{}}}yy{{{}}}}}}zzzyyyyy{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyy{{{{{{{{{~~~~~~~~}}}}~~~~~~~~~~~}}}}{{{}}{{{{{}}}}{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzyzzzzzzzzzz{{{z{{{{}}}}}}}}}}}{{{{{}{{{~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}~}}}}}}}}}~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zz{{}}}}}}}}}}}{{{{zz{{{zz{{{zzzzzzzzz{{zz{{{{{{{{{{{{{{{{zzz{{{{{{{{}}}}}{{{{{{zzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyzzzzzzzzzyyzyyyyyyyyzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{}}}}~~{{~~~~~~~~~~~~}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~~}}}}}}~~~~~}}}}}}}}}{{{{{{{{{{zzzz~~~{{}}}{{{{zz{{{{{z{{{{{{{zzzzzzyyy}}{{{{{{{zz{{{{zzzzzzyyyyyyyyy}{{}}}yyyyzzz}}}}zzyyyyyy{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{zz{zzz{zzzzzzzzzzzzzzzzzzzzzzzyyyyy{zzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{}}}}}{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{zzzz{{zzzzzzzzzzzzzzzzzzzzzz{{{}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}~}}}}}~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~}}}}}{{{zzz{{{zz}}}zzzzzzzzz{{z{{{{{{{{{{{{{{{{{{zz{{{{{{}}}}}}}}{{{{{zzzzyyyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzzzzzzzyyyyyyyyyzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{}}~~{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}~~~~~~~~~}}}}}~~~~~~}}}}}}}{{{{{{{}{{{{zzzz}}{{{{}}}{{{zz{{{{{{zzzzzzzzzzzzzyyy{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyy{{{{yyyyyzz}}}}zzzyyyyyyyy{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{zz{{{{{{zzzzzzzzzzzzzyzzzzzzyyyyyyyyzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}~~~}}}}}}}}}}~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{zzz{{zzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}}}}}}{{{{{{{{~~~~~~~~}~~~~~~~~~}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~{{}}~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}}}}{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}z{{{{{{}}}{{{zzzzzzz}}}}zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~}}}{{{{zzzzzzyyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzzzzzzzzzyyyyyyzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{}}~{{}~~~~~~~}~~~~~~~~~~~~~}}}}}}}}}}}}}}}~}}}}~~~~~~~~~~}}}}}}}~~~~~~~~~}}~~}}~~~~~~}}}}}}}{{{{{}}}{{{{{{}}}{{{{{{{yzzz{{{{{{{zzzzzzzyzzzzzyyyy{{y{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyz}}}}yzzyyyyyyyyy{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{zz{{{{{{zzzzzzzyyyyzyyyzzyzyyyyyyyyyzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}~~~}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}{{{{zzz{{{zzzzzzzzzzz{{{zzzzzz{{{{{}}}}}}{}}}{{{{}}}}}~~{{{{}}~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{}{{{zzzzzzzz}}}{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{}}}~~~~}}{{{zzzzzzzyyyyyyzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{}}{{}}~~~~~~}}~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}~~~~~~}}}}}}}}{{}}}}}{{{{{{{}}{{{{{{{yzz{{{{{{{{zzzzzyyyyzzzzzyyyyyy{{{{{{{{zzzyyzzyyyyyyyyyyyyyyyyyyyyyy{{}}}yyyyyyyyyyyy{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyz{{zz}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}~~~~~}}}}}}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}~~~}~~~~~}}}}{{{{zzzzzzzzzzzzzzzzzz{zzzzz{{{{{{{{~~{{{{{{{{{{}}}}}}~~{{{{}~~~}~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{z{{zzz{{zzzzz{{{{zzzzzzzzzzz{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}{}}}~~~~}}}{{{zzzzzzzzzyzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}{{{}}}}{{{{{{}}~~~~~~}}~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}~}~~~~~~~~~~}~~~~~~~}}}}}}{{{{}}}}}{{{{{{{{}}{{{{{zyyzz{{{{{{zzzzzzyyyyyzzzzzyyyyyzz{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzyyyyyzzzy{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyzzzzzzzz{{zz}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}~}}~~}~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}~}~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~~~}}}}}}}}~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}{{{{zzzzzzzzz{{zzzzzzzzzzzzz{{{{{{{{~~{{{{{{{{{}}}}}}}{{{{{{{~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}{{{{{{}}}}{{{{{}}}{{{{{{{{{{{{{zzzzzz{{zzzzz}{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{}}}}~~~~~~}}}{{{zzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}}}{{{{}}}{{{{{{{{~~~~~~}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}{{}}}}}}}{{{{{}}}}}{{{{zzzzzzzzzz{{zzzzzzyyyyyzzzzzyyyyyzz{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzzzyyyzzzzyy{zzz{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyzzzzzzzzz{{}}{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~}}~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}~}}~~~~}~}}}}{{{{zzzzzzzzz{{zzzzzzzzzzzzzz{{{{{{{~~{{{{{{{{{{}}}}}}{{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}{{{{{{{{{}}{{{}}}}}{{{{{{}}{{{{zzzzzzzzzzzzz}}{{{{zzzzzzz{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~{{{{{zzzzzzzzzzzzzzzzyyzzzzzzzzzz{{zzz{{{zz{zzzzzzzzzyzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}{{}}}}{{{{{{{{~~~~~}}}~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}{{{{{{}}}}}zz{{zzzzyyzzzzzzzzzzzzyyzyyzzyyyyzzzzz{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzyyyyyzzyyyy{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{yyyyyyyyyyyyyyyyzzzzzzzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}~~~}}}}}}}{{{{zzzzzzz{{{zzzzzzzzzzzzzzz{{{{{{{{~{{{{{{{{{{}}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{}}}}}}{}}}}}}{{{{{zzzzzzzzzzzzzzz}{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}~~~~~~}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{zz{{{{{{{{zzzzzzzzzzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}}}}{{{{{{}}~~~~~}}~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{}}}zzzzzzzyyyyzzzzzzzyzzzzzzzzzyyyyyzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyy{{{zzzzzzzzzzzzzz{{{{{{{{}}}}{{{zzzz{{{{{{yyyyyyyyyyyyyyyyzzzzzzzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}~}}}}}}}}{{{{zzzzzz{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{zz}}}{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{}}{{}{}}}}}}{{}}}}}{{{{{{zzzzzzzzzzzzzz{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{}}}}}}}}~~~~~~}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{zz{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{}}~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}}}~}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}{}}}}}}}{{{{{{{{{{zzzzzzzyyyyyyzzyyyyyzzzzzzzzyyyyyzzzzzyyyyzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzyzy{yy{{{{}}}}}{{yzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzz}}{{}~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{zzzz{{{{{zzzzzz{{zzzzzz}}{{{{{{{{{{{{{{zzz{~~~{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{}}}}}}}}}}}}}{}}}}}}}{{{{zzzzzzzzzzzzzz{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{zzzz{{zzz{{{}}}}}}}}}}~~~{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{zz{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}~~~~~~}}}}~~~~~~}~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{}}}}}{{{{{zzy{{{{zzzzzzyyyyyyyyyyyyyzzzzzzzyyyyyyzzzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzzzyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyy{{{{{}}}}}yyzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzz{{}{{{{}}~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{z{{{{{zzzzz{{{zzzzz}}}{{{{{{z{{{{{{{{z{{~~{{{{}}}}}}~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}~~}}}}}{}}}}}}}}}}}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzzz{{{{{{{{zzzz{{{{{{{zzzz{{{{{{{{{{{{zz{{{zzzzz{}}}}}~}}}}~{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{zzzzz{{zzz{{{{{{{{zzzzzzzzz{{{{{{{{}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}~~~~~~~}}~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{}{{{{{{{{{zyy{{{{zzzzzzyyyyyyyyyyyyyyzzzzyzyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy{z{{zzzzyyyyyyyyzzzzz}}{{{yzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{}}{{~~}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}~~~~~~~~~}}}}~~~}}}}}}}}}{{{{{{{{{{{{{{{{zzzzz{{{{zzzz{{}}{{{{zz{{{{{{{{{{{~~~{{{}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzzz{{{{{{zzzzz{{{{{{zzzz{{{{{{{{{{{{{{{{{zzzzz}}}}}~~~}}}{{{{{{{{}{{{{zzzzzzzzzzzzzzzzzzz{{zzzzzzzzz{{{{{{{zzzzzzzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zz{{{yyyyyyy{yyyyzyyyyyyyyyyyyyyyyyzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzyyyyyyyzzzzzzz}}{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{}{{{}}}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}~~}}}}}}}}}}{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{}}{{{{{{{{{{{{{{{{}}~}}}}}}}}}~~~~~~}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzz{{{{{zzzzzz{{{{{{zzzz{{{{{{{{{{{{{{{{zzzzz}}}}}~~~~{{{{{zz{}}}}{{{{zzzzzz{{zzzzzzzzzz{{{{{{{zzzzz{{{{{{{zzzzzzzzz{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}~~~~~~~~~~~~~~}}~}}}}~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{zzzzzzzyyyyyyyyyyyyyyyzyyyyyyyyyyyyzzzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyzzzzzzzzzz{zzzzzzzzyyyyyyyyyyyyyyyyzzzyyyyyz{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{}}{}}}}}}}}}}{{{{{{zzzzzzzzzzyyyzz{{{{zzzzy{{{{{zzzzzzz{{{{{{{{{{{{{{{zzzz{{}}}}~~~{{{{{zzz{}}}{{{{{{{{zz{{{zzzzzzzzzz{{{{{{{{zzzzz{{{{{{{zzzzz{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}~~~~~~~~~~~~~~~}}}}}}}~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~}~~~~~~~~~}}}~}}{{{{{{zzzzzzzyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzyyyyyyy{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}{}}{{}}~~}}}}}{{{{{zzzzzzzzzzzyyyyy{{{zzzyyy{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{}{{{}}}{{{{{zz{{}}{{{{{{{{{{{{{{zzzzzzzzzz{{{z{{{zzzzzz{{{{{{{zzzzz{{{{zzz{{{{{}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~}}}~~}~}}}}}~~~~~~~}}~~~}}~}}~~}}}}}{{{{{{zzzzzzzyyyyyyyyyzzzzzzzzyyyyyyyyyyyzzzzyyyyyzyyyyyyyyyyzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzyyyyyyyy{{{{{{{{{{{{{{{~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~}}}}}~~~~}}}}}}}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}~~}}}}}}}}}}}}}}{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}}}{{{{~~~~}}}}{{{{{zzzzzzzzzzzzzyzzzyyyyyyyy{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{}}{{{{{{{{{{{{{{{zzzzzzzzzz{zzz{{zzzzzz{{{{{{zzzzzzz{{zzzz{{{{}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~}}~~~~~}}}}}}}~~~~~}}~~}}}}}}~~~}}}}}{{{{{zzzzzzzyyyyyyyyzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyzyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzyyyyyyyyyyyyyyyzzyyyyzzzz{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zz{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}~~}}}}}}}}~~}}}}}}}~~~}~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}{{{{}}}}}}}{}}}{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}}{{{~~~~}}}}}}{{{zzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{zzzzz{zzzzzzzzzzzzzz{{{{{{{{zzzzzzzz{{{z{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}~~~}}~~~~~~~~~~}}}}}}~~}}}}}}}{{{{zzzzzzyyyyzzyyzzzzzzzzzyyyyyyyyyyzzzzzzyyyyyyzzzyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyzzzzzzyyyyzzz{{{z{{{{zzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{zz{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}~}}~}~}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{~~~}}}}}}}}{{{zzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{~~~~}}}}{{{{{{{{{{{{zzz{{{{{zzz{{zzz{{{{{{{{{{{{{zz{{zzz{{{{{{{{}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}{{{zzzzzzzzzzzzyyzzzzzzzzyyyyyyyyyyyzzzyyyyyyyyyyzzyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyzzzzzzyyyyyy{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}~~~}}}~~~~~~~~~~~}}~~~~}~~~~~~~~~~~~~~}}~~~}}~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}{}}{}}}}}{{{{}{{{{{{z{{}}{{{}}{}}}}}}}}}}{{{}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{~~~}}}}}}}}{{{zzzzzzzzzzyzyyzyyzyyyyyyyzzzzzz{{{{{{{{{{{{{{{zzz{{{{{{{{{{}{{{{{{{{{{{{~~~y}}}}{{{{{{{zzz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{}}{~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}{{{{zzzzzzzzzzzzyyzzzzzzzzzyyzzyyyyyyyyyyyyyyyyyyzzzyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyzzzzyyyyyy{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{zzzzz{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~}}}~~~}}~~~}~~~}~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}{{{{zz{}}}}}}}}}}~~~}}}}}}{{{}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}{{}}}}}}}}{}{{~~~~}}}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyzzzzyzzzz{{{{}}}}}{{zzzzzz{{{{{{{}}}}}}}{zz{{{{~~yy}}}}{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}{{{{{{{{zzzzzzzzzzzzzyzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyzzzzyyyyyyy{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~}}}}}}~}}}}}}}}}}}}}}}}}}}}}{}}}{{{{z{{}}}}}}}}}~~~~}}}}{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}}}}}}{{}}}}}~}}{{{{~~~~~}}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyzzyyyzzzzz{{}}}}}}{{zzzzzzz{{{}}}}}}}}}}zzz{{zzzzyyzz}}}}{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{}}}}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzzzzzzzzzyyzzzzzzzzzzzyzzyzzzyyyyyyyyyyyyzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyzzzzyyyyyyyyzzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzz{{{{}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}}}~~~~~}}{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}}}{{}{{zzzz}}~~~z{{{{~~~~~{}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyzyyyzzzzz}}}}}}{{{{{{zzzzz{{{}}}}}}}}}}zzz{{{zzyyyzzz}}}}zzzzzzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{zzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyzzzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{zzz{{{{}}~~{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~}~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}{{{{{{{{}}}}}}~~~}~}}{{{{{{}}}{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~{{{{{{{{zzzzzzzzzzzz{{z~~~}{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyz{}}}}}}{{{{{zzzzzzzzzz}}{}}}}{{{{z{{zyyyyyyz{{{yyzzyyzzzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{{{{{{}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{zzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{z{{{{{}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}{{{{{{{{}}}}}}~~}}}{{{{{}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~{{{{{{{{{zzzzzzzzzzzzzz~~}}{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyzzyyyzzyyz{{}}}}}}{{{zzzzzzzyzzz{{{}}{{{{{{{zzzyyyyyyyy{{yyyyyyzzzzz}{{{{{{{{{{{{{{{}}}}}}}}}}}}}}{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{}{{{{{{{{{{{zzzzzzzzzyyyyzzzzzyyzzzzzzzzzyyyyyyyyyyzzzzzz{{zzzzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{}}{}{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}~~~~}}}}}}~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}{{{{{{{{{{}~~~~~~}}}{{{{{}}}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~~}}{{{{{{{{{zzzzzzzzzzzzz~~}}}}}{{{{{{zzzzzzzzzzzzzzzyyyyyyyyzzzyyzzzyyz{{z}}}}}}{{zzzzzzyyzzz{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyz}}{}}{}}}}}{{{{{{}}}}}}}}}}}}}}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}}{{{{{{{{{{zzzzzzzzzyyyyyzzyyyyyyyyyyzzyyyzyyyyyyzzzzzzz{{zzzzzzzzzzyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}}}}}~~~~~~~~~~}}}}~~~~~}}}}}~~~}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{}{{{{{{{~~~~~~~}}{{{{{zz}}{}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~}}{{}}}{{{{{zzzzzzz{{{{{}}{{{}}{{{{{{{{{{zzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzz}}}}{{zzzzzzzyzzz{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyy}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzyyyzzzyyyyyyyyyyzzzzzzzyyyzzzzzzzzzz{{{zzzzzzzzzzyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~}}}}}~~~~~~~~~~~~~}}~~~~~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{}}}}}{{{~~~~~~~~}}{{{{{zz{{{{}}{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~}}{{}}}{{{{{zzzz{{{{{{{{{}{{{}}{{{{{{{{{{{{{{zzzzzzzzyyyyyyzzzzzzzzzzzzzzzz}}}}{{{{zzzzzzzzzyyy{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}~~}}~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzyyzzzzzzzzzyyyyyyzzzzzzzyyyzzzzzzzzzz{{{zzzzzzzzzzyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzzz{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~}}}}}~~~~~~~~~~~~~}~~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{~~~~~~~~~}{{zzzzz{{{{}}}{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}}}}}}}}}{{{{{zzzz{{{{{{{{}}{{}}}}{{{{{{{{{{{{{{zzzzzzzyyyyyyyzzzzzzzzzzzzzzz}}}}{{{{{zzzzzzzyyyy{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyzzzzz}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{zzzzzzyyyzzzzzzzzzzzzzyyzzzzzzzyyyzzzzzzzz{{{{zzzzzzzzzzzyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{zzzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{}}}~~~~~~~~~}}{zzzzz{{}{}}}{{{{~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~}}}}{{{{{{{{{zzzzz{{{{{{{}}{{}}}}{{{{{{{{{{{{{{zzzzzzzyyyyyyzzzzyyyyyzzzzzzz}}}}{{z{{zzzzzzyyyyyy{{{{{{{{{zzzzzzzzyyyyyyyyyyyyzzzzz}}}}}}}}~~}~~~~}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}}{{{{{{{{zzzzzyyyyzzzzzzzzzzzzzyyyzzzzzzzyyyyzzzz{{{{{{{zzzzzzzzzyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{zzz}{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{zzzz~~~~~~~}}}}zzzzz}}}{{}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}{{{{{{{{{{z{{z{{{{{{{{{{{}}}}}}}}{{{{{{{{{{zzzzzzzyyyyyyzzzzyyyyyzzz{{{{{~~}}zzzzzzzzzzyyyyyy{{{{{{zz{{zzzzzzzyyyyyyyyyyyzzzzz{}}}}}}}}~~~~~~~~}~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}}}{{{{{}}}{{{{{{{zzzzyyyyyzzzzzzzzzzzzzyzzzzzzzzzzzyyzzz{{{{{{{{zzzzzzzzyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyzzzzzzz{{{{{{{}}{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzzz~~}}}}}}}{zzzzzzz}}{{{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{zzzzzzzyyyyyyyzzzzzzyzzzzz{{{}~~}}{{zzzzzzzzyyyyyyy{{{{{zz{{{{zzzzyyyyyyyyyyyyyzzz{{{{{}}}}}~~~}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}{{{{}{{{{{zz}}}}{{{{{zzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyy{{{{{{{{{zzzzzzzzyyyyyyyyzzyyyzzzzzyyyyyyyyyyyyzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzzyzyzyyyzzzzzzz{{{{{{{{}}{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzz{{{}}}}}}{{zzzzzzzz}{{zzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{zzzzzzyyyyyyyyzzzzzzzz{{zzz{{}}}}}{{zzzzzzzyyyyyyyy{{{{zzzz{{{{zzzyyyyyyyyyyyyyyyzz{{{{~~}~~~~}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~{{{{{{{{{{{zz}}}}{{{{zzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyy{{{{{{{{zzzzzzzzyyyyyyyyzzzyyzzzzzzzyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyzzzzz{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{z{{{{{{{{{}zzzz{{zzzz{{{{zzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{zzzzzzzzzyyyyyyyyyzzzzzzz{{{zz{{{}}}{{{{zz{{yyyyyyyyy{{{{{zzzz{zz{zyyyyyyyyyyyyyyyyyzz{{{{~~~~~~~}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~}~~~~}}}~~~~~~~~~~~~~~~{{~~~}}}}}~~~~{{{y{{{{{{{{z{}}}{{{{zzzzzzzzyyyyyyyyzzzzzzzzzzz{zzzzzzzzzzzzz{{{{{{{zzzzyzzzyyyzyyzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyzzzzzz{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zz{{{{{{{{{{{zz{{{zzzz{{{{zzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}{{}{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyzzzzzzzz{{{{{{{}}{{{{{zz{{yyyyyyyyyz{{{{zzzyyzzzyyyyyyyyyyyyyyyyyy{{{{{{~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}~~~~~~~~~~~~~~{{{~~}}}}}~~~{{{yy}}}{{{{{{{{}}{{{{zzzzzzzzzyyyyyyyyzzzzzzz{{{{{zzzzzzzzzzzzz{{{{{zzzzyyyzzyyzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{z{{{{{{{{{{{{zz{{zzzz{{{{zzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{z{{{{zzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{{}}{{{zzzzz{yyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}~~~~~~~~~~~~~~~{{~~}}}{{{~zzzzyy}}}{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{z{zzzzzz{{{{{{{zzz{{~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyzzzzzzz{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzz{{{{~~~~}}}}~~~~~~~~zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~{{{}}}{{{{zzzzzzz}}}}{{{{{{{{z{{{{{zzzzzyyyyyyyyyyyzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzz{{zzzzzzzzzzzzzz{{{{{{{{{}{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{zzzzz{y{{{{{{z{{{{~{{~~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyzzzzzzzz{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyzyzzzzzz{{{~~}}}}}~~~~~~~~zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}}~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~~~~~~~~}}~{{{{}{{{{{zzzzzzzz{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzz{{{{zzzzzzzzzzzzzz{{{{{{}}}}}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{zzzzzyyy{zz{zz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzyzzyzzzz{{zzz{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzz{{{{}}}}}{{~~zzz~~zzzzz}}}}}~~~~zzz~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}{{{{{{{{{zzzzzzzzz}{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzz{{{zzzzzzz{{zzzz{{{{{{{{}}}}}}}{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{zzzzzzyyyyzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}~~}}}}}~~~~~~}}}}}~~}}}}{{{{{{{{{zzz{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{y{{yyzzzzzyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyzzzzzzzz{{{{}}}}}{{~{zzz~zzzz{{{{{}{{{~~zz~~}}~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}{{{{{{{{{{zzzzzzzzz}}{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{zzzzzzzz{{{{z{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{zzzzzzyyzzzzzzzz{zzzzz{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}~~~~~~~~}~~~~~~~~}}}}~~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{}}{{}{{{{{yyzzyyzzzzzzyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyzyyyyzzz{zz{{{{}}}}}{{{{zzzzzzz{{{{zz{{{{{{{{{}}}}~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}~~~~~~~}}}{{{{{{{{{{{{zzzzz{z}}{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyy{{{{{{{{{{{zzzzzzzzzzzzz{{{zzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyzz{{{{{zzzzzzzzz{{{{{{{{{{{}}}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}{{{{{{{{{{{zzzzzyyyyyzzzzzzzzzzzz{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{}}}}}}}{{{{yyzzyyzzzzzzzzzzyyyyyzyzzzzzzyyyyyyyyyzzzzzzyyyzzz{zz{{{{{{{{{{{zzyyzzzzz{{{zzzz{{{{{{{~~}}~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}~}}~~~~}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}~~~~~~~~}}}}{{{{{{{{{{zzz{{{}}}{{{{{{{{{{{{{{zzzzyyzyyyyyyyyyyyyyyyyy{{{{{{{{{{{zzzzzzzzzzzzz{{{zzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzz{{{zzzzzzzzzzz{{{{{{{{{{}}}}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}{{{{{{{{zzzzyyyyyyzzzzzzzzzzzz{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{}}}}}}}{{zzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{zzzyyzzzzz{{{{zzz{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~}~~~~~~}}~~}}~~~~~zz}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}~~~~}~~}}}}}{{{{{{{{{{{{zz{{}}}{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyy{{zzzzz{{{{{{zzz{{{zz{zz{{{{{{{{zz{zzzzzzzz{{{{{{zzzzzzzzzzz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{zzzzzzzzzzz{{{{{{{{{{}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{zzzzyyyyyyzzzzz{zzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{}}}}}{}zzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzyyyzyyyzzzzzzzzz{{z{{{{{y{{y{}}{yyyyzzzzz{{{{{{{{{{{{}{{~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}~~~~~~~~~~~~~~~~~~}~~~~{zzzzzz~y}}}y~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}~~~}}~}}}}}{{{{{{{{{{{{zz{}}}}{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{zzz{{{{{{{{{{{{{{{{z{{{zzzzzzz{{{{zzzzzzz{{zzzz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{zzzzzzz{{{{{}}{{}}}~}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{zz{{{{{zzzzyyyyyyyyyzz{{zzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{}{{~~~}}{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzz{{zzyyyyyy}}{yyyyzzzzz{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~{{{zzzzzyyy}yy~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}{{}{{{{{{{{{{}}}}{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{zzzzzzz{{{zzz{{{zzzyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzyyyzzyyyyyzzzzzzzzz{{{{{{{zzzz{{{{{{{}}}}}}}}~~}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{zz{{{{zzzzzyyyyyyyyyz{{{zzz{{{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{}}}{{{}}}{{{{zzzzzzzzzzzz{{{}}}}~~}}{{{{z{{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}}}}}}}}}}}}}}~~}~}}~~~~~}}}{{{{zzzzzyyyyyyy~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}{}}{{{{{{{{{{}}}}}{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{zzzzzzzzy{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{zzzzzz{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyzzzzzzzzzyzzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{zz{{zzzzzzzzzyyyyyyyyyyzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{zzzzzzzzzz{{{{{}}}}}}}{{{{{{{zzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}{{{{{{zzyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}}{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{zzzzzzzyyy{{{{{}}{{{{{{{{{zzzzzzzzzz{{{{{zzzz{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}}}}{{{{{{{{zzzzzzzzzyyyyyyyyyyyzyzzzzz{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{zzzzzzz{{{{{}}}}}}}{{{{{{{z{{zz{{{{{z{zzzzzzzzzzzzzzzzzzzzzzzzz{{zz{zz{{zzzzzzzzyyyyyyyyyyyyyzzzz{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~{{{{{{{{zzyyyyyyyyyyyyy~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyy{{{{{{{{zzzzzzzyy{{{{{{}}{{{{{{{{{zzzzzzzz{{{{{{{{zzz{{{{{{{{zzzzzzyyzyyyyyyyyyyyyyyyyzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzz{{{zzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}{{{{{{{{{zzzzzzzzyyyyyzzyyzzyyyyzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}{{{{{{{{{{{zzzz{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzyyyzyyyyyyyyzzzzzz{{}{{{{{{}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}}}{{{{{{{{zzzyyyyyyyyyyyyy~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}~~~~~}}}~}}}}}}}}}}}}{{{{{{{{{{}}}{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyy{{{{{{{{zzzzzzzyy{{}}{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzyyyzzyyzzzzzzzzzzzzzzzz{{{zzz{{{{{{{}}}}}}}}~~~~~}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}{{{{{{{{{zzzzzzzzzyyzzzzzzzzzyyyyz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}}}{{{{{{{{{{zz{{{{{}}{}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzyzzzyyyyyyyzzzzz{{{}}{{{{{}}{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}}}}}}}}}}{{{{zzyyzyyyyyyyyyyyyyyy~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}~~~~~~}}~~~}}}}}}}}}}{{{{{{{{{{{}{{{{{zzzzzzzyyzzzzzzzyyyyyyyyyyyyyyyyyyy{{{{{{{{{zzzzzyyy{}}}{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzyyyyyzyyyzzzzzzzzzzzzzzz{{{{z{{{{{{{}}}~~}}}~~~~~~~~}}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzy{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyzzzzzzz{}}{{{{{}{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}}}}}}}}zzy{zyyyyyyyyyyyyyyyyyyy~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{zzz{zzzzyyyzzzzzzyyyyyyyyyyyyyyyyyyy{{{{{{{{yyzzyyyyzzz}}}{{}{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzyyyyyzzyyyzzzzzzzzzzzzz{{{{{{}}}}}}}}}}~~}}}}~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}~}}}}}}}}}}}}{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{zz{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyzzzzzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}}}}}}}}}zzyyyyyyyyyyyyzzzyyyyyyyy~~~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~}}}}}~~}}}}}}{{{{{{{{{{{{{{{{{{z{{{{zzyyzzzzyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{yyyyyyyyzzz}}}}}}}{{{{{{zzzzz{{{{{{{{{zz{{{{{{{{{{{{zzzzzzzzzzzzyyzyyyzyyyyyyyyzzzzzzyyyyyzyyyyzzz{zzzzzzz{{{{{{{{{}}}}}}}}}~~}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{}}{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyzzyzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}~~~~~~}}}}}~}}}}yyyyyyyyyyyyyzzzzyyyyyyyy~}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}}}}~~~}}}}}}{{{{{{{{{{{{{{{{{zz{{{{yyyyzzyyyyyyyyyzzyyyyyyyyyyyyyzz{{{{{yyyyyyyyyzzz}}}}}}}{{{{{zzzzz{{{{{{{{{{zzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzyyyyyyyyyyzzz{{zzzzz{{{{{{{{{{}}}}}}}}}~~~}}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}{{{{{{{{{{}{{{}{{{}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyzzyyyyyyyyzzzzz{{{z{{{~}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}~}~~~~~~}}}}~~~}}zzyyyyyyyyyyyzzzyyyyyyyyyy~~}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}}}}~~~~~~~}}{{{{{{{{{{{{{{{{{{zzzyyyyyyyzyyyyyyyyyzzyyyyyyyyyyyyyyyyyyy{yyyyyyyyyyzz}}}}}}}}{{{{{{zzzzz{{yy{{{{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzyyyyyyyyyzzzzz{zzz{{{{{{{{{{{}}}}}}}}}}}~~}~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}{{{{}}}}{{}}}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{}}{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyzzzzz{{{z{{~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~}}~}}zzzzzyyyyyyyyyyzzzzyyyyyyyyyyy~~}~~}}}}~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}}~~~~~~~zz{{{{{{{{{{{{{{{{zyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}}}}}}{{{{{{{yyyyyzzyyy{{{{zzz{{{{{{{{{{{zz{zzzzzzzzzzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyzzzz{{zz{{{{{{{{{{{}}}}}}~~}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}{{{}}}}{{}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{}}}}}{{{{{{{zzzzzzzzzzzzzzyyyyyyyzzyyy{z}}}~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~}}{}}zzzzyyyyyyyyyyzzzzzzyyyyyyyyyyyyy~~}}}}~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}~~~~~~zzzz{{{z{yyy{{{{{{{{zzyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}z}}{{{{{yyyyyyyzzyyyy{{{zzz{{{{{{{{{{{zz{{{zzzzzzzzzzzzzzzzyyyyyyzzzzyyyyyyyyyyyyyzzy{yzz{{{{{{{{{{{{}}}}}~~}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zz{zzzzzzzzzzz{{{{{{{{~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~}}}}}}}}}}}}}}{}}}}}}}}}{{}{{{{{{{{{{{{{{{{{{{zzzzz{{{zzz{{{{{{}}}}}}}}}}{{{{{{{zzzzzzzz{zzzyyyyyyyyyyyyyy}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}~~~~~~~~~~~~}}}{{{{zzzzyzyyyyyyyzzzzzzzyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}~~~~~~~~~~~~}}~~~~~~~zz{{{{zzyyyzzzz}}}zzzyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{yyyyyyyyyyyyyzz{{zzz{{{{{{{{{{{zzz{{{{zzzz{zzzzzzzzzzyyyyyzzzzzyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{}}~~~~~~}~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzz{{{yyy{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~}}}~~~}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{zzzzz{z{{{yyyyyyyyyyyyyzzzz}{{~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzzzzzzzzzyyyzzzzzzzyyyyyyyyyyyyy~~~y~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}}~~~~~~~~~~~}}~~~~~~}}{{{yyyyyyzzzzz}}}zzyyyyyyyyyyyyyyyyyzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzy{{yyyyyyyyyyyyyyzzz{zzzz{{{{{{{{{zzz{{{{{{zz{{{zzzzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyzzz{{{{{{{{{{}}}}}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzz{{{{yyyzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}{{{{{{{zzzz{{{zzzyyyyyyyyyyyyyzzzzz{{~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzzzzzyyyzzzzzzzyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}{{zzyyyyyyyzzzzz}zzzyzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{zz{{{{{{{{{{{{{zzzzzzzzzzyyyyyzzyyyyyyyyyyyyyyyyzzz{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{zz{{{z{{{{yyzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{}}}}{{}}{}}}{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyzzzzzzz~~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}{{{{{zzzzzzzzzzyyyyzzyyzzyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{zzyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzyyyyyyyyyzzzzz{{{{{{{{{{{z{{{{{{{{{{{{{{zzzzzzzzzzzzzyyzzyyyyyyyyyyyyyyyyzzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}~~}}}}}}}}}}}{{}}{{}}}}{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{}}{{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyzzzzzzz~~{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz{{zzyyyyyyyzzz{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzz{{}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~{{zz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}{{{{}}{{{{{{{{{{{{{zzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}}}}}}}}}}}}}{}}{}}{{{}{{{{{{{{{{}}}}{{{{{{}}{{{{{zz{{{{{{{zyyyyyyyyyyyyyyyzzzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~~}}{}}~~~~~~~}}}~}}~~~}}{{{{yzzzzzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}{~~{{{{{{~}~~~~~{{~~zzzz{zzyyyyyyyyy{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzyyyyyzzz{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyzyyyzzyyyyyzzzzzzz{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~{{~~~{{{{{{zzzzz~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{}}{{{{{{{{{{{{{{zzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{zz{{{{{{{yyyyyyyyyyyyyyyzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~{{~~~~}}{}}}~~~~~~}}}}}}}~~}}{{yyyyzz{{{zyyzzyyyyyyyyyyyyyyyyyyzyyyyyyyy~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}{{{{{{{}}}~~~~~{{~~zzzzzzyyyyyyyzyy{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzzzzyyyzzzzzz{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzz{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~{{{{{{{{{{{zzz~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{}{{{{{{{{{{{zzzzzzzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}{}}}}{{{{{{{{{{{{{{{z{{{z{{yyyyyyyzzyyyyyzzzzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{z~~~~{{{{{}z~~~~~~~}}}}}}}~~{{{{yyyy{{{{yyyzyyyyyyyyyyyyyyyyyyyzzzyyyyyy~~~zz}~~~~~~~~~~~~~}~~~~~~~~~~~~}}{{{{{{{{}}~~~~{{{{~zzzzzzzyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzzzzzzzyyyzzzz{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~{{{{{{{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzyyyzzzzzzyyyyyzzzzzz{zzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zz~~~{{{{zzz~~~~~~~{{}}}}}{zz{{zzyyy{{{{yyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyy{{~zzz}}~~~~~~~~~~}}}~~~~~~~~~~~~}}}{}{{{{{{{~~~}}{{{{zzzzzzzzyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzzzzzyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~{{{{{{{{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzz{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}}{{{{{{{}}}{{{{{{{{zzzzzzyzzzzzzzzyyzyyzzzz{{{zzz{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}zzzzzz~~zzzzzzz~~~~~~{{{}}}{{{zzzzzzy{{{{{zzzyyyyyyyyyyzzzyyyyyyyzzyzzzyzzzy{{{{zzz}}}}}}~~~~~~}}}}}~~~~~~~~~~}}}}}}{{{{{{~{{}}}}{{zzzzzzzzyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzzzzzzzzzzzzzzyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{zz{z{{z~~~~~}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}z{zzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzz{}}}~~}}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zz{{zzzzzzzzzzz~~~~~~zzz{{{{{zzzzzzzz{{{zzzzzyyyyyyyyyyzzzyyyyyyyzyyzzzzzzzz{{{{{~~}}}}}}~~~~~}}}}}}~~~~~~~~}}}}}}}}{{{{zz{{{{}}}{{{{zzzzzzyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{yyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{}}}~}}}}}{}}}z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzzzzzzz~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}{{{zzzzzzzyyzzz{{zz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}{{{{{{}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{zzzzzzzzzzzz{{~~~~zzzz{{{{zzzzzzzz{{zzzzzzyyyyyyyyyyzzzzzyyyzzzyyyzzzzzzzz{zz{~~~~~}}}~~~~~~}}}}}~~~~~~~~}}}}}}}}}}{zzz{{{{}}}{{{{zzzzzyyyyyyyzyzyzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{yy{{{{{{{{{{{{{{{{{{{{{{{{zzy{yyyzzzzzyyyyyyyzzzzzzzzzzzzzzzzz{{{}~~~}}}}{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{zzzzzzzzz}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{zzzzzzyyyyzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~{{{{zzzzzzzzzzzz{~~{{{{{zz{{{{zzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzyyzzzzyyzzzzz{{zzzz{{~~~}}}}}}~~~~}}}}}~~~~~~~~}}}}}}}}}}zzzzzz{zz}}{{{{zzzzzzyyyyyyyyyyz{{yyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{yy}{{}}}{{{{{{{{{{{}{{{{{{zyyyyyzzzzzzyyyyyyyzzzzzzzzzzzzzzzz{{{}}}~~}}}{{{{zzz~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{zzzzzzzz}}~~}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}}}}}{{zzzzzzzyyyzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{zzz~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzz{{{{{{~{{{{{{{z{{{{{zzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzyzzzzzzzzzzzz{{zzzzy{~~~}}}}}}}~~~~~}}~~~~~~~~~~~~}}}{{}}zzz{zzzzz{{{{{{zzzzzzyyyyyyyyyy{{{yyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{yyy}}{}}}{{{{{{{}}{}}}}{{{{zyyyyyzzzzzzyyyyyyzzzzzzzzzzzzzzzzz{{}}}}}{}}}{{{{{{z~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zzzz{{{{z}}~}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}{{{{{{{{zzzzzzzzyyzz{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}z{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyzzzzzzzzyyzzzzzzzzzzzz{{{zzzyy~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}{{{zzz{zzz{{{{z{{{{zzzzzyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzzzzzyyyzzzzyyyyyy{{}}}{{{{{}}}}}}}}}{{zzzyyyyzzzzzzzzzyyzzzzzzzzzzzzzzzzzz{{}}}}}}{{{}}{{{{{~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzz{{{{{{{{{}}~}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}}zzz{{{{zzzzzzzzyyyzzy{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}zzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{yyzzzzzzzzzzzyyzzzzyyyyyyyzzzzzzzzzz{{zzzzzy~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}{{zzzz{{{{{{{zz{{{{zzzzzyyzyyyzzyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{zzyyyyzzzzzyyyyy{{}}}{{{{{}}}}}}}}}{{zzzzyyyzzzzzzzzzyyzzzzz{zzzzyzzzzz{{{}}}}}}}{{{{{{{{{{~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzz{{{{{{{{{{~~{{{{{{{~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{z{{zz{{{yyzzzzzzzyyyyyy{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{zz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{zzz{{{{{{{{{{{{{{{z{{{{{{{{{{{{{zz{{yyyyzzzzzzzzzyyzzzyyyyyyyyyyzzzzzzzz{{zzzzzz~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}{{{zz{{{{{{{{{{{{{zzzzzzzzzzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyy{{y{{{{yyyyyyzzzzzyyyyyzz}}}}{{{}}}}}}}}}zzzzzzzzyzzzzzzzzzzyyyyzzz{{yyyy{{{zz{{{}}}}}}}{{{{{{{{{{{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzz{{{{{{{{{}}{{{{{}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~zz{{{{{{{z{zzzzzyyyyzzzzzzyyyyyyy{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{zz{{{{{{{{{{{{{{{{{zzzzz{{{zz{zzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zz{{z{{zz{{{{{{{zzzzz{{{{{{{{{{{{{z{zzyyyzzzzzzzzzzzzzzyyzyyyyyyyzzzzzzyyzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{zz{{{{{zzzzzzzzzzyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyy{yyyyyyyyyyyyzzzzyyyyyyzz}}}}}{{{{}}}}}}{zzzzzzzzzzzzzzzzzzzyyyyyzz{{yyyyyzzzz{{{}}}}}{{{{{{z{{{{{{~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{zzzz{{{{{}}}}}{{{}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzz{{{{{zzzzzzzzyyyzzzzzzzyyyyyzz{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{z{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zz{{zzzz{{{{zzzzzzzyyy}{{{{{{{{{{{zzzzyyyzzzzzzzzzzzzzzzzzzyyyzz{{zzzzzyyzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{zz{{{{{zzzzzzzzzzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyy}}}}}}{{{{{}}}}{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzz{{{{~~~}}{{{{zz{{{{{~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}{{zzzzz{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}}}zzzzz{{zzzzzzzzzzzyyyzzzzzzzyyyzzzzz{{}}{}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{zzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{}~~}~~~~~~~~~~~~}}}~~~~}}~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}{{{{zzzzzzzz{{{{zzzzzzzyyy}}}}}}{{{{{zzzyyyzyzzzzzzzzzzzyyzzzzzyyyzz{{{{zyyyyzzzzzzzzz~~{{}}}~}}~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zz{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyzzzzyyyyyy}}}}}}{{{{{{}{{{{{{zzzyzzzzzzzzzzzzzzyyzzzyyyyyyyyyzzz{{{~~~~}}{{{{{z{{{{{~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}{{{{zzz{{{{{{}{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{y}}}zzzzzzzzzzzzzzzzyyyy{{zzzzzzzyyzzzzz{{{{{~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}~~}}}}~~~~~}}~~~}}~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{}}~~}~~~~~~~~~~~~~}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}{{{{{{{zzzzzz{{{{zzzzzzzyyyy}}}}}}zz{zzyyyyzzzyyzzzzzzzzzyzzzzzzzzzzz{{{zzyyyzzzzzzz{{zzzz{}}}}}}~~~~~~~~~~~~~~~~~~}}{zz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzyyyyyyyyyyyyyyyyyyzzzzzyyyyyyy}}zzz{{{{{{{{{{{{{zzzyyzzzzzzzzzzzzzzzzzzzyyyyyyyyzzz{yy~~~~}}{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~}}}~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{yy}zzzzzzzzzzzzzzzzzyyyy{{zzzzzzzzzzzzzz{{{{{~~}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}~}}}}}}}}{}}~~~}}~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{zzz{{zz{{{{{{{{{{zzzzzz{{{{{{}}}{{{{}}}~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}~~{{}}}}{{{{{zzzzzzz{{{{zzzzzzzyyyyy}}}yyzzzzyyyyzzzzyyyzzzzzzzzzzzzzzzzzzzz{{{zzyzzzzzzzzz{{{zzzz}}}}}}~~~~~~~~~~~~~~~~~~{{zzz{{{{{{{{{{{{{zz{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzzz}zzzzzzzzzz{{{{zzzzzzyzzzyzzzzzzzzzzzzzzzzyyyyyyyyzyyyyz~~~}{{{{{{{{{}}}}}}}}{{{}~~~~~~~~~~~}}}~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzyyzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzz{{{{{{~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}}}}}}}{{~~~~}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{yyy{{{{{{zzz{{zz{{{{{{zz{{zzzzzz{{{{{{{}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{}{{{{{zzzzzzz{{{{{zzzzzyyyyyyyyyyyyzzzyyyzzzyyyyzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzz{{{{{{{{zzzzz}~~~~~~~~~~~~~~~~~~~~~~{{zzz{{{{{{{{{{{{{zz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{zzzzz{{{{{zzzzzzzzzyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyzzz~{{{{{{{{{{{}}}}}}}{{{{~~~~~~~~~~~}}}~~~~~~~~}~~~}}{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}}}{zzzzzzzzzz{{zzzzzzzzzyyyyyzzzzzzzzzzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}}}}}{{{{{~{{}{{{{{{{~{{}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}z}}}yy}}{{{{{zzzzz{{{{{{{zzzzzzzzzzz{{{{{{}}}}}}}}~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{zzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyzzzyyyyzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~}~{{{{z{{{{{{{{{{{{{{zz{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{z{{{{zzzzz{{{{{zzzzzzzzyyyyyzzzzyzzzzzzzzzyyyyyyyyyyyzzzz{{{}{{{{{{{{{~~~}}}{{{{~}}~~~~{~~~}}}}}~~~~~~}{~{{{{{{{{zz{{{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}z{{{zzzzzzzzzz{{{{{zzzzyyyyyyzzzzzzzzzzzzzz{{{{}}{{zz~~~~}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}zz}}}yy}}{{{{{zzzzz{{{{{{{zzzzzzzzzzz{{{{{{{{}}}}}~~~~~~~~}}}}}~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{zz{{zzzzzzyyyyyyyyyyyyyyyyyzzzzyyyyzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzz{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{zzzzzz{{{zzzzzzzzzyyyyyzzzyyyzzzzzzzzzyyyyyyyyyyyzz{{{}}}}}{{{{{~~~~~}}{{{}}}}~~~{{~~~~~~}}~~~~~{{{{{{{{{{{zzz{{{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz{{}}zzzzzzzzz{{zzz{{{{{zzzzzyyyyzzzzzzzzzzzzzz{{{{}}{{{zz~~~}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~}}}{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}}~~~~~~~~~}zzzz}zzyyyy{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{yy{}}}}}}~~~~~~~~}~~}}~~~}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyzzzzzyyyyzzzzzzzzzzzzz{{zzzz{{{{zzzzzzzzzzz{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzz{{{{{{{{{{{{{zzz{{{{zzzzzzzzzyzyyzzzyyyzzzzzzzzzyyyyyyyyyyzz{{{{{}}}}{{{{{~~~}}}{{{{}}~~~~~{{~~~~~}}~~~~~z{{{{{{{{{z{zz{{{{{{{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{}}{{zzz{{{}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{~{{~~~~~~~~~~~~~~}}}~~~~}}}}}}~~~~~}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{}~~~~~~~~~~{{zzzzzzyyyyyyyzzzzzzzzzzzzzz{zzzzzzzz{{{{{yy}}}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzzzz{{{{zzzz{{{zzzzzzzzzzz{{{{{{{{{zzzzzz{{~~~~~~~~{~~~}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyzzzzyyyyzyy{{{{{{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzzzyyzzzzzzzzzzzyyzyyyyyzzz{{{}}}}}}}{{{}}~~}}{{{}{}}~~~zz{~~~~~~}}}~~~~zz{{{{{{{{zz{{{{{{{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{}}{{zz}{{{}~~}~~~~~~{{}}~~~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}{{{{{{{{{{{{{{{{{{zzzzz{{~~~~~~~~~~~zz{~}}~~~}}}}}}~~~~~~~}~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{~~~~~~~~~~{{zzzzzzyyyyyyyzzzzzzzzzzzz{{{zzzzzzz{{{{zzzz}}}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyzzzzzzzyyyyyyzzzzzzzz{{{{zzzzzz{{zzzzzzzz{{{{{{{{{{{{{{{zzz{{}~~~~~~~{~~~}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyzzzzyyyzzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzz{{{}}}}}}}}{{}}}}}}{{{}{{{{{{{{{{~~~~~~~~~~zzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz}}}{{}}~~~~~{{~{{}~~~~~~~~}}}}}~~}}}}}}}}}}}~~~~}}}{{{{{{{{z{{zz{{{{zzzzzzzzz~{{~~~~~~~zz{~~~~~~}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{~~~~~~~}}zzzzzzzzyyyyyzzzzzzzzzzzzzz{{zzzzzzz{{{zzzzzyy}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyzzzzzzzyyyyyyzzzzzzzzz{{{zzzzzzzzzzz{{{zz{{{{{{{{{{{{{{{{{{{}}~~~~~~{zzzz}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyzzzyyyzzzzzz{{{}}{{{{{{zz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{~~~~~~~~~~zzzz{{{{{{{{{{{{{{{{{{{{{{{{{z{zz{{~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z}}}~~~~~~~~~~~~~~~~~~~~~~{{{z{{zzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}{{}}}}~~~{{{{{}~~~~~~~~}~~~~~~}}}}}}}}}}}~~~~}}}{{{{{{{{zzzzzzzzzyyyyyyzzz{{{{{~{{{{{zz{~~~~~~}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}{{{{~~~~~~~}}zzzzzzzzyyyyzzzzzzyyzzzzzzz{{{{zz{{{{{{zzzzzyy~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzyyyyyyyzzzzzzzzz{zzzzzzzzzzz{{{{zz{{{{{{{}}}{{{{{{{{{~~~~~~~{zzzz{{}}}}{{{{{{{{{{{{{{{z{{{zzzzzzzz{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyzzzzzyzzzzzzz{z}}}{{{{{zz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{}}~~~~~~}}}{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{zz}}}}{~~~~~~~~~~~~~zz~~~zz{{{{zzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{yy}}}}{{{{{}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}{{{{{zzzzzzzzzzzyyyyyzz{{{{{{{{{{{{zz~~}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}{{{{{{{~~~~~~~{{{zzzzzzzzyyyzzzzzzyyzzzzzzyy{{{zz{{{{{{{zyzzy{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzz{zz{{{{{{{{{}{}}}}}{{{{{{{{{~~~~~{{{{{zz{{}}}}{{z{{{{zz{{{{{{{{{{{zzyzzz{{{{{{{{{{{{{{zzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz}}}{{{{{{z{{{{{{{{{{{{zzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{{~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{}}~~~~~~}}{{{{{{{{{{{{zz{{{{{{{}{{{{{{{{{{{{{{~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~{{{{zz}}{{~~~~~~~~{{{{{zzzzzzzzz{{zzzzzzyy{{zzz{{{{{z{{{{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzyy}}}}{{{{{}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzyyyyzzzz{{{{{{{{{{{{~~~}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~{{{{{{{{{~~~}~~{{{{{{zzzzzzyyyzzzzzzyyyzzzzzyyy{{zzyyy{yy{yyyyz{{~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyzzzzzzyyyyyyyyzzzzz{{{{{{zzzzz{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{~~~~{{{{{{{{{{{{}zzzzzz{{zz{{{{{{{{{{{yyyyzz{{{{{{{{{{{{{zzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{}}}{{{{{zzz{{{{{{{{{{{{{{z{{zzzzzzzz{{{{zzzzzzzzzzzzzzz{{{~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{~~~~~{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{~~~}}}}~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~{{{{zzzzz{{z}}~~~~{{{{{zzzzzzzzzz{{zzzzzyyyy{zz{{{{{{z{{{{zzzzzzzzzzzzzzzzzzzz{{zz{{z{zzzzzzzzzzz{{{{{{{{{}}~~~~~~~~~~~}~~}}}}}}~~}~~~}}}}}}}}}}}{{{{zzzzzzzzzzzzzyyzzzzz{{{{{{{{{{{{{~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{~~~~}}{{{{{{{zzzzzzzzzzzzzzzyyzyyzyyyy{{{{yyyyyyyyyyyyzz~~~~~~~~}}}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyzzzzzyyyyyyyyyzzzzz{{{{{{{zzz{{{{{{{{{{{{}}}}}}}}}}}}{{{{{{{~~~~{{z{{{{{{{{{zzzzzzz{{zz{{{{{{{{{yyyyyy{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{}}}{{{{zz{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{zzzzzzz{zzzzzz{{{{~~~~~~}}}}}}}}}}}}~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{~~}}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{zzzzz~zz}}}~~~{zzyzzzzzzzzzzzyyzzzzzyyyyy{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz{z{{{{{{{{{{zzzzzzzzzzz{{{{{{}}}}}~~~~~~~~~~}}}}}}}}}}~~~~~~}}~~~~}}}}{{{{zzzzzzzzzzzzzyyyzzz{{{{{{{{{{{{{{{~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyy{{{{{yyyyyyyyyyyyzz~~~~~~~~}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{}{}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyzzzzzyyyyyyyyzzzzzzz{{{{{zzz{{{{{{{{{{{{{}}}}}}}{{}}}{{{{{~~~~{{{{zz{{{{{{{zzzzzzzz{{{{{{{{{{{{yyyyyyy{{z{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{}}}}{{{{z{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{z{{{{{z{{z{zz{{}}}}~~~~~}}}}}}}~~}~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{{{~~~}}~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~{{{{{{{{{~~zzzz}}~~zzzyyzzzzzzzzzyyyzzzzzyyyy{{{{{{{{{{{{{{zzzzzzzzzzz{{zzz{{{{{{{{zz{{{zz{zzzzzzzzz{}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}{{{{zzzzzzzzzzzzzyyzzzz{{}}}{{{{{{{{{{}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z{{~~~}}~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyy{{yyyyyyyyyyy{{{~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{zzz{{{{{{{{{{{}}}}~~}}{{{}}}{{{{}}~~{{{zzzzz{{{{{{{zzzzzzz{{{{{{{{zz{{yyyyyyyyzzz{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{}}{{{{{{{{{}}}{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~}}}}}~~~}~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{}}~~}}~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~z~~~~~~~~~~~~~}}}~~~~~~~~~}}}}{{{{{{{{{{{{~~zzzz}}zzzzzyyyyyzyyzyyyyyyzzzzzyy{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{zz{{{{{{{z{{{zzz{{{}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}}}{{{{{zzzzzz{{zzzzyyyzzzz}}}}}{{{{{{{{{{}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~z{{~}}}}~~~~~~~~}}}}}}}}}}}}}{}}}}{}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{z~~~~}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{}{{{}}}~~~}}}{{}}}{{{{{}{{{zzzzzzzz{{{{{{zzzzz{{{{{{{{{{zzz{yyzyyyzzzz{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzz{{zzzzzzzzzzzzz{{{{{{{{{{{{}}}}{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~}}~}}}~}}}}}{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{}}}}~~~~~~~~~}}~~~}}}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{~~zzzzz~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{~~~~zz~~~~~~~~~~~~~}}~~~~~~~~~~}}}}{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzyy{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{z{{{{{{{{{{zzzz{{{{{}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~{{{{{{{zzzzz{{zzzyyyzzzz}}}}}}{{{{{{}}{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzz~~}}}}zz~~~~~~~}}}}}~~~}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzz~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{}}}}}}}~~~~~}}{{}}{{{{{{{{{{zzzzzzzz{{{{{{{{z{{{{{{{{{{{zzzzzzzzyzzzz{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyz{{{zzzzz{zzz{{{{{{{{{{{{{{{{}}}}}{{{{{{{z{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{}}}}}}}{{{{{{{}}}}~~~~~~~~~~}}}~~~}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzzz~~~~~~~~~~~~~~~~~~~~}}}}}}yyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{zzzz~~~~~~~~~~~}}}~~~~~~~~~~}}}}{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyzyyzzy{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{z{{{{{{{{{{zzzzzz{{{}}}~~~~~~~~~~~~~~~~~~}~~}}}}}~~~~~~~~~~~{{{{{{{zzzzzzzzzzzyzzzzz}}}}}}}}{{{}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzzzzzzzzzz~~~~~}}~}~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{z{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzz~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{}}}}}}~~~~~~~{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyz{{{z{{{{{z{{{{{{{{{{{{{{{{{}}}}}{{{{{{zz{{{{zzzzzzz{{{{{{{{{{{}{{{}{{}}~~~~~~~~~~~~~~~}}}}}}{{{{{}}}}}}{{{{{{{{{{{{}{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{}}}~~~~~~~~~~}}~~~~}}~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zzzzzz~~~~~~~{~~~~~~~~}}}}}yyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzzzz{{zzzzz~~~~~~~~~~~~}~~~~~~~~~~~}}}}{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~}}{{{~~~~~~~~~~}}zz{{{zzzzzzzzzzzzzzz{{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}~~~~~~~~~}}zzzzzzzzzzzzzzz~~~~}}~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzz}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{}}}}~~~~~~~~{{{{{{{{}}}{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{zz{{{{{zzzzzz{{{{{{{{{{{}}{}}}}}~~~~~~~~~~~~~~~~~}}}{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{}{{{}}}}}}}}}{{{{{zz{{{{}}}~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzzzzzzz~~~~{yy~~~~~~}}{{yyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzzzz{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{zzz{zzzzyyyyyyyyyyyyyyyyyyyyy{{{{{{{}}}}}{{{{{{{{{zz{zz{{zzzz{{{{{{{{{{{{{{{{{{{{{zzzz}}{}}}~~~~~~~~~~~~~~~~~~~~~~}}}{}}}~~~~~~~~}}zz{{{{{{zzzzzzzzzzzz{{{{}}}}}}}}}}}}}}~~~{~~~{{{{{}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~{{{{}}z~~~~~}}}~~~~~~~~}}}zzzzzzzzyzzzzzzy~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyzzzzzz{{{}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{}{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{}}}}}}}~~~~~~~~{{{{{{{}}}}{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyzzzzz{{{{{{{{{{zzz{{{{{{{{{{{{{}zz{{{}{{}{{{{{{{zzzzzzz{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~}}}{{}}}}}}}}}}}}}}{{}}{{{{{{{{{{{{{}{{{{}}}}}{{z{{zzzzz{{{}}}}~~~~}~~}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~{{}{{{{zzzzzzzzzzz~~yyyzyyyy~~~~~}}{{yyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzzz{{{{zzzz{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyzz{{{{{}}}}}{{{{{{{{{{{{{{{{zzzzz{{{{zz{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{}}}~~~~~~~~yyyy{{{{yyyyyzzzzzzz{{{{{}}}}}}}}}}}}}}}{{{zz{{{{}}~~~~~~~~~~~~~~~~~~~}}}~~~~}~~~~~~~~{{{{{{{{zz~~}}{{}}}~~~~~~}{{{zzzzzzzyyyyzzyyyz~~~~~~~~~~~}}}}}}}}}}}}}}}}{{}{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyzyyyyyyyzzzzz{{{{{}}}{}}}}}}}~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}}}{{{{}}{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{}}}}}~~~~~~~~~{{{{{{{}}}{}}{{{{zzzzzzz{{{}}{{{{{{{{{{z{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyzzzzz{{{{{{{{{zzzz{{{{{}}{{{{{{zzz{{{}}}}{{{{{{zzz{{{{{{{{}}}{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}~}}}}}}}}}}}}}}}{{{{{{{{{{{{}}{{{{}}}}}{{zzzzzzzzz{{}}~~~~~~}}}}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~{zz{{{{{zz{{zzzzzzzzyyzzyyy~~yy~~}}zzyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~{{~{zzzz{{{{{{{zz{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{zz{{{{{{{yzyyyyyyyyyyyyyyyyyyyyyyzzzyy{{}}}}{{{{{{{{{{{{{{{{{{zzz{{zzzzz{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~}}}}~~~{{{{{}}}~~~~~~yyyyyyyyyyyyyyzzzyz{{{{{{}}}}}}}}}}}}}}}{{{zzz{{{}}}~~~~~~~~~~~~~~~~~~}}}}~~}}~~~~~~~{{{{{{{zzz{{{{}{{{}{{~~~~~}}{{{{zzzzyyyyyzzyyyzzz~~~~~~~~~~~~}}}}~~}}}}}}}}{}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyzzyyyyyyzzzzzzz{{{{{}{{}}}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}{{{zzzz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{}{{{}}}~~}}~~~~~~~~~{{{{{{{{{}{{{{{{{{zzzzz{{}}{}}zz{{{{}}zz{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzzzzzzyyyzyzzzzzzzz{{{{{{zzzzz{{{{{zzz{{{{{{zz{{{{{}{{{{{{{zzz{{{{{{{{}}}}{{{}}}}}}}~~~~~~~~~~}~}}~}~~~}}}}}}~~~}}}}}}}}}}}}}}{{{{}}}{{}}}}}}}{{}}}}{{{{zzzzzzzzz{{~~~~~~}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~{zzz{{{{{zz{{{{{{zzzzzyzzyyyyyyyyy}zzzyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{}~~~~~~~~~z~~~~~~~{~{{{{zz{{{{{{{{{z{{{~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}{{{{zzzzzzz{yyyyyyyyyyyyyyyyyyyyyyyyyzzzyy{{}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~}}}}}}{{{{{{}}}}}}~~~~yyyyyyyyyyyyyyyyyzzyyzz{{{{{~}}}}}}}~~}}}}}{{{zz{{{{{}}~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~{{{{{{{zzz{{{{}}}{{{{~~~~~}}{{{{{zzyyyyyyyyyyzzzz{~~~~~~~~~~~~~}}~~~}}}}}}}}}}{{{zzz{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzz{zz{{{zz~~~~~~}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}{{zzz{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{}}}}}}}~~}~~~~~~~~}}}{{{{{{{{{{{{{{{{{{zzzz{{}}{{}zz{{{{}}{{{yy{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzzzzzzzzzzz{{{{{{{zzzz{{{zzz}{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{z}}}}}}}}}}}}}~~~~~~~~~~}}}}}}~~~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}{{{}}}{{{{zzzzzzzzz{{~~~~~~}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~}}~~~{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyzzyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{}~~~~~~~~~zz~~~~~{{{{{{{zz{{{{{{{{{{{{}~~~{~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyy}}}}{{{{{{{{{{{{{{{{{{zzzyyzzzz{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~}}~}}}}}}}{{{{{{}}}}}}}}z~yyyyyyyyyyyyyyyyyyyyyyzz{zz~~~~~~~~~~~}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~{{{{{{{{zz{{}}}}}}{{~~~~~~{{}z{{{{zyyyyyzzyyyyzz{{{{~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{zzz{{{{{zzzzzzzyyzzzzzzzzzzyyzzyzzzzzzzzzzz{zz{{zz{~~~~~~}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{}}}}}}~~~~~~~~~~~~~}}{{{{{{{{{}{{zzz{{{{{z{{{{{{{{{{{{{{{}}{{yyz{{{{{{{{zzzzzzzzzz{{z{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzzzzzzzzzzzz{}}{{{{{zzzz{zzzz}}{{{{{{{{{}}}}}{{{{{{{zzzzzz{{{{zzz}}}}}}}}}}}}~~~~~~~~~~}}}}}}~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}{{}}}}}}{{{{{z}}{{{{{{z{{{zzz{~~~~~~~~}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}}~~~{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyzyyyyyyyy~~~~~~~~~~~~~~~~~~z~~~~~~~}{{{zz{{~~~~~zzzzzzz~~zzz{{{{{{{{{{{{{{{{{{}}}}{{{~~~~~~~~~~~~~~~~~~}}}}~~}}}}{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{zzzyyzzzz{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~}}}}}}}}}}{{{{{}}}}{}}}}zzyyyyyyyyyyyyyyyyyyyyyyyyyzz~~~~~~~~~~~{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~{{{{{{{{{{{{}}}}}}{}~~~~{{{{zzz{{zzyyyyyzzyyyyy{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{zzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzz{{{{{~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{z{}}}}}}~~~~~~~~~~~~~}}}{{}{{{}}}}}{zzz{{{{{{{{{{{zzzz{{{{{zzzzzyyz{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzzzzzzzz{{zzzz{{}}{{{{{zz{{{zzz{{{{{{{zzz{{}}}{}}}{{{{{zzzzzz{}}}{{z}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}zz{{{{zzzzz{{{{{{{{{zzzz~~~~~~~~~~~~~}}~~~~~}}}}}~~~~~~~~~~~~~~~~~~~}}}~}}{{{{{{{z{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~{{~~~~zzz{~~{{{{{{{zz{{z~~~zzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{}}zz{~~~~~~~~~~~~~~~~~~~}}}~~~}}{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{zzzzyyyzzzzzz{{{{{{{{{{{{}{{{{{}}~~~~~~~~~~}}}}}}}}}{{{}}}}}}}{{}zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyz~~~{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~{{{{{{{{{{{{{}}}}}}}}~~~{{{{zzzzzzzyyyyyzyyyyyy{{{{{~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{zzzzzzzzz{{{zzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzz{zz{~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zz{}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}zzz{{{{{{zzzzzzzz{{{{zzzzzzy{{{{{{{{zzzzzzzz{{z{{{{{{{{}}{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzzzzzz{{{{z{{{{{{{{{{z{{{{zz{{{{{{{{zz{}}}{{}}}{{{{{zzzzzzz}}{{{{}}}}}}}}}~~~~~~~~~~}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}z{{zzzzzzzzzzz{{{{{{{{zzzzz~~~~~~~~~~~}}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~{{}}}}}{{{{{{zz{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyy{~~~~~~~~~{{{zz~~zz{{{{{{{{{{zzzzzz~~zzzzzzzzzzzz{{{{{{{{{{{}}{{{{{{{{{}}zz~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{zzzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{zyyyyyyzzzzz{{{{{{{{{{{{}}{{{{}}~~~~~~~~~~~~}}}}}}}{{}}}}}}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}{{{{{{{{{{{{{{zz{{}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}}}{{{{{{{{{{}}}}}}}}~~~{{{zzzzzyzzyyyyyyyyyyyy{{zz{{~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{}{{{zzzzzzzzz{{{zzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzz{~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{}}}}}}}~~~~}}~~~~}}}}}}}}}}}}}}}}}zzz{{{{{{zzzzzzz{{{{{zzzzzzz{{{{{{{zzzzzzzz{{{{{{{{{{{}}}{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{}}}{{}}}{{{{{{zzzzzz}}z{{{}}}}}}}~~~~~~~~~~~}}~~}}}~~~~~~}}}}}}~~~~~~~~~~~~~~}}~~}}}}}}}zz{{zzzzzzzzzzz{{{{{{{{zzz{z~~{{~~~~~~~}}}~~~~~~~}}}}~~~~~~~~~~~~~~~~~{{{}}}}{{{{{{{{z{{{{{{{zz{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyy{~~~}}}~~~~{{zz{{{{{{{{zzz{{{zzzyyzzzzzzzzzzzzzzz{{{{{{{{{{{}}}}{{{{{{{{{zz~~~~~~~~~~~~~}~~~~~~}}}}}}}}}{{{{{{{{zzzzzzzyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{yyyyyyyyyyzz{{zz{{{{{{{}}}{{~~}~~~~~~~~~~~~~}}}}}}{{{}}}}}}yzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}}{{z{{{{{{{{{{zzz}}}}}}~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}}}{{{{{{{{{}}}}}}}}}~~{{{{{zzyyyyyyyyyyyyyyyyyzzy{{~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}}}{{zzzzzzzzzz{{{yyyzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{{{~~}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}~~}}{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{~}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzz{{{{{zzzzzzzz{{{{{{zzzzzzzz{{{{{{{{{{{{}{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzz{{{zz{{{{{{{}}}{{yy{{{{{zzzzzzzzz{{{}}}}~~}~~~~~~~~~~~}~~~}}~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~}}{{{{{{{{{zz{{zzzzzz{{{{{{{{zzz{{{zz{{~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyzz{{~~~~}}~~~~{{z{{{{{{zz{zzzz{zzzzyyzzzzzzzzzzzzzyy{{{{{{{{{{}}}}}}}{{{{{{{zz~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}{{{{{{{zzzzzzzyyyyyyyyzzzzzzzzyyyyyyyyyyyyzzyyyyyyyzzz{{{{{{{{{yyyyyyyyyyyyyyzzzzzzzyy{{{{{}}}z~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}yyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}zzzzzzz{{{{zz}}}{{{~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}{{{{{{{}}}}}{{~}}{{{{{{{zzzyyyyyyyyyyzzyyzzyyyy~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}{zzzzzzzzzzzzzzzyyzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzz{{{~~}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{~~~{{{~~~~~}}}}}}}}}}}}}}}}{{}}}{{{{{{{{{{{{{zzzz{{{{zzzzzzzzzz{{{{{{zzzzz{{{{{{{{{{{{{}{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{z{{{{{{{zzzzzzzzzzzz{{{{{{{}}}yyyy{{{{{zzzzzzzzz{{{{}}{{~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zzzz{{{{{{{{{zzz{{{zzz~~~~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~~}}{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyzzzzz{{~{{~~~~~{{{{{{{{zzzzzzzzzzzzzyyyzzzzzzzzzzzyyy{{zz{{{{{}}}}}}}{{{{{{{zz~~~~~~~~~~~}}}}~~~~~}}}}}}}}}}{{{{{{{zzzzzzyyyyyyyyyyzzzzzzzyyyyyyyyyyzzzzzzyyyyyzzz{{{{z{{{{zzyyyyyyyyyyyyyyyzzzzzyy{{{{}}}zz~~~~~~~~~~~~~~~~~~}}}{{{{{{zzyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzz}zzzzzzzzz{{{zz{{}}{{~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}~~}}}}}}{}}}{{{{{}}{{~~}}{{{{{{zzzzyyyyyyyyyyzzzzzyyyyy~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}}}}}}zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzz{{zzzzzzzzzz{{{zzy}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzz{{zz{{{{{}}~{{{{~~~}}}}}}}}~~~}}}}}{{{}}{{{{{{{{{{{{{{{zzz{{{{zzzzzzzzzz{{{{{{{zzzz{{{{{{{{{{{{}}}{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{zz{z{{{{zzzzzzzzzyy{{{{{{{{yyyyyyyzz{{{{zzzzzzzzzzz{{{{{{{~}}}~}}}~~~~~~~~~~~}}}}~~~}}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{zzz~~~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~zz}{{}}}}}}{{{{{{{{{{{{}{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{~~{{{{{{{zzzzzzzzzzzzzzyyzzzzzzzzzzzzzzz{{zz{{{{~~~~}}}{{{{{{{{{{{{{{{~~~{~~~}}~~~~~~}}}~~}}}}}}{{{{{{zzzzzyyyyyyyyyyyzzzzzzzyyyyyyyzzyzzzzzzzzzzzzzz{{{{zzzzzzzzyyyyyyyyyyyyyyzzzzzzy{{{{zzzzz~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{}}}yy~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}}}}}}{{{{{{{{{~~~}}{{{{{{zzzyyyyyyyyyzzzzzzzyyyzz~~~~~~~~~~}}~~~~~~~~~~}}}}}{{}}}}}}zzz{zzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzz{{yyyzzzzzzzz{{zyy}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{}}}}{{{{{}}}}}}}}}}}~~~}}}}}}{{{{{{{{{{{{{{{{{{{zzzz{{{zzzzzzzzzzz{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{zzz{{{{{{{{{{zzzz{{{{{{zzzzzzzyy{{{{{{{yyyyyyyyzz{{yyzzzzzzzzzz{{{{{{{{{}}~~}}~~~~~~~~~~~~}}}}~~~~}}}}}}}}~~~~~~~~~~~~~~~~}{{{{{{{{{zz{{{zzz{{{{{{{{{{{{{{{{{zzzz~~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~zz}}}}}}}}}{{{{{{{{{{{}}{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzz~~~}}}}{{{{{{{{{{{{{{{}}~{{~~~~~~~~~~}}}~~}}}}}}{{{{{{zzzzzyyyyyyyyyyzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzyyyyyyyyyyyyyyzzzzzzzyy{{zzzzz~~~~~~~~~~~~~~~~~~}}}}}}{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{}zzyy~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~zz}}}}}}}{{{{{{{{{{~~}}}{{{{{{zzzyyyyyyyyzzzzzyyyyyyyzz~~~~~~~~~}}~~~~~~~~~~}}{}}{}}}}}}zzzz{{zzzzzzzzzzzzzzzzzzzzz{{{z{{zzz{{{yyyyyyyyzzzzzyyyyyy~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}{{{{zzzz{zzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{}}{{{{{{{}}}}}}~~}}}~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{{{{{{{zz{{{{}}}}}}}}}}}{{{z{{{{{{{zzzzzzyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{zz{{z{{{{zzzzyyzz{{{{zzzzzzzyyyyz{{{{yyyyyyyyyyzyyyyzzzzzzz{{{{{{{{{{{{{~~~~~~~~~~~~~~~~}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~{{{{{{{{{zz{{{zz{{{{{{{{{{{{{{{{{zzzzzz~zz~z{{{{~~~~~~~~~~~~~~~~~~~~~zzz}}}}~}}}}}{{{{{{{{{}}}}}{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{{{{{{{{{{zzz{{zzzzzzzzzzzzzzzzzzzzzzyyyyzz}~~}}}}}}}}{{{{{{{{{{{{}}{{}~~~~~~~~~~}~~~~~}}}}{{{{{{{zzzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzyyyyyyyyyyyyyyyzzzzzzyy{{{zzzz{{~~~~~~~~~~~~~~~~~}}}}}}zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{zzzzzzzzzz{}}}yyy~~~~~~~~~~~~~}}}}}}}}}}}}}}~~{zzzzz}}}}{{{{{}}{{{{~}}{{yy{{yyzyyyyyyyyyzzzzzyyyyyyzz~~~~~~~~~}~~~~~~~~~}}}}}{{{{{}}}{{zzz{{{zzzzzzzzzzzzzzz{{z{{{{{{zzzzzz{{yyyyyyyyyzzzzzyyyyyy~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~{{}}{{{{{{zzz{{zzzzzzzzyyyyyyyyyyyyyyyzz{{zzzzz{{{{{{{{{{{{{{{{{}}}}}}}~}}}~~~}}}}}}}}{{{{}}{{{{{{{{{{{{{{zzzzz{zzzzzzzzz{{{{{{{{{zzyyzz}}}}}}}}}{{{{zz{{{{{{{zzzzzzyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{zzzzzzz{{zzzzzzy{{{{{{zzzzzzzyyyzzz{{{yyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{}}}~~~~~~~~~~~~~~~~}}~~~~~~~~}~~~~~}}}}~~~~~~~~~~~}}}}{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{~~~}~~{{~~~~~~~~~}{{{zzz}}~~~~}}}}}}}{{{{{{}}}}{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyzzzzzzzzz{{{{zz{{{{{{{{{{{{{{z{{{{zzzzzzzz{{zzzzzzzzzzzyyyyy}}}}y}}}}}}}}}{{{{{{{{}}{{{{{}~~~~~~~~}~}~~~~~}}}}{{{{zzzzzzzzyyyyyyzyzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyzzyyyyy{{{zz{{{~~~~~~~~~~~~~~~~~}}}}}}zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{zzzzzzzzzzz}}yy~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{zzzz{{}}}}{{{{}}{{{{zzzyyyyyyyyyyyyyyyyyyzzzzzzyyyyyzz~~~~~~}}}}}~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{zzzzzzzyyyyyyyyyyyzzzzzyyyyy~~~~~~~~z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~{{{{{{{{{{{z{{{zzzzzzzzzyyyyzyyyyyyyzz{{{{{{zz{{zz{{{{{{{{{{{{{{}}}}}}}}~~~~~~}}}}}}}}}{}}}}}}{{{{{{{{{{{{zzzzz{{{{zzzzzzz{{yyy{{{yyyyzz}{}}}}}}}}{{{{{{{{{{{{zzzzzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{zzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzyzzy{yyyyyyyyyyyyyyyyyy{zzz{{{{}}}{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz}}~~~}}~{{{~~~~~~~~}{{{{zzz}}~~~}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyzzz{{zz{zzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{zzzzzzzzyyyyyyy}}yyy}}}}}}}}{{{{{{{{{}}{{{}}~~~~~~~~}}~~~~~~~~~}}}{{zzzzzzzzzyyyyzzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyzyy{{zzz{{{{~~~~~~~~~~~~~~~~}}}}{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzz{{{{{yyyzzzzzzzzyy~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}zzzzz{{}}}}}}{{{{{{{{zzzyyyyyyyyyyyyyyyyyyzzzzzzyyyyyzzzy~~~~}}}}}~~~~~}}}}}}}}}}{{{{{{{{{{z{{{{{zzzzzzzzzyyzz{{{{{{{{zzzzzzzzyyyyyyyyyyyzzzzzyyyyyy~~~~~~zzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~{{{{{{{{{{{{{{{zzzzzzzzzzyyyzzyyzyyyzz{{{{{{zzzzz{{{{{{{{{{{{{{{}}}~}}}}~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzz{{{{{zzzzzzyyyyyyyyyyyzz{{}}}}}}}}{{{{{{{{{{{{zzzzzzzzzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{zzz{{{{{zzzzzzzzzz{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{zzzzzzzz{{}}~~}}}}{{{{{{~~~~~}{{{{zzz}}~~~~}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyz{{{{{{{zzzzzzzz{{zzz{{{{{{{{{{{{zzzzzzzzz{{{{{{{zzzzzyyyyyy}}}yyzz}}}}}}}}{{{{{{{}}{{{{{~~{{{~~~~}}~~~}~~~~~}}}{{zzzzzzzzzzyzzzzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyzz{{{zzz{{{{~~~}}}{~~~~~~~~~}}}}{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{yyyzzzzzzzyyyy~~~~~~~~~~~~~~}}}}}}}}}}}}}{{zz{{{{{}}}}}}{{{{{{{zzzyyyyyyyyyyyyyyyyyyyzzyzzzyyyyyzzyy~~~~~}}}~~~~~}}}}}}}}}{{zzz{{{{{{zz{{{{{{zz{{zzyyyyzz{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyzzyyyyy~~~~~~{z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}{{{{{{{{{{{{{{{{{zzzzzzzzyyyzzyyzzyyyz{{{{{{{{{{{{{{{z{{{{{{{}}}}}}~}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzz{{{{{{zzzzzzyyyyyyyyyyy{{{{}}}}}}}}{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzz{{{zzzz{{{{{{zzzzzyyzz{{{{{zzzzzzzzzzzyzyyzyyyyzyyyyzyyyyyy{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~}}}}}}}}}}{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{zzzzzzzz}}}}{{{{{{{{{{{{{{{{{{{{{zz}~~~~~}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyy{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{{{{zz{{{{zzzz{{{{{{zzzzzzyyyyyy}}zzzz}}}}}}}}}{{{{}{}}{{{{{{{{{{{~~~~~~~}}~~}}}}}}zzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyzzzyyy{{{{{{zz{{{z}}}}{{{}}~~~~~~}}}}{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{zzyyzzzzzzyyyyyy~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{}}}}}}}{{{{{{zzyyyyyyyyyyyyyyyyyyyzzzyyzzyyyyyyyyyy~~~~~~~}}}}}}}}}{{{zzz{{{{{{zz{{{{{{zz{{zzyyyyzz{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyzzzzzz{{{{{{{{{{{{{{{{z{{{{{{}}}}~~~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzz{{{{zzzzzzzyyyyyyyyyyzz{{{{}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzz{{{zzzzz{{{{zzzzzyyyzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzz{{{{{{{}}}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}{}}}{{{{{{{{{{{{{{{{{zzzzzzzz}}}}{{{{{{{{{{{{{{{{zz{{{{{{{~~~~}}}}}}}{{{{{}}{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyy{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{zzzzz{{{{{zzzzzzyyyyyyzzzzz~~}}}}}}}}}}}}}}}}}{{{{{{{{{{~~~~~~~}}}}}}}}}}zzzzzzzzzzzzzzzzzz{zz{{{{{{{z{zzzzzzz{z{{{{{{{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyzzzzyyy{{{{{{zzzzzzzyyzy{{{}zyy}}}{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyzzyy~~yy~~~~~~~~~~~}}}}}}}}}}}}{{{zzz{{{{}}}}}}}{{{{yyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyy~~~~~~~~}}}}}~}{{{{{{zz{{{{{{{{{{{{{{{{{zzzzzyyyzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzz~~~~zz{{{{~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}}{{}}}{{{{{{{{{{{{zzzzyzzyyyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{z{{{{{{zzzzzzzzyyyyyyyyyzzzzz{}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{zzzzz{{zzzzzyyyyyzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzz{{{{{}}}}}}}~~~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{}}{{{{{{{{{{{{{{{{{{zzzzzzzz}z}}}{{{{{{{{{}}}}{{zzz{{{{{{~~~~~~~}}}}}{{}}}}}}}}{{{{z{zzzzzzzzzzzzzzzzyyyyyyyyzzz{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyzzyyzzzzz~~}}}~}}}}}}}}}}}}}}{{}{{{{{{}}~~~{{{{{}}}}}{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzyyyzzyy{{zzyy}}}{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzzzzzzzzzzzzzyyyyyy~~{{{{~~~~~~~}}}}}}}}}}zzzzzz{{{{}}}}}}}{{{zzyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyzyyyy~{}~~~~~}}~~}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyzz{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz~zzzz{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{zzyyzzyyyzzzzzzzz{{}}{{{{{{{{{{{{{{{{{{}}~~~~~~}}}}}~~~~~~~~~}}}}}~}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyzzzzz}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyzzzzyyyyyyzzz{{{{{{zzzzzzzzzzzzzz{{zzzzzzzzzzyyyyyzzz{{}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{}}{{}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzz}}}{{{{{{{{{{}}}zyyy{{{{{{zz~~~~~~}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzyyyyyyyyyzz{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{~}}}}}}}}}}}}}}}}}}}{{{{}}~~~{{{{{{}}}{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{zzyyzzyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyzzyyyzzyyy{{{{{{zzz{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzyzzzzzzzzzzzzzzzzzzzyyyzzz{{{{{{~}}}~~~}}}}}}}}}zzzzzz{{{{}}}}}}}}{{zzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzyyzzzyzz{{}}~~~~~~~~}}z{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{zz~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}~~}}}}}}}}}}}}}{}{{{{{{{{{{yyyzzyyyzzzzzzzz}}}}{{{{{{{{{{{{{{{{{{}~~~~~~~~}}}~~~~~~~~~~~}}}~~~}}}}}~~}}}}}}}{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzzz}}}}}}}}}}{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{zzzzzzzyyyyzyyyyyyyzzz{{{{{{zzzzzzzzzzzzz{{{{{{zzzzzzzyyyyyyzz{{}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{}}}}}}}}}}{{}}}{{}}{{{{{{zzzzzzzzz{{{{{{{{{{{{{{}}}}zzyy{{{zz{zzz{~~~~~~}}}}}}}}}}}}}}{{{{{{zzzzz{{{zzzzzzyyyyyyyyyyy{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}{{{{}}{}}{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{yyzyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyzzzyyzz{{{{{{zz{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyzzzyyyyzz{{{{{{{{{}}{{~~~}}}zzzzzzzz{{{{{{{}}}}}}}{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz}}}}}~~~~~~{{zz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{zzz~~~~~~}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{zz{{yyzzzyzzzzzzzzz}}}}}}}{{{{{{{{{{{{{{{{~~~~~~~~}}}~~~~~~~~~~~~}}~~}}~~}~~~~~~}}}}}{{{{{{{{{{{zzzzzyyyyyyyyyyyyzzzzzz{}}}{{}}{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzy{{zzzzzzzzyyzzzzyyyyzzzz{{{{{{zzzzzzzzzzzzzz{{{{zzzzzzzzzyyyyyy{}}}{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzz{{{{{{{{{{{{{z}}}zzzyyy{{zzz{{zz{~~~~~~}}}}}}}}}}}}}}{{{{{{{zz{{{{{zzzzzzyyyyyyyyyyyy{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}}{}}}}{{}}{{{{{{{{{{{{{{{zz{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{zzz{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyzzzyyzzzzz{{{{{{{{{{{{{~~}}zzzzzzzz{{{{{{{{}}}}}{{{{yzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{}{{{~~~zz{{zzyyyyy{zz{{{{{{{{{{{{{zzzzzzzzyyzzz{zzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{zz~~~~~~}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}~}}}}}}}}{{{{{{zzzzzyyzzzzzzzzzzzzzz}}}}}}{{{}}{{{{}}}}{{{~~~~~~}}}}}}~~}}~~~~~~}}}~~}}~~~~~~~~~~~}}}{{{{{{{{{zzzzzzzzyyyyyyyyyyyzzyzz{{}}}{{{{{{{{}}}{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyy{{zzzzzzzyzzzzzyyzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{zzzzzzzzz{{}}{{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{}}}{{{{{zz{{{{{{{{{{{{{{{{zzz}zzzzyzzzzzzz{zz{{~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzyyyyyyyyzyyy{{{y{{{{{zzzzzzzzz{{{{}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{}}}~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{}}}{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyzzzzzzzzzzzzzz{{{{{{{{{{{}}}zzzzz{{zz{{{{{{{}}}}{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{~~~zzzzzyyyyyyzzzzzzz{{{{{{{{{zzzzzzzzyyzzz{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{~~~~~}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zzzzyyzzzzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}~~}}}}}}}~}}}~~}}}~~~~~~~~~~~~}{{{{{{{{{zzzzzzzzzyyyyyyyyyyzzyyyy{{{}}}{{{{{{{{}}{{{{{{zzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{zzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{}}{{{{{{{zz{{{{{{{{{{{{{{{{zzzzzzzyyzzzzzzzzzz{{~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzyyyyyyyzzyy{{yyy{{{{zzzzzzzzzz{{}}}}{}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{~~~~}}}}}}}}}~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{}}}}}}{{{{{{{{{{{z{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyy{{{{{{zzz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzz{{}}{{zzzzz{{{{{}}}{{}}}z{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{zzzzyyyyyyzzzzzzzz{{{}}{{{{{zzzzzzzyyzzz{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{z{{{zzz{{{{{{{{~~~~{{}}zz}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzyyyzzzzzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}~}}}}}}}}}}}}}}}}~~~~~~~~}}~~~}}{{{{{{{zzzzzzzzzzyyyyyyyyyyzzyyyy{{{}}{{{{{{{{{}{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzzzzzzzzz{{{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{zzzzzzzz{{{{{{{{{}~~~~~~~}}}}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{}}{{{{{{{{zz{{{{{{{{{{{{{{{zzzzzyyyyyzzzz{z{{{{{~~~~~~~}}}}}}~~~}}}}{{{{{{{{{{{{{zzzzzzzyyyyzzzzzzzzzzzyy{{{{zz{{zzzzzz{{}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~}}}}~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyzzzz{{{{{{zzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyzzzyyzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zzz{{{{{{zzzz{{{{{{}}}{{yyzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{zzzzzzzz{{{{{{{{{zzzyyyyyyyzzzzzzzzz{}}}{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{{~~{{{zzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzyyzzzzzzzzzzzzzzz{{}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}~~~}}{{{{{{{{zzzzzzzzzzzyyyyyyyyzzzyyy{{{}}}}}{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzzzzzzzzy{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{~~~~~~~}}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zz{{{{{{{{{{{{{{zzzzzyyyyyyzzzz{{{{{{{{~~~~~~~}}}}}~~~}}}{{{{{{{{{{{{{{zzzzzzyyyyyyzzzzzzzzzzz{{{{{{{{{{zzzzz{{{{}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{~~~~~}}}}~~~}}z}}}z}}}}{{{zz}}{{{{{{{{{{{{{{zzzzzz{{{{}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzz{{zzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzzyyzzzyyyyzzyzzzzzzzzzzzzzzz{{{{{{{{{{{zzz{{{zzzzzz{{{{{{{{{{yyzzy{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{zzzzzzzz{{{{{{{{{{{zzyyyyyzzzzzzzzzzz}}}zzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{zzzzz{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}{{{{{{{{{zzzzzzzzzzzyyyyyyyzzzzyy{{{}}}}}{{{{{{{{{{{{{zyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyzzzzzzzzyyzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{}}}{{{{{{~}}}}}}}}~~~~~~~~~~~~~~}}}{{~~~~}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}{{{{{{{{{{{zzz{{{{{{{zzz{{{zzzzzyyyyyy{{zz{{{{{{{{~~~~~~~~}}~~~~~}}}}}}{{{{{{{{{{{zzzzzzyyzzyyzzzzzzzzzzz{{{{{{{{{{zzzzzz{{}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{zzzz~~~}}}}}}}z}zz}yzz}}}{zzz{{}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzzzzzzzzz{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzzyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{zzz{{{zzzzzz{{{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{yyzzzzz{{{{{{{{{{zzyyyyyyyzzzzzzzzzzz}}zzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{{zzzzzzz{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzzzzzzzzzzzzzzzzzzz{{{{}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}{{zz{{{{zzzzzzzzzzzzyyyyyyyyzzzzzz{{}}}}}{{{{{{{{{{{{{yyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyzzzzzzzzyyz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{}}}}{{{{{{}}}}}}}~~~~~~~~~~~~~~}}}}{{~~~~}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{~~{{{{}}y}}}}{{{{{{{{{{{zz{{{{{{{{{zz{{zzzzzyyyyyyzz{{{{{{{{{{{}}~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{z{{zzzzz}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{zzzzz{{}}}}}}}}zzzzyyyyyy}{zzz{{}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzzzyyzzzzzzzzzzzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{zzz{{{zzzz{{{{{{{{{zzzzyyyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{yyyzzzzzzz{{{{{{{zzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{}}{{{{{zzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{zzzzzzzzzzzz{zzzzz{{{z{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}~{{{}{{zzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzz{{}}}{{{{{{{{{zz{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{}}}}{{{{}{~~~~~~~~~~~~~}}}~~~~}}}}}}{{~~~}}}~~~~~~~~}~~~~~~~~{{~~~~~~~~~~~~}}}}{{{{{{{{~~yy}}{{{{{{{{{{{{{{{{{{{{{{zzz{{zzzzzzyyyyyzz{{{{{{{{{{{}}~~~~~~~~~~~}}}}}}}}}{}}{{{{{{{{zzzzzzzzzzz{{zzzzzzzz{{{{{{{{{zz{{zzzzz{{}~~}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzz{{{{{{{}{{{{{zzzz{{{}}{{yy}yyzzyyyyyy}}{zzz{{}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyzzzzyyzz{{zzzzzzzzzzzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyzzzzz{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{zzzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{}{{zzzyyyyyyyyyy{zzzzz{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{}}}}{{{{{zzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{zzzzzzzz{{{{{zzzz{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}~~}}}}}~~}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzz{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyzzzzz}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{}~~~~~~~~~~~~~~}}}~~~~}}}}}{{{~~~}}}}~~~~~~~}}}~~~~~~{{~~~~~~~~~~~~}}}{{{{{{zzz~~yy}}}{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzzyyyyyyzzzz{{{{{{}}{{~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzz{{{zzzzzz{{{{{{{{yyyy{{zz{{{{{{~~}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzz{{{{{{}}{{{{zzzzzz{zz{yyyyyyzzyyyyyy}}zzzzzz}}}}}}{{{{{{{{z{{{{{}}{{{{{}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyz{{zzzzzzzzzzz{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{{zzzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyy{{zzzzzzz{{}}{zzyyyyyyyyyyy{zzyy{{{zzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{}}}}{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}zzzzzzzzzzzz{{z{{zzz{{{{{{{{{}}}}~~}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzz{{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzz}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{}~~~~~~~~~~~~~}}}}~~}}}}}}{{{~~~}}}}}~~~~~}}}}}}~zzzzzz~~~~~~~~~~~~~}}{{{{{zzzzzyyyz}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyzzzzz{{{{{{}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}zzzzzzzzzzzzz{{{{zzzzz{{{{{{{{yyyy{{{{{{{{{{{~~}~~}}~~~}{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{}}{{{zz{zzzzzzzzyyyyyzzyyzzzz{{zzzzzzz}}}}}{{{{{{{{zzz{{{}}}{{{{{{{{}}}}{{{{{{{{{{{{{{zz{zzzzzzzzzzzzyyyyyyyyzzyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyy{{zzyyzzzzyy{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyy{{yyyzzzz{{{{yyyyyyyyyyyyyyyyyyy{{zzzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{}}}}{{{{{{{zzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}zzzz{zzzzzz{yyzzz{{{{{{{{{{}}}}}~~}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~{{{}}{{{{{{{{{{{{zzzz{{zzzzzzzzzzzzzzzyyyyyzzzzz{{{{{{{{{{{{{{{zzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{zzzzzzzzzyyzzzzzzz}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{}}}}}}~~~~~~~~}}}}}~}}}}}}{{{{{}}}}}}~~~~~}}}}}}}zzzzzzz~~~~~~~~~~~~~}}{{{{yzzzyyyyyzzz{{{{{{{{{{{{z{{zzzzzzzzzzzzzzzzzzyyzzzzzz{{{{{{{}}}~~~~~~~~~~~~~}}}~~{}}}}}}}}}zzzzzzzzzzzzzzz{{{zzzzzz{{{{{zzyyyyy{{{{{{{{{{~~~~~~~~~~~{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzzyyyyyzzzzzzzz{{yyy{{zz}}}}}{{{{{{{{{zz{{{{}}{{~~{{{{{{}zzz{{{{{{{{{{{{zz{{zzzzzzzzzzzyyyyyyyyzzzzyyyzzzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyz{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyy{{{zzzz{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{}{{zzzzzzzzz{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyy{{yyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzz{{{zzzzzzyyyyzz{{{{{{{{{{}}}}}~~~~~}}~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}~~~~~~~{{{{{}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyzzzzzz{{{{{{{{{{{{{zzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyzzzzz{zzzzzzzzzzyyyzzzzzz}}}}}}}}}}{{}{{{{{{}}}{}{{{{{{{}}{{{{{{{{{}}}}}}}}}}}}~~~~~~~}}}}~~~}}}}}}{{{{{}}}}}}}~~~{{{{}}}zzzzzzzz~~~~~~~~~~~~}}}{{{{yyzzyyyyyzzz{{{{{{{{{{{zyyyzzzzzz{{{zzzzzzzzzyzzzzzzz{{{{{{}}}}~~~~~~~~~~~~~~}}~~{{zzz}}}}zzzzzzyyzzzzzzzz{{{{yyzzz{{{{{zzzyyyyzzz{{{{{{{{~~~~~~~}}}{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzzyyyyzzzzzzzzz{{yyy{{{{z}}}}{{{{{{{{{{{{{{{}}}{~~{{{{{{{{z{{{{{{{{{{{{{zz{{{{zzzzzzzzyyyzzyyyzzzzzyyzzzzzzyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyy{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{}{{{{{{{{{}{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zz}zzzzzz{{{zzzzzzzzzzzz{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}~~}}}~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyzzz{{{{}{{{{{{{yyyzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzyyyyyyzzzzzzzzzzzzzzzzzyyyzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}{{{{{{{{}}}}}}~~}}~~~~~~~}}}}}~~~~}}}}}}{}}{{}}}}}}~~~{{{{{{{zzzz{zzz~~~~~~~~~~~}}}{{{{yyyyyyyyyyyyy}}{{{}}{{zzyyyyzzzzz{{{{zzzzzzzzzzzzzzz{{{{{{{}}}}}~~~~~~~~~~~~~~~~~{{zzzz}}}zzzzzzzyyzzyyyyy{{yyyyyzz{{{{{{{zzyyzzzzz{{{{{{{{~~~~~~~}}}{{{{{{{{{{{zzzzzzzzz{zzz{}}}}}}{{{{{{{{zzzzzzzyyzzzzzzzzzzzz{yyy{{{{zz}}{{{{{{{{{{{{{{{}}}}}~~}{{{{{{{{{{{{{{{{{{{{zzzz{{{zzzzzzzzyyzzzyyyzzzzzzzzzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyy{{{{{{{{{{{zzzzzz{{{{{{{{{{}}}{{{{{{{zz{{{{{{{{{{{{{{}}}{{{zzzzzzzz{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}{{{{{}}}}}}}{{{{{{{{{{{}{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z}zzzzzzzzz{{{{zzzzzzzzzz{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}~~~~~~~~~~~~~{{}{{}{{{{{{{{{{{{{zz{{zzzzzzzzzzzzzzzzzyyyyyyzzzz{{}}}{{{{{{yyzzzyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}}}{{{{{{{{}}}}}}~~}}~~~~~~}}}}}}}}}}}}}}}}}}}{{}}}}}}}}}}}{{{{{zzz{{zzzzzz~~~~~~~~}}{{{{{yyyyyyyyyyyyzz}z{{}}}{zzzyyyy{{zz{{{zzzzzzzzzzzzzzzz{{{{{{{}}}}}~~~}~~~~~~~~~~~~~{zzzzz{}}{zz{zzzyyyzyyyyy{{yyyyyzz{{{zzzyyzyzzzz{{{{{{{{{{~~~~~~~~}}{{{{{{{{{{{{{zzzzz{{{{zz}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyy{{{{zz}}}{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzz{{zzzzzzzzzyzzzzzyyyzzzzzzzzzzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyy{{{{{{{{{{{{zzzzz{{{{{{{{{}}}}{{{{{{{{{{zzz{{{{{{{{{{}}}{{{zzzzzzzz{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{}}}}{{{{}}}}}}}}}{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzzzzzzz{{{zzzzzzzzzzz{{{{{{{{{{{{}}}}}~~~~~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{zzzzzzzz{{{{{zzzzzzzzzyyyyyyzzz{{}}yyyyzyyyzzzzyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyzzzyyzzyyyyzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}{{{{zzz{{{{{{z~~~~~~~~~}}{{zz{yyyyyyzzyyzzzzzz{{{}}zzzzyyy{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{}}}}}~~}}~~~~~~~~~~~~~{{zzzz{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzzzz{{{{{{{{{~~~~~~}}}}}{{{{{zz{{{{{{{{{zz{{{{{{{}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyy{zzzz}}}{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{{{{}}{{zzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{zzzz{{{{}}}}}}}}}}}}}{{{{{zzzz{{{{{{{{{{}}}{{{zzzzz{z{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyy{{{}}}}{{{{}}}}}}}}}}{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzzzzzzzzz{{zzzzzzzzzzzzzz{{{z{{{{{{}}}}}~~~~~~~~}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{}{{{}{{{{{{{zzzzzzzz{{{{zzzzzzzzzyyyzyyzzzzzzzyyyzzzyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyzzzzzzzyyyyyzzzzzz{zzzz{zzzzzzzzzzz{{{{{}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}}{{{{{{{{{{{{{{~{~~~~}}}}zzzzyzzzyzzzzzzzyyzz{{{}zzzzzyyz{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{~~~~~}}}}}~~~~~~~~~~~~{{{{zz{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyz{{{{{{{{{{~~~~~~}}}}}{{{{{zz{{{{{{{{zzz{{{{{{{}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyzzz}}}}}{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{{{{}{{{z{{zzzzzzzzzzzzzzzzzyyyyz{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{zzzz{{{{}}}}}}}}}}}}}{{{{zzzzz{{{{{}}}}}}}}{{zzzzz{{{{{{{zzzzzzzzzzzyyzzyzzzyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz}}}}}}}{zz}}}}}}}}}}}{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzzzzzzzzzyyyzzzzzzzzzzzzzz{{zz{{zyy{{}}~~~~~~~~~}}}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{zzzzzzz{{{{{zzzzzzzzzyzzzzzzzzzzzzzyyzyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyzzzyyyyyyzzzzzz{{{{{{{{zzzzzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}}}}}}~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}}{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}}zzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzz{{{{{{{zzzzzzzzzzzzz{{{{{{}}~~~~~~~}}}}~~~~~~~~~~~}{{{{{zz{{{{{z{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{~~~~~~~}}}}}{{{{{zz{{{{{{{zzzzzz{{{{{}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyzyyy}}}}}{{{{{{{{{{{}}~~{{{{{{{{{{{{{}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyzz{{zzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyzzzzzzzzzzz{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{}}{{{{{{{zzzzz{{{}}}}}}}}}}}{{{{{{{zzz{{{{{{}}}}}}}{{{zzzz{{zz{z{{{{{zzzzzzzzzyyzzzzzyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz}{{}}}}{zz}}}}}}}}}}}}}{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzzzzzyyyzzzzzzzzzzzzzzzzzz{zzyyy~~~~~~~~~~~}}}}~~~~~~}~}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{zzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyzzyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzz{{{{{{{{{{{zzzzz{{{{{{{{}}~}}~~}}}}}~}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}}{{{{{}}}~}}}{{{{{{{{{{{{{{{{{{}}}}}}}{zzzzzzzzzzzzzzyyyyyzzzzzzyyzzzz{{{{{{{{{{zzzzzzzzz{{{{{{}}}}~~~~~~~}}}}~~~~~~~~~~}}{{{{{{{{{{{zzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{~~~~~~~~}}}}}{{{{{zzzz{{{{{zzzzz{{{{{{{{}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyy}}}}}}{{{{{{{{{{{~~~{{{{{{{{{}{{}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyzzzzzzzzz{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{}}}{{{{{{zzzzzzzz{{}}}}}~~}}}{{zz{{{zz{{{{{{{{}}{}}{{zzzzzz{{zzzz{{{{{{zzzzzzzzzyzzzzyyyyyyyyyyyyyyyyyzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzy{{yy{{}z}}{}}}}}}}}}}}}}{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzzyyyyyyzzzzzzzzzz{{zzzzzzzzyyy~~~~~~yy~~}}}}}}~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyzzzyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyzyyyyyyyyyzzzz{{{{{{{{{{{{{zzzzz{{{{{{{~~~~~~~~}}~~~~~}}}}}}}}}}}}}}}}{{}}{{{{{{{{}}}}}{{{~~~~~~~~~~~~~~~~~~~~~}}}}{{}}{{{{{{{{~~}}}{{{{{{{{{{{{{{{{{{}}~}}{{{{{zzzzzzzzzzzzyyyyzzzzzzzyyyzzzzzz}{{{{{{zzzz{{{{{{{{{{{}}}}~~~~~~~~}}~~~~~~~~~~}}}{{{{{{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyy}}{{}}}~~~~~~~~}}}}{{{zzzzzzzz{{zzyyz{{{{{{{{{}}}}}}{{{{{zzzzzzzzzzzzzzzzzyzzyyyyyyyyyyy}}}}}}}}{{{{{{{{{{~~{{{{{{{{{}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{zzzzzzzzyzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzz{{{{{}}}}}{{{{zzzzzzzz{{}}}}~~~}}}z{zzz{{zz{{{{{{}}}}{{{{{{zzzzz{zzzzz{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyy{{{y}{{}}}}}}}}}}}}}{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}}{{{{{{{{{zzyyyyyyzzzzzzzzz{{{{zzzzzzzzzzzz~zzyyyy}}}}}}}~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyzzzyyyyyzzzzzz{{{{{{{{{{{{{{zzzzz{{{{{{{}}~~~~~~~~~~~~~~}}}}}}}}~}}}}{{{{}}{{{{{{{{{}}}}{{{~~}~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{~~~}{{{{{zzzz{{{{{{{{{{}~~}{{{{{{zzzzzzzzzzzyyyyyzzzzyyyyyyyzzzzz}}{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~}}~~~~~~~~~~}}}{{{{{{{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}{{}}}~~~~~~}}}}}{{{{zzzzzzzzzzzyzz{{{{{{{{{{{}}}}}{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy}}}}}}}{{{{{{{{{}~~{{{{{{{{{}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{zzzzzzyyyyzzzzzyyyyyyyyyyyyyyyyyyyyzyyzz{{{{}}}}}}{{{{zzzzzzzzz}}}}}~~~}}zzzzzz{{zzz{{{{{}}}}{{{{{{{zzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyy{}}}}}}}}}}}}}}{}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}{{{{{{{{{yyyyyyyyyyzzzzzzz{{zzzzzzzzzzzzzzzzzzyy}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyzzzzzzz{{{{{{{{{{{{{{{{zzzzzz{{{{{{}}~~~~~~~~~~~~~~~}}}}}}~~~~}}{{{{{}}}}{{{{{{{}}{{{{{}}}~~{~~~~~~~z~~~~~}~~{{{{{{{{{{{{{{{~~{{{{{{zzzz{{zz{{{{{~~~}}{{{{{{zzzzzzzzzzyyyyyyzzyyyyyyyyyyzzz{{{{}{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~}}}~~~~~~~~~}}{{{{{{{{{{zz{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}{{}}}}~~~~~}}}}}{{{{{zzzzzzzzzzzzzz{{{{{{{{{{}}}}}}{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyy}}}}}}}{{{{}{{}}}~}}}}}{{{{}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzz{{zzzzzzz{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyz{{{{{}}}}}}{{{{zzzzzzzzzz}}}}}}zzzzzzzzzzzzzz{{{{}}}}}{{{{{{{zzzzzzzzz{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyzz}zz}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~{{{}}}{{{{{zzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzy}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}~~~~~~~~}}~~~~~~}}}}{{{{{{{{{{{{{{{{zz{zzzzzzzz{{{{{zz{zzzzzyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzz{{zzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzz{{{{~~~~~~~~}~~~~~~~~}}}~~~~~~~}{{{{{{}}}}}}{{{{}}}{{{{{{{{{{{{~~zz~zzzzzz~}}~{{{{{{{{{{{{{{{~~{{{{{{{zzz{zzz{{{{{~~~{{{{{z{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyz}}}}}}{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~}}}}~~~~~~~}}}{{{{{yy{yyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz}}}{}}~~~~~~~~~}}}}}{{{{{zzzzzzzzzzzzzzz{{{{{{{{}}}}}}zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy}}}~}}}}{{{{}}}}}}}}}}}}}}}{}}}~}}}}}{{{{{{{{{{{{{zzzzzzzz{{{zzzzzzzz{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{zzzzzzyyyyyyyyyyyyzzyyyyyyyyzyyzzyyyyyzz{{}{{}}}}}}{{{zzzzzzzzzzz{{{}}}{zzzzzzzzzzz{{{{{}}}}}}{{{{{{{{{zz{zzz{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{~~~~~}}~~{{{}}}{{{{{zzyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{zzzzzzzzz}}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~}}~}~~~~~}}~~~~~~~}}}}}{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{zzzzzzzyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzz{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{zz{{{{{zz{zzzz{{{{~~~~~~~}}}~~~~}}}}}}~~~~~~~}}{{{{{}}}}}}{{{}}}{{{{{{{{{{{{zz~zzzzzzzzzz}}{{{{{{{{{{{}{{~~}}}}{{{{{zzzzzz{{{{{{~~~{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzz}}}}{{{{{{{{{{{{{{{{{{}}~~~~~~~~~{{}}~~~~~~~~}}}{{{yyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz}}}}}}~~~~~~~~~~}}}}}{{{{{zzzzzzzzzzzzzzzz{{z{{~~}}}{}}zzzzzzzyyzyzzzzzzzyyyyyyyyyyyyyyy}}~~}}}{{{{}}}}}}}}}}}}}}}}}}~~~}}}}}{{{{{{{{{{{{{{{zzzzzz{{zz{{zzz{{{{{{{{{{zzzyyyyyyyzzyyyyyyyyzyyyyyyyyyyyyz{{{{{{{{zzzzzzyyyyyyyyyyyyzzzyyyyyyyzzzzzzzyyyyzzzz}}}}}}}}}{{zzzzzzzzzzzz{{{}}{{zzzzzzzzzz{{{{}}}}}}}{{{{{{{{{{{{{{z{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz~~~}}}}}}}}}}}}}}}~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{}}}}}}}{{}{{{{{zzzyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzz}}}~~}}}}~~}}}{{}}~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{zzzzzzzzzzzyzzzzzzzzzzzzzzyyyyzyyyyzzyyyyyyyyz{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{z{{{{{{{{{zzz{{{{~~~~~~}}}}}}~~}}}}}~~~~~~~}}}}{{{}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz}{{{{{{{{{{{}}}}}~}}}}{{{{{zzzzzz{{{{}}~~zyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzz}}}}{{{{{{{{{{{{{{{{{{}~~~~~~~{{{{}}~~~~~~}}}}{{{{yyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz}}}}}}~~~~~~~~~}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzz~~{{{{{}zzzzzzyyyyyyyzzzzzyyyyyyyyyyyyyyy~~~}}~}}{{}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}{{{{{{{{{{{{{{zzzz{{{{{{zz{{{{{{{{{{{zzzzyyyyyyzzzzyyyyyzzzyyyyyyyyyyyzz{{z{{zzzzzzyyyyyyyyyyyyyzzzzyyyyyyyzzzzzzzyyyyyzzz}}}}}}}}{{{{{{zzzzzzzzz{{{{{{{{zzz{{zzzzz{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzy~~~}}}}}}}}}}}}}}}{{}}}~~~z{{~~~~~~~~~~~~~~~~~~}}}}zz{{{}}}}}}}{{}}{{}zzzzyyzzyyyyyzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzz}~~{{}}~~{{{{{~~~~~~~~~~~~~~~~~~~}}~}}~~~~~~~~~~~}}}}}}{{}}{{{{{{{{{{{zzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{zzzzzzzyyyzzzzzzzzyyyyyyyzz{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zz{{{{~~~~~~~}}}}}}~~}}}~~~~~~~~}}}}}}}{}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{zzz{{{{{{}}}}}zzyyzzzz{{zzzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{}}}}}}{{{{{{{{{{{{{}}~~~~~~~~~{{{}}{~~{{~~}}}{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyzzzzzzz{{}}~}~~~~~~~~~}}}}}}}{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzyyyyyyyzzyzyyyyyyyyyyyyyyyyyyy~~~~~}}}~~}}}~~~~}}}}}}}}}}}~~~~~~}}}}}{{{{{{{{{{{{{{zzzz{{{{{zzzzzy{{{{{{zzzzzzzzyyyyyyzyyyyyzzzzyyyyyyyyyyyzz{zzzzzzzzzzyyyyyyyyyyyzzzzzyyyyyyzzzzzzzzzyyyyyyy}}}}~}}}}{{{{{{{{{zzzzz{{{{{{{{{zzz{{zzzzzz}}}}}}}}}}{{{{{{{{{{{{{{{{{{}}{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzyy~~}}}}}~~}}}}}}}}}{}}~~~zz{{~~~~~~~~~~}~~~~~~~~}}{{z{{{}}}}}}}{{}}}}}zzzzyyyyyyyzzzzzzzzzzzzzzzzzz{{{z{{{zzzzzzzzzzz{{{{{{}{{{{{zyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}}{{{{{zzz{{{{{{{{{{{{{{{{zyzzzzzzzzzzz{{z{{zzzzzzzzzzzzzzzzzzyyyyyyzzzz{{{{{{{{{{zzzzzzzzzzzzzz{{{zzz{{{{{{{{{{zzzz{z{{{{~~~~~~~~}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}{{{}}}}{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{zzz{{{}}}}}}}{zyyzzzz{{{zzzzzzzyyyyyyzzyyzzzyzzzzzzzz{{}}}}}}}{}}{{{}{{{{}}}~~~~~}}{{{{{}}{{{{{{~{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyzzzz{{{{~~~~~~~~~~~~~}}}}}}}{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~}}}}~}}~~~~~~~}}}}}}}~~~~~~~~}}}}}{{{{{{{{{{{{{{{zzz{{yyyzzzzzyyy{{{zzzzzzzzyyyyyyyyyyyyyzzzyyyyyyyyyz{{{{{zzzzzzzzzzyyyyyyyyyyyyzzzzyyyyyyzzzzzzzzzzyyyyyyy}}{~~}}}{{{{{{{{{{{zzz{{{{{{{{{{zzzz{{zzzz}}~}}}}}}}{{{{{{{{{{{{{{{{{}}}{{{{{{{yyzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyy}}}~~~}}}}}{{{{{~~~~zzzzz~~~~~~~{{}}~{~~~~~}}}{{{{{{}}}}}{{{}}}}}zzzyyyyyzyyzzzzzzzzzzzzzzzzzz{{{zz{{zz{zzzzzzzz{{{{{{{{{{{zzyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{zz{{{{{{{{{{{{{{{{{yyyzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzyyzzzzz{{{{{{{{{{{{zzzzzzzzzzz{{{{zzzy{{{{{{{{zzzzz{zz{{{}~~~~~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}{{{}}}}{{{{{{{{{{{{zzzzzz{{z{{{{{{{{{{{{{{{{{{{}}}}}}{{}}{{{{{zz{{{{{}}}}{{yyzzzzz{{{zzzzzzzyyyyyyyzzzzzzzzzzzzzzzz}}}}}}}}}}}}}}}{{}}}}}~~~~~}}{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzz{{{{{~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{zzzyyyyyzzyyyyyyyyzzzzzzzzzyyyyzzyyyyyyyyyyyyyyyyyyzz{{{{{zzzzzzzzzzzyyyyyyyyyyzzzzzyyyzzzzzzzzzzzzzyyyyyyzz{~~}}}{{{{{{{{{{{{z{{{{{{{{{{{zzzz{{zzzz}~~~~~~}}}{{{{{{{{{{{{{{{{{}}}{{{{{{{yyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyy}}~~~}}~~}{{{{{{{~~{{zzzzz~~~~{{{{{{{{~}~~}}}}{{{{{{{{{{{{{}}}}}}zzzyyyyzzyyzzzzzzzzzzzzzzzzzzyyzzz{{{{{zzzzzzzz{{{{zz{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{}{{{{{{{{{{{{{{{{{{{{{{{{yyyzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzyyzzzz{{{{{{{{{{{{{zzzzzzzzzzz{{{{yzyyy{{{{{{yyyz{{{zz{{{}}~~~~}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{zzyyzzzzzzz{{zzzzzzzyyyyyyyzzzzzzzzzzzzzz{{{}}}}}}}}}}}}}}{{{}}}}~~~~~}{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyy{{{{{{~~~~~~~~~~~~~~~~}}}}}}}{{{{zzzzzzzzzzzzzzz{zzzzzz{{{}{{{{{zzyyyyyyyyyyyyyyyyzyyyyyyyyyyy~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{}{{{{{{{zzzzzzzyyyyzzyyyyyyyzzzzzzzzzzzyyyzzyyyyyyyyzyyyyyyyyyzz{{{{zzzzzzzzzzzzyyyyyyyyyzzzzzzyyzzzzzzzzzzzzzzyyyyyzzyyy{}}}{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz~~~~~~~~}{{{{{{{{{{{{{{{{{{}}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyy~~~~~~~~}}{{{{{{{{{{zzzzzz~~{{{{{{{{{{{}{}}}{{{{{zzz{z{{{{}}}}}zzzyyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyy{{{{{{{zzzzz{{{{zz{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{}}{}}{{{{{{{{}{{{}{{{{{{{{{zzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzyyzz{{{{{{{{{{{zzzzzz{zzzzz{{{{{yyyyyzz{{{{yyyyy{{{{{{{{{}~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzyyzzzzzz{{{zzzzzzzzyyyyyzzzzzzzzzzzzzz{{{{{{}}}}~~}}}}}}}{{}}}}~~~~zz{{{{{{{{{{zz{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyzz{{{{{~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzz{zz{{zzzz{{{{}}}{{{zzzyyyyyyyyyyyyyyyyzzyyyzzzyyyyyy~~yy}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{}}}}}{{{zzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyzyzzyyyyyyyyyzz{{{{zz{{{zzzzzzzyyyyyyyyyzzzzzzzyzzzzzzzzzzzzzzyyzyyyyyy{{{}}}{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{zzz~~~}}}~~}{{{{{{{{{{{{{{}}}{{}}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyy~~~~~~~~}}}{{{{{{{{{{zzzzz{{{{{{{}}{{{{{{}{{{{{{{zzzzzz{{{{{zzzzzzyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyz{{{{{{{zzzzz{{{{z{{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{}}{{{{{{{{}}{}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyy{{{{{{{{{{{{{zzzzzz{{zzzz{{{{{yyyyzzzzzzzyyzyy{{{{{{{}}}}~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}~~}}}}{{{{{{{{{{{{z{{{zzzz{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{zzzzzzzzzzyyyzzzzzzzzzzz{{{{{{{{{{}}}~~}}}}}}}}}}}}}}}}zzz{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{~}~~~~~~~~~~~~~~}}}}}}}}{{{{zzzzzz{{{{{zz{{zzz{{{}}}}}z{{zzyyyyyyyyyyyyzyyyyzzyyyzzzyyyyyyyyyy}zz}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{zzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyzzzyyyyyyyyzzzz{{{{{{{{{zzzzzzzyyyzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzz}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz}}}}}}}}{{{{{{{}}}{{{{{}}{}}}}{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyy~~~~~~~zzz}}zz{{{{{{{{zzzzzz{{{{{}}}{{{{{}}{{{{{{{{{{{zz{{{{{zzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzz{{{{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzyyy{{{{{{{{{{{{{{{{z{{{{{{{{{yy{yyyzzzzzzzzzzzyy{{{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}~~}}}}{{{{{}{{{{{zz{{zzz{{{{{{zzz{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{}}}}{{{{zzzzzzzzzz{{{{{zzzzzzzzzyyzzzzzzzzzzzz{{{{{{{{{}}}~~~}}{z}}}zz}}z}}}}{{zz{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{}}~~~~~~~~~~~~~~~~}}}}}}{{{{zzzzzzz{{{{{{{{zz{{{{}}}}}zzzzzyyyyyyyyyyyzzzyyyyyyyyzzyyyyyyyyyyzzzz}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{zzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzyzzzyyyyyyzzzzyyyyyyyyzzzzz{{{{{{{{{zzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzy}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{}}~~}}}{{}}}}}}}}}}{{{}}}}}}}}zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyy~~~~~~~zzzzzzzzz{{{{zzzzzzzz{{{{{}}}{{{{{}}}{{{{{{{{{{{}}}{{{zzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzz{{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zz{{{zzzzzyyyzzz{z{{{{{{{{{{{{{{{{{{{{{yyyyzzzzzzzzzzzyyyzz{{{{{{}~}~~~~}}}}}}}}~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{zz{{{zz{{{{{{zzz{{{zz{{{{{{}}}}}{{{{{{{{{{{{{{}}{{{{{{zzzzzzzzz{{{{{zzzzzzzzzyyyzzzzzzzzzzzz{{{}}{{{{}}}}~}}{{zz}zzzzzzzz}}{{zz{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{}}}~~~~~~~~~~~~~~~}{{{{{{{{zzzzzzzz{{{{{{{{z{{{{{}}}}zzzzzzzyyyyyyyyyyzzzyyyyyyyyyyyyyzyyyyyyzzzzz~~~~~~~~}}~~~~~~~~~~~~~~}}~~~}}~~}}}}}}}{{{{zzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzyyyyyzzzz}}}{{{{{{{zzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyy}}}}}{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{~~~~}}{{{}}}}}}}}}}{{}}}}}}}}}zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzz~~~~zzzzzzzzzzz{{{zzzzzzzz{{{{{}}}{{{{{}}}{{{{{{{{{{{}}}{{{zzzzzzzyyyzzzzzzzzzzyyyyyzzzzzzzzzzzz{{{{{{{zzzzzz{{{{{{{{{zz{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zz{{zzzzzyyzzz{{zz{{{{{{{{{{{{{{{{{{{yyyyyyzzzzzzzzzzyyzzzz{{{{{~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}}}{{{{zzz{{{{{{{{{zzz{{{{z}}}{{{}}}}}}}}}{{{{{{{{}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}{{{}}}}}}zz{{zzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{}~~}~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzzz{{{y{{{zz{{{{{{zzzzzzzzzzzzzzyyyyyzzzzyyzzzyyyyyyyyzzyzzzzzzzzz~~~~~~~~}}}~~~~~~~~~~~~~}~~~~{{~~}}}}}}}{{{{z{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzz}}}}{{{{{zzzzzzzzzzzzzyyzyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyzyyy}}}}}}{{{}}}}{{{}}}}{{{{{{{{{{{{{{{{{}~~~}}}}{{}}}}}}}}}}{{}}}}}}}}zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzyzzzzzzzz{z{z{zzzz{{{zzzz{zzzzz}}}}}}}{{{{}}}{{{{{{{{{{{}}}{{{{zzzzzzyyyyzzzzzzzzyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zz{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{}}{{{}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzz{{z{{zzzz{{{{{zzzz{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzyyyyyyzzzzzzzyyzzzzzzz{{{{~~~~~~~~}~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{zzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{{{{}}{{{}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{{{{{{{{}}}{{{}}}}}zzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{}}}}~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzzzyyyyyyyzz{{{zz{zzzzzzzzzzzzzzyyyyyyzzzzzzzzzyyyyyzzzzzzzzzzzz{~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~{{~~~}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzyyyzzzzz}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{}}}}~~}}}{{~~}}}}}}{{{{}}}}}}}}zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzzzzzzzzz{{{{{{{{zzz{{zzzzz{{{{zz}}}}}}}{{}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzyyyzzzzzzzyyyyyyzzzzzzyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzz{{{{{{{{zzzzz{{{{zzz{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzyyzzzzzzzzzzzzyzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}}}}}}}{{{{{zz{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{}}{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}}}}{{{}}}}}zzzzzzzzz{zzzzzzzz{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{}}}}}}~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzzyyyyyyyyy{{{{zzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzyyyyzzzzzzzzzz{{{{{{{}~~~~~}}}}~~~~~~~~~~~~~~~~{{~~~~}}}{{{{{{{{{{{z{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}{{{{{{{z{{{zzzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzzzyyyzzzzz}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~}}}}}{{{{{}}}}}}}}{{zz{zzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzzyyzzzzzzzzzz{{{{{{{{zzzzz{{zzzz{{{{z}}}}}}}}{{}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzyyzzzzzzzzyyyyzzzzzzzyyyyyzzz{{{{zz{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zzz{zzzzzzzzzz{{{{{{{{{{z{{{{{{zzzz{{zzzzzzzzz{{{{{{{{{{{zz{{{{{{{{{{{zzyyzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}{{{{{{{{zz{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{yyy{{}}}{{}}}}}zzzyyyzz{{{{{zzzzzzz{{{z{z{{{zzyzz{zzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzy{{{}}}}}}~~~~~~~~~~~~}}}}{{{{{{{{zzzzzzyyyyyyyyyyzz{{zzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyyyyyzzzzzzzzzz{{{{{{}~~~~~~~~}}~~~~~~~~~~~~}}}{{{~~~}}{{{{z{{{{{{{{{{{zzzzzzzzzz{{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}zz{{{{{z{{{zzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzyyyzzzzzz}}}{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{zz{{{zz{{zzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyzzzzzzzzz{{{{{{{{zzzzz{{{{zzz{{{{}}}}}}}}}{{}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzyyyyyzzzyyyyyyzzzzzzyyyyyyyyy{yyzzzz{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{zzzz{{{zzzzzzz{{{{{{{{{{{zzz{{{{{{{{{{zzzzzyzzzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{zzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{yyy{{}}}}}}}}}}zzzzyyzzzz{{zzzzzzz{{{zzzz{{yyyyy{{yyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzz{{zzzzyyy{{}}}}}}}~~~~~~~~~~~~}}{{{{{{{{{{zzzzzzyyyyyyyyyyzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzz{{{{{~~~~~~~~~~}}~~~~~~~~~~}~}}}}{{{{{}}{{{zzz{{{{{{{{{{zzzzzzz{{{{{{{{zzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{}zz{{{{zzzz{{{zzzzzzzzzzzz{{{{{{{zz{zzzzzzzzzzzzzzzzzzzzzz}}}{{{}}}}}}}}}{{{{{{{}{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{z{zzzzz{{{{zzzz{{{}}}}}}}}}}{}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzyyyyyyzzyyyyyzzzzzzzyyyyyyyyy{yyyyzzzz{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{zzz{{{{zzzzzz{{{{{{{{{{{zz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}~~~}~{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{}}}~~}}}}}}}}}}}}}}}{{{{zzz{{{{{{{zzzz{{zzz{{{zzzzzzzzzzz{{{{{{{{{{{yyyyy}}}}}}}}zzzzzzyyzzzzz{zzzzzz{{{{zzzzzzyyyyy{{yyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyzzzz{{zzzyyyy{zz}~~~~}~~~~~~~~~~~~}}{{{{{{{{{{zzzzzzyyyyyyyyyyyy{yyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{zzzzz{{{{{{{{zzzzzz{{{{{{{{{{{{{{zz{{{{{zz{zzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzz{{{{zzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}}}{{{{{{}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{{{zz{zzzz{{{{zzzz{{{}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}{{{{{{{{zzzyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyzzz{{{{{{zz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzz{{{}}{{}}}{{{{{{{{{{{{{{{{{zzzzz{{}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}{{{{{{{{{{{{{{{{{zzzz{{{{{{{}}}{~~~}}}}}}}}}}}}}{{{{{zz{{{{{{{zzzz{{{{{{{{{zzzz{zzzzzzzz{{{{{z{{{yyyyy}}}}}}{{zzzzzzzzzzzzzyyyyzzy{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzzzyyyyzz~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{zzzz{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{zz{{{{{{{{{zzzzzzz{zzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}}}{{{{{{{}}}}}{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{{{{zzzzz{{{{{{zz{{{{}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}{zz{zzzzzzyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyzzz{{{{{zz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzz{{{{{}}}}}}}}{}{{{{{{{{{{{{{zzzzzz}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}{{{{{{{{{{{{{{{{zzzzz{}}}{{{}}{{{}}~~~}}}~~}~}}}{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{zzzzzzzz{zz{zzzzzzyyyyy}}}}{{{zzzzzzzzzzzzzyyyzzzyy{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzyyyyy{{{{zzzzzyyyyz~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~}}~~~~}}}}}~~}}{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}}}}}{{{{{{}}}}}}{{{{{{{}}}}}}}}~~~~~}}}}}}{{{}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzzzzzzzzzzzzzzzz{{{zzzzzz{{{{{{{{{{{z{{{}}}}}}}}~~~~}}}}}}}}}}}}}}}}{{zzzzzzzzzzyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{zz{{{{{{{{}}}}}}}}}}}{{{{{{{{zz{{zzzzzz}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{zzzzzzzzzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}{{{{{{{{{{{{{{{zzzzz{{{}}{{{{{{{}}~~~~}}~~~~~~}}{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{zzzzyyzzzzzzzzzzzyyyy{{}{{{{{zyzzzyyzzzzzzyyzzzyyy{{{{{{zzyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzyyy{{zzzzzzzzzzzz~~~~~~~~~~~~}}}}}}{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{}}}~~~~~~~~~~~~~}}~~~~}}}}}~~~}{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{z{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~}}}{{{{{{}}}}}}}{{{{{}}}}}}}}}~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzzz{zzz{{{zzz{{{zzzzzz{{{{{{{{{{zz{{{}}}}}}}}~~~~~~~}}}}}}}}}}}}{{{zzzzzzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~{{{yyy}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{{{{{{zz{{{{{{z}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{z{{{{{{zzzzz{{{{{{}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}{{{}}}}}{{{{{zzzzzzz{{{z{{{{{{{{{~~~~~}}~~~~~{{{{{{{{{z{{{{{zzzzzzz{{{{{{{{{{{{{{zzzzyyzzzzzzzzzzzzyzy{{{{{{{{zyyzyyyzzzzzzzzzzzzyzz{{{{{yyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzyyzzyyzzzzz{{{zzzzzzzzzzzzz~~~~~~~~~~~}}}}}{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyzzzzzzzz{zzzzzzzzzzzzz{{zzzzzzzzz{{{{{{{{{}}}}}}~~~~~~~~~~~~~~}}~~~}}}}}~~~}}{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{zzzzyyyzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{zz{{{zzzzzzzzzzzzzz{{{zzzzzzzzzz{}}~~~~~}}}{{{{{}}}}}}{{{{{}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzz{{{{{{{zzz{{{zzz{{{{{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~}}~}}{{{}}}{{{{{zzzzzzzzzzyzzzzyyyyyyyyyyyyyyyyyyyyzzzyyyyyyzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~{{{yyy}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}}}{{}}{{{{{zz{{{{{{}}}}}}}}}}{{{}}}}{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}{{}}}}}}}{{{zzzzzzz{{zz{{{{{{{{{~~~~~~}~~~~{{{{{{{{{{zzzzzzz{z{zz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzyyyyzzzzzzzzzzzzzzzz{{zzzyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzz{{zzzzzzzzzzzzz~~zzzzz~~~~~~~~}}}}}}}{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyzzzz{{{{{{zzzzzzzzzzzz{{zzzzzzz{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~}}~~~}}}}}}}~~}}{}}{{{{{{zzzzz{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{zzzyyyzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzz{{{zzzzzzzzz{{{}}}~~~}}}}{}{{}}}}}}{{{}}}}~~}}}}}}}}}~~}}}}}}}}}}}}}}}}}}{}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzz{{{{{{{zzz{{z{z{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzyyyyyyzzzzz{{{{{{{{{{{{{~~~~~~~~~~~~~~~z{yyy~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}}}{{}}{{{{{{{{{{{{{}}}}}}}}}}{{}}}}}{{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{}{{~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}{{}}}}}}}{{{yzzzzzzz{zzzz{{{{{{{}}~~~~~~~~}{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzyyyyzzzzzzzzzzzzzzzzz{zzzzyyyyyzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzz~zzzzzz{~~~~~~~}}}}{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{zzzzzzzzzzz{{{zzzzzz{{}}{{{{{{{}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}{{{{zzzzzzzz{{{{{{}}{{{{{{{{}}}}{{{{{{{{{}}{{{{{{{{{zzzzzyzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzzz{{{{zzzzzzz{zzzzzzzzzzzz{{}}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}~}}}~}}}~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{}}}}}}}~~}}~~~~~~~~~~}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzyyzzyyzzzzz{{{{{{{{}}{{{~~~~~~~~~{{{zzzzzyy~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}}}{{{{{{{{{{}}}{{~~}}~~}}}}}}}{{{{{{{{{{{{zzz{}}}}}}~~}}}}}}}}}}{{{{zzzzzzzzz{{zz{{{{{{{{{{{{{{{}}}{{~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~{{{{{{}}}}}}}}{{yyyzzzzzzzzzz{{{{{{{{}}~~~~~~~}}}{{{{zz{{zzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzz{{{zzzyyyyyyzzzzzzzyyyyyzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~~}}{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyy{{{{{{{{{{{{zzzzzzzzz{z{{z{{{zz{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{zzzzzzzzz{{{{{}}}}}{{}}}}}}}}{{}}{{}}}}}}{{{{zz{zzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzz{{{{{{z{{{{zzzzzzzzzzzzz{{{~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzyzz{{zz{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{zzzzz{{{{{{{{{{}}{{{{{{{}}}}}~~~~}}~~~~~~~~{}}{{{{{{{{{{{{{{{{zzzzzzzzzzzyyzzyyyyyyyyyyyzzzzzyzzyyzzyzzzzz{{{{}}{{}}}{{{{~~~~~~~{{{{{zzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}{{{{{{{{{}}}~~~~~~}}}}}}}{{{}}{{{{{{{{zzz}}}}}}}~~}}}}}}}}}}{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{}}}}}}}}{{yyyyyzzzzzzzzz{{{{{{{{~~~~~~~~~}}}{{{zzzzzzzzzzzzz{{{{{{}}{}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzyyyzzzzzzzzzzzyyyyyzzzzzzzzzyyyyzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~}}}{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{zzz{zzz{{zzz{{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}{{{{{zzzzzz{{{{{{{{}}}}}{{}}}}}}}}}}}}{}}}}}}}}{{{yzzzzzzzzzzzzz{{{{{{{zzzzzzz{zzzzzzzzzz{{{{{{{{{{{{z{{z{{{{{{{{{{{{{zzzzzzzzzzzzz{{{~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}}}{{{{{{{{zzzzzyyyy{{zz{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{zzzz{{{{{{{{{}}}{{{{{{{}}}}}~~~~}}~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyzyyyyyyyyyyyyyyzzzzzzyyyyyzzzzzzz{{}}{}}}}}}{{{{{{~{{{{{{{{{{zzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~}}}}}}{{{{{{}}}~~~~~~}}}}}}{{{}}{{{{{{{{{zz}}}}}}~~~~}}~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{}}}}}}}}{{{yyyyyyzzzzzzz{{{{{{{{~~}}~~~~~~}}}{{{{zzzzzzzzzzzz{{{{{{}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzz{zzz{{zzzzzzzzzzzzz{{{zzzyyyyyzzzzzzzzzzyyyyyzzzzzzzzzyyyyzzzzzzyyyyyyyzzyyzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~}}}{{{{{{{}}{{{zzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}~~}}}~~}}}}}}{{{{{{zzzzz{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{yyyzzzzzzzzzzzz{{{zz{{zz{{{z{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~}~}}}}}}}}{{{{{{{{zzzzzyyyy{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{zz{{{{{{{{{{}}{{{}}{{{}}}}}}{{{~}~{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyzzyyyyyyzyyyyyzzzzzzzyyyyyzzzz{{{{{}}}}}}}}}}{{{{{{{{{{}{{{{{zzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~}}}}}}}}}}}{{{{{}}}~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}{{}~}}}}}}{{{yyyyyyzzzzzz{{{{{{{{{{}}}}~~~~~~~{{{{{{zzzzzyzzyzzz{{{{{}}}}}}}}{{{{{{{{{zzzzzzzzzz{zz{z{{zz{{{zzzzzzzzzzzzz{{{zzzyyyyyy{{{{{zzzzyyyyyzzzzzzzzzzzyyzzzzzyyyyyyyzzzzyz{{{{zzzzzzzzzzzzzzzzz{{zzzzzzzzzzzz}}~~~~}}}{{{{{}{{{zzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}{~~~{}}}}{{{{{{{{{{{z{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{zzzyyzzzz{{zzzz{{zzz{zz{{{{{{zzzzzzzzzzzz{{{}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{zzz{{{{~~~~}}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}{{{{{zzzzzyyyy{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyzzzzyyyyyzzzzzzyyyyyyzzzz{{{{{}}}}}}}}}}{{{{{{{{{}}{{{{{zzzzzzzzzzz~~~~~~~~}~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~}}}}}}}}}}}}{{{{{}}}~~~~~}}}}}}}}}{{{{{{{{{{{{{{{}~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}~~~~~~~{{yyyyzzzzzzzzz{{{{{{{{}}}}}}~~~~~~~{{{{{{zzzzzyyyyzz{{{}}}}}}}}}}}}}{{{{{{{zzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyy{{{{{zzzzyyyyyyzzzzzzzzzzyyzzzzyyyyyyyyyzzz{{{{{zzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzz}}~~~~}}}}{{{{{{{{yyzzzzzzyyyyyyyyyyyyyyyy{{}{{{}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{~{{{{}}{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}{{zzzzyyyzzz{{zzzz{{zzyyyz{{{{{{zzzzzzzzzzzzzzz}}{{{{{{{{{{{{{{{{{{{{{{{zzzzz{z{{zzz{{{{~~~~}}}}}~~~~}}}}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{zzzzzzzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{zz{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{}~~}}}{{{{{{{{zzz{{{{{{{{{{{{{{z{{zz{zzzzzzzzzzzzzyyyyzzzyyyyyzzzzzzyyyzzzzzz{{{{{{}}}}}}}}}}{{{{{{}}}}}}{{{{zzzzzzzzzzz~~~~~~}}}}~~~~~~~~~~~}}}}}}}~~~~~}}}}~~}}}}}}}}}}}}{{{{{}}}~~~}}}}}}}}}}}}{{{{{{{{{{{{{}}}~~~~~~~~~~~~}~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}~~~~~~~zzyyzzzzzzzzzzzz{{zz{{{}}}}}~~~}~{{yy{{zzzzzzzyyyy{{{{{{}}}}}}}}}}}}}}}{{{{{zzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzyyzyzzzzzzzzzzzyyzzzzzzyyyyyyyyyyzz{{{{{{{{zzzzzzzzzzzzzzzz{{zzzzzzzzz{{{~~~}}}}}}}{{{{z{yyyzyyyyyyyyyyyyyyyyyyyy{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}~~~~~}}}}}~~~~~~~~~~~}}}{zzzzzzzzzzzzzzyyzzyyyyyyy{{{{{zzzzzzzzzzzzzzz}}{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{~~~~~~}}}~~~~~}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{zzzzzzyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~}}}{{{{{{{{zzz{{{{}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyzzzzyyyzzzzzzzzzzzzzzzz{{{{{}}}}}}}}}{{{{{}{{}}}}}}}{{{{{{{{zzzzzz{{~~~~}}}}~~~~~~~~~~~}}}}}~~~~~~}}}}}~~}}}}}~~}}}}}{{{{{~~}}~~}}}~}}}}}}{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~zzzzzzzzzzzzzzzz{{{zzz{{}}}}~~~~}}{{{yyyzzzzzzzyyyy{{{{{{}}}}}}~~}}}}}}}{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzyyyyyyyyyyzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{~~~}}}}}}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}{{zzzz{{{{{{{{{{{{{{{{{}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{}}{{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~}~~~~~~~~~~~~~~}}}}{zzzzzzzzzzzzzzyyzyyyyyyyyy{{{{zzzzzzzzzzzzzz{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{}~~~~~~~}}~~~~~~}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzzzzzzz{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{}}}}{{{{{{{{}}{{}{{{{{{{{{{}}}}{{{{}}}}{{{{{{{{zzz{{{}}}}}{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzyyzzzzzzzzzzz{{{{}}}}}}}~}}}{{}}}{{}}}}}}}{{{{{{{{{z{{z{{{{~~}}}}}~~~~~~~~~~}}}}}}~~~~~~}~~}~~~}}}}}~~}{{{{{{{{~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}~}}~~}}{{{{{zzzzzzzzzzzzzz{{{{{zz{{{}}}~~~~~~{{{{yyyzzzyyyyyyyy{{{{{}}}}}}~~~~}}}}}}{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzz{z{zzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzyyyyyyyyyyyyyyzz{{{{{zzzzz{{{{{zzzzzzzzzzzzzzzzzzz~~~~}}}}}}{{zzzzzzzyyyyyyyyyyyyyyyyyyyyzz{{}{}}}{{{{zzzz{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}{{{~~~~~~~~~~~~~~~~~~~~~~}}{}}{zzzzzzzzzzzzzzzyyyyyyyyyyy{{{{zzzzzzzzzyyzzz{{{{{{{{{zzz}{{{{{}{{{{zzz{{{{{{{{{{{{{{{}}~~~~~}}}~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzzzzzz{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{}}}}{{{{}}{}}}{}}}{{{{{{{{{}}}{{{{{}}}}{{{{{{{{zzz{{}}}}}}{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzz{{{{}}}}}}}~~~}}}}}}}{{{}}}}}}{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~}}~}}~~~~~~~~~~~~~}}}}}}~~{{{{{{{{~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{}}}{{}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}{{{{zzzzzzzzzzzzz{{{{{{zz{{{}}}~~z~~~{{zzyyzzzzzyyyyyyzzz}}}}~~~}}~~~~~}}}}}}{{{zzzzyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyzzzzyyzzyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzz{{{{zzzzzzzzz{{{{{zzzzzzzzzzzz{zzz~~~~~~}}}}{{zzzzzzzzyyyyyyyyyyyyyyyyyyyzz{{{{{}}{{{{{z{{{{{{}{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{z{{{{{{{{zz{{{{}{{{{{{{{~~~~~~~~~~~~~~~~~~}{{{}{{{zzzzzzzzzzzzzzyyyyyyyyy{{{{{{zzzzzzzzyyzzzzz{{}{{{zzz}}}{}{}}{{{zzzz{{{{{{{{{zz{{{}}}~~~~~~}~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{zzzzzzzzzz{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{}}{{{}}}}}}}}}}}}{{}{{{{{{{{{{{{{}}}}{{{{{{{{{{{{}}}{{}{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzyzzzzzzzzzz{{{}}}~~~~~~~{{{}}}{{{{{{{{{}}{{{{{{{zz{{{{{}}}}}}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}~~{{{{{{{{{{~~~~~~~~~~~~~}}}}}}}{{{{{{{{{}}}}}}}~~~~~~~~~~~~}}}}}}}}}{{}}}}{{{{{{{}{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{}}}}{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzyzzzzzzzyyyyyzzz}}}~~~~}}~~~~~~}}}}{{{yzzzzyyzz{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{zzyyyyyzyyyyzzyyyzyyzzzzyyzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{zzzzzzzz{{{{{zzzzzzz{zzz{{{{zzz~~~~~~}{{{zzzzzzzzyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzz{{{{{{{zz{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~{{{{{{{{{zzzzzzzzzzzzzzzzzyyzzz{{{{{{zzzzzzzzyyzzzzzyy}{{{zzz}}}}}}}}{{{zzzz{yy{{{{{{zz{{{}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zzzzzzzzz{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}{}{{{{{{{}{{zz{{{{{{{{{{{{{{{{{{{{{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzz{{{}}}~~~~~~{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{zzz{{{{~~~~~~~~~~~~~}}}}}}}{{{{{}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}}}}}}}}}}}}~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{~~}}{{{{{zzzz{z{{{zzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyzyyzz}}}}}}}}}{~~~~~~}}}}{yyyyyyzzyzz{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{zzzyyzzzzyyyyyyyyyyyzzzzyyzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{{{{zzzzzy{{{{{zzzzzzz{{z{{{{{zz{{{{~~{{{{{zzyyyzzzyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zz{{{{{{{z{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~{{{{{{{{{zzzzzzzzzzzzzzzzzzyzzz{{{{{{{{zzzzzyyyzzzyyyy}zzzzzz}}{{}}{{{{{zzzzyyy{{{{{zzzz{{}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~}}}}}}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zzzzz{{zzzz{{{{zzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzz{}{{{{}~~~~~}}{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{}}}}}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zz{{{{{~~~~~~~~~~~~~}}}}}}}}}}}{}}}}}}}}}}}~}}~~~~~~~~}}}}}}}}}}}}}}}{{{{{}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{~}{{{{{{{zz{{{{{{{zzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyy}}}}}}}}}{{~~~~~}}}zzyyyyzzzzz{{{{{{}}}}}}}}}}{{}{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyzzzyyzyyzzyzzzzzzzyyyyyyyyyyyyyyy{{{}}z{{{{zzzzyyyy{{{{{zzzzzz{{{{{{{zz{{{{{~{{{{zzzyyyyzzyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}~~~~~~~~~~~{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{yyyzzzyyyyyyzzzzyyyy{yy{{{zzzzyyyyy{{{{{zzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{{{{{{{{{{z}}}}}}}}}~~}}~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{zz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{}}{{}}}~~~~}}zz{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{}}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{~~~~~~~~~~~~~~}}}}}}}}}{{{{}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}{{}}}}}}}}}}}}}}}}}~}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyy{{~}}}}{{{{~~~~~}}}zzzzzzzzzzz{{{{{{}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyzzzyyyyyzzyyzzzzzyyyyyyyyyyyyyyyy{zz}}zz{{{zzzzyyyyyz{{zzzzzzz{{{{{{zzz{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{}}{{}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}~~~~~~~~~}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyzzzzzyyyyyyzzz{{{zzz{{{{~~~~~zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{}{{}}}}{{{{{{{{zzz}}}}}}~~~~~~~~}}}}}}}}{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{}}{{{}}}}~{{zzz{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}{}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyy{{~~~}}}{{{{~~~~~~}}zzzzzzzzzzzz{}}}}}}}}}}}}}}}}}}}{{{{{{z{{zzzzzzzzyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyzzzzz{{{{zzzzyyyzzzzzzzzzz{{{{{{{zzzy{{zzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyzzzzyyyyyyyzzz{{{zzz}}{{{yyzz~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{}}{}}}}}}{{{{{{{}}}~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}{{{{}}}{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~}}}}}}}}}}~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~{{}}}}{{{zzz{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{~}}}}}{{{{~~~~~{{{zzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzyyyzzzzzzzzzz{{z{{{{zyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{~~~~~{~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{}}{}}}{{}{{{}}}}}{~~~~{~{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyzzz{{z}}}}}yyyyzzzz~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{}}}}}}}}{{{{{{{}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{zzzzzzzzz{zzzzzzzzzzzz{{zzz{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{}{{}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~}}}}}}}}}~~~~~~~~~~~~~~~~}~~~~~}}}}}}}~~~~~~~~}}~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{zz{{z{{{{{zzzzzzzzzzzzzzzzzz{{}}}}}}}}{{{{~~~{{{{zzzzzz{zzz{}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyzzzyyzzzyyyyyyyyyyyyyyyyyyyyy{{{zzzzyyzzzyyzzzzzz{zzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}{{{{{{{{{{{{{}}}}}}}}}z{{}}}~~~{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{}{{}}{{{{}{{{}}}}}}}}}}}}}}}}}}}~~{{{{{{{{{{{{{{}{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyzzz{{{}}}}}yyyyzzzzz}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{}}}}}}}}{{{{{{{{}~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{zzzzzzzz{{{{{{zz{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}~~}~~~~~~}}}}}}}}}}}{{{{{{{~~~~~~~~~~~~~~}~~~~~}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{zzzzz{zz{{{{zzzzzzzzzzzzzzzzzz{{}}}}}}}}{{{{{~~{{{zzzzzzz{{{{{}}}}{}}}}}}}}}}}}}}}}{{{{{{{{zzzzyyyyyyyyyyyyyyyyyzzzzzyyzzyyyyyzzzzzzzzyyyyyzyyyyyyyyyyyyyyyy{{zzzzzyzzzzyyyzzzzzzzzy{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{}}}{{}}{{{{{{{{}}}}}}}}}}zz{y}}~~{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{}}}}}}}{}}}{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}{zzzzzzzzzzzzzzzz{{{{{{{{{{}}{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzz{{{{}}}}yyyyyzz{zz}}~}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzz{{{{}}}}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{}{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{zzzzzzzz{{{{{{zzz}}}}}}{{{{{{{{{{{{{{{{{{{{z}}}}}}}}{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}}}{{{{{{{~~~~~~~~~~~~~}}}~~~~~~}~}}}}}}~~~}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{zzzzzzz{{{zzzzzzzzzzzzzzzzzzz{{}}}}}}}{{{{{{{{{{{zzzzzzz{{{{{{zz{{{}{{z{}}}}}}}}}}{{{{{{{zzzzzyyyyyyyyyyyyyyyyyzzzzzzyzzzyzyyzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{}}}}}{{}}{{{{{{{}}}}}}}}}}yzzyyyyyyy{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{}}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}{{zzzzz{zzzzzzzzzz{{{{{{{{{}}}{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{}}zzzyyyyz{{{{}}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzz{{}}~{{}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{}}{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{z}}}}}}}}{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~}}~~~}}}}}~~~~~~}}}}}}}}}}{{{{{{~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{zzzzzz{{{{zzzzzzzzz{{{zz{{z{{{{}}}}}}}{{{{{{{{{{zzzzzzz{{{{{{{zz{{{{{zz{~~}}}}}}{{{{{{{{zzzzzzyyyyyyyyyyyyyzzzzzzzzzzyyzzzzzzzzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}}{{{{{}}}}}}}}}{{{yyyyyyyyyyy{{{{{{{}{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}}}}}}}}}}}}}}}}{}}}}}}}}}}}}}}}}}}}}}}}{{}}}{{{{}}}{{{zz{{{zzz{{zzzzz{{{{}}}}}}}}{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzzyzzzz{{{{~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{zzzz{{zzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{zzzzz{{}~~{{{{}}{{{{{{{{{{{{z~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{}}}{{{{{{}}}}}}{}{{{{}{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{zz}}}}}}}}}{{{{{{}{{{{{{}}~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}}}{{{zzzz{{{{{{{{zzzzzzzz{{{zz{{{{{{{{{}}}}}{{{{{{z{{zzzzzzzzzz{{{{zz{{{zzzz{{~~}}}}}{{{{{{{{{zzzzzzyyyyyyyyyzzzzzzzzzzzzzzyyyzzzzzzyyzzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}{{}}{{{{}}}}}}}}}{{{zyyyyyyyyyy{{{{{{}}}~~~~~~~}{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzz{{zzzzz{{{{z}}}}}}}{{zzz{zzzz{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzz{{{{{{~~~~~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzz{{{zz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{zzz{{{{~~{{{{{{{{{{{{{{{{{{zzz~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{}}}}}}{{{{{{}}}}}}}}{{{{}}{{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{}}}}}}~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}~~~}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{z}}}}}}{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~}}}}{{{zzzzzzzzzzzzzzzzzzzzz{{{{zzzz{zzzz~~~}}{{{{{{{zzzzzzzzyyyyyzyyzzzzzzzzzzzzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}{{zzzz{{zz}}}{{{{{{zzzzyyyyyyyyy{{{y}}}}~~~~~~~}{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzz{{{{zzz{{{{zy{}}}}{{{{{{{{{z{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{~~~~~~}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{z{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{zzzzz{{{{{{}}}}}{{{{{zzzz~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}{{}}}}}}}{{{}}}}}}}}}}{{{}}}{{{{{{{{{{{z{{{{{{zzzzzz{{{{{{{{{{{}~}}}}}}{{{{{{{{{{{{{{{{{{{{{}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{z{{zz}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~}}}}{{{zzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzz~~{}}zz{{zzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}{zzzzzzzzzz}{{{{{{zzzzzyyyyyyyyyyyyyy}}}}~~~~~}}{{yyy~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzz{{{{{{{{{{zyy{{{{{{{{{{{{{zz{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{}{{{{}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{zzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{z{{zzzzz{{{{{{}}}}}{{{{{zzzz~~~~~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzz{{{{{{{zz{{{{{{{{{{{~~~~~}}{{}}{{{{{z{{{{{{{{{{{{{{~~~~}}}}}}}}}}}}}}}}~~}}~~~~~}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}}{{{{zz{{{z}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~}}}}}{{zzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzz~{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{zzzzzzzzyyyyyyyyyyy}}}}~~~y}}}}zzyy~~~~~~~~~~~~~~~}}}}}}}}~~~}}}~~~}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}~~}}}}}}}}{{{{{z{{zz{{{{{{{{{{zzyy{{{{{{{zzz{{{zzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{}}~~}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{z{{zzz{{{{{{{{}}{{{{{{{{zzz~~~~~~~}}~~~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{~~~~~~}}{{}}{{zzzz{{{{{{{{{{{{{~~~~~~}}}}}}}}}}}}}}}~~~}~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}}}}}}}}}}{{{{{z{{{z{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~}}{{{{{zzzzz{{{zzzzzzzz{{{{{{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyy}}}}~yyy}}}zzyyy~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~}}}}}}}~~~~}}}}}}~~~~}}~~~~}}~~~~}}}}}}}{{{{{zzzzzzzzzz{{{{zzzzzz{{{{{{zzz{{{zzzzz{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{}}~~~}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{zz{{{{}}}{{{{{{{{zzz~~~~~}}}}~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~{{{{{{{{{zyy{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}~~}}}{{{{{{{{{{}}{{{{{{{{{{{{{{}{{{{{zz{{{{{{}}{{{{{{{{{~~}}{{{{{zz{{{{{{zzzzzzz{{{{{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{zz{{{zzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzyyzz{~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~}}}}}}~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}}}{{{{zzzzzz{zzzzz{{{zzzzzz{{{{{{zzzzz{yyyzzzzzyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{}}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzyyyzzzz{{}}}}{{{{{{{{{zz~~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~{{{{{{{{{{zzz{{zzz{{{{{{{{~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{zzzz{}}{}}{{{{{{{{~~~}}{{{{{{z{{{{{{zzzzzzz{{{{{{{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{zzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{~~~~~~~~~~~~~}}}}}}~~~~~~~~~~}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~}}}}}}}}}}}}}zzzz{{{{{zzzzzz{{zzzz{{{{{{{zzzzzzzyyzyzzzyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{yyy}}}}}}~~~}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~{{{{{{{{{{{{{zzzzzzzzzzyyzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyzzzzzzzzzzzyzzzz{{}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}~~}}}}~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{zzzzzzzzz}}}}{{{~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}{{{{{{{{{{{{{{{{{{}{{{{{{}}}}{{{{{zz}}}}}}{{{{{{{{{~~}{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{zzzzzzzzzz{{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyz~~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}zzz{{{{{{zzzzzzz{zzyy{{{{{{{zzzzzzzyyyyzzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyz{{{{zzzzzzzzyyy}}}}}}~~~~}}}}}{}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{zzz{zzzzzzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyzzzzzzzzzzzzzzz{}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{zzzzzzzzzzz}}}}{{{~~~~~~~~~~}}}}}~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}{{{{{{{{{{{{{{{}}}}{{{{{}}}}{{{{{{}}}}}}}}}{{{{}{{~}}{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{zzzzzzzzzz{{{zzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{y{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}~}}{{{{{{{{{{{zz{{zzzyyyyyy{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyy{{yzzzzzzzzyyy}}~~~{{~~~{{}}}{{{~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyzzzzzzzzzzzzzzzz}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{}}}{{{{{{{{{{{{}}}}}}}}}}}}}}}{{zzzzzzzzzzzz}}}}{{{~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}{{{{{{{}}{{{{{{}}}}{}}}}}}}{{{{{{{}}}}}}}}}}{{{}}}{{}}{{{{{{{{{{{zz{zz{{{{{{{{{{{{{{zzzzzzzz{{{zzzzzzzzzzzzz{{zzzz{{{{zzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{yy{{zzzyyyyyyyyyzzyyyyyyyyyyyyyzzzzzyyyyzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}{{{{{{{{{{zzz{{{zyyyyyyyzz{{{{zzzzzyyyyyyyyyyyyyzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyy}{{~{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~}~}}~~~~~~~~~~{{{{{{{{}}{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyzzz{{{zzzzzzzzzzyy}}}{{{{{{{zzz{{{{{~~~~~~~~~~~~~~}}}~~~~}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{}}{{{{{{{}}}}{}}}}}}}}}}}}}}}}}{zzzzzzzzzzzzzz}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}{{{}}}}}}}{}}{}}}}}}}}}}}}{{{{{{{z}}}}}}}}}}}{{{{{{{}}{{{{{{{{{{{{{{zzz{{{{{}}{{{{{{zzzzzzzz{{{zzzzzzzzzz{{{{{zzzzzz{{zzzzz{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{zyyy{zzzyyyyyyyyyzzzyyyyyyyyzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~{{{{{{{{{{{zzzzz{{zyyyyyyyzz{{{zzzzzzyyyyyyyyyyzzzzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyy{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~}}}}}~~~~~~~}}}{{{{{{{}}}}{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyzz{{{zzzzzzzzzyy{{}}{{{{zzzzzzz{{{{~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}zz{z{{{{{{{{}}}}}}}}}{}}}}}}}}}}}zzzzzzzzzzzzzzzzz{{{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zz}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzz{{{{{}}{{{{{{zzzzzzzzz{zzzzzzzzz{{{{{{{zzzzzzz{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{zzzzzzzzzzyyyyyyzzzyzzzyyyyyyyzzzzzzzzzzzzzzzz{{}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}{{{{{{{{zzzzzzzzzzyyyyyyyyyy{{zzzzzzzyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{y{{{{{{{{{{{}}}}~~~~~~~~}}}}}}}~~~~~~~}}}{{{}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyy{{zzzzzzzzzyy{{{}{{{zzzzzzzzzz{{~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}}~~~}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}zzzzzz{{}{{{}}}}}}}}}{{}}}}}}}}}}zzzzzzzzzzzzzzzzzzzz{{{{}}~~~~~~~~~~~~~~~~~~~~}~~}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzz{}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{z{{{{{{{{}{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzz{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{zzyzzzzzzzzzyyyzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzz{{zzzzyyyyyyyyyzzzzzzzzzzyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyz{{{{{{{{{{{}}~~~~~~~~~}}{{}}~~~~~~~}}}}}{{}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzyy{{{{{{{{zzzzzzzz{{{~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}zzzzz{{}}{~~~}}}}{{{{{{{}}}}}{{{{{zzzzzzzzzzzzzzzzzz{{{{{}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}{{{{{{{z{{}}}}}}}}}}}}}{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{}{{{{{{zzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzyyzzzzzzzzzyyzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{z{{{{zzzzyyyyzzzyyzzzz{zzzzzyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzzzzzzzzzzzzyyz{{{{{{{{{{{{~~~~~~~~~~}}{{{{{~}~~~~~}}}{{{{}}}}}}}}}{{}}{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzz}}{}{{{{{{zzzz{{{{{~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}zzzz{{}{{~~~}}}}{{{{{{{{}}}}{{{{{{zzzzzzzzz{{{zzzzzzz{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{}}{}}}{{{{{{{z{{}}}}}}}}}}}}}{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{zzzzz{{zz{zzzzzzyyy{{{{{}}{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyzz{{zzzzzzzzzzz~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~{{{{{}}}}{{{{{{{{zzzzyyyyzzzzyzzzz{{zzzyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{~~~~~~~~~~}}{{{{{{}}~~~~}}}{{{{{{}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzzzz}}}}}{{{{{{{zz{{{{{~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}zz{{{}}}}}{~~~~}}{{{{{{{{{{{}}{{{{{{zzzzzzzzz{{zzzzzzzz{{{~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{}}{{{{{{{{{{~}}}}}}}}}}}}}{{{{{{{{{{{{}}}{{{{{{}{{{{{{{{{{{zzzz{{{{{{zzzzzzyy{{{{{{}}{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zzzzzzzyyyzzzzzzzzzzzzzzzzyyzzzzzz{{zzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~{{{{{{}}}}{{{{{{{{zzzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzzzzz{zzzzzzzzz{{{{{{{{{{{~~~~~~~~~~~{{{{{{{{}}}}}}}}}}{{{{~}}}}}{}}}}}{{{{{{{{{{zzzzzzzzzzyyyyyyzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzz}}}}}{{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~zz{~}}}}}zzz{{{}}}}}}~~~}}{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{}{{{{{{{{{{{~~}}}}}}}}}}}}}}{{{{{{{{{{}}}}}{{{}}}{}}{{{{{{{zzz{{{{{{zzzzzzzyy{{{{{{{{{{{{{{{zzz{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzyyyyzzyyyyzzzzzzzzzzzzzzzzz{{zzzyyzzzz}}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~{{{{{{{}{}}}}}{{{{{{zzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzz{{zzzzzzzzz{{{{{{{{{{{~~~~~~}~~~{{{{{{{{{{z}}}}}}}}}}}}~~}}}{{{{}}}}}}{{{{{{{{zzzzzzzzzyyyyyyzzyyyzzzyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{zzzzzzz}}}}}{{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~{{zz{}}}}}{zz{{{}}}}}}~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{}}}{{{{{{{{{{{{{{{~}}}}}}}}}}}}}}{{{{{{{{}}}}}}}{{}}}}}}}}{{{{{{zz{{{{{{{zzzzzzzz{{}}{}}{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzzzzzz{{{{{{zzyyyy{{{zzz~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{}}}}}}}}{{{{{zzzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyzzyyyyyyyyyzzzzyyyyyyyyy{{zzz{{{{{{zzzz{{{{zz{{{{{{{~~~~~{}}{{{{{{{{{{{zzzzzz}}}}}}}}}}}}}{{{}}}}}}}{{{{{{{{zzzzzzzzzzzyyyyzzzzzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzz}}{{{{{{{{{{{{{{{{~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~}~}}~~~~~~~~~~~~~~~{{{{{{{}{{}{{{{{{{}}}}}}~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}}{{{}}}}}{{{{{{{{{{{{{{{~~}}}}}}~~}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{{{z{{{{{{{{zzzzzzyy{}}}}}{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{zzzyyy{{{zz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{}}}}}}}}}{{{zzzyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyzzzzyyyyyyyyzzzyyyyyyyyyyyyyzz{{{{{zzzz{{{{{zz{{{{{{~~~~~{{{{{{{{{{{{{{zzzzzzz{{}}}}}}}}}{{{{{}~}}}}}}{{{{{{zzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzz{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~{{{{{}}}{{{{{{{{{{}}~~}}~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}}{{{{{}}{{{{{{~~~~~~}}~~~~}}}}{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{zz{{{{{{{{{zzzyyyyy}}{{}{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyzzzz{{zzzzzzzzz{{{{{zzzzzzz{{{{z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}}}}}}}}zzzzzyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzyyyzzzzzyyyyyyzzzzyyyyyyyyyyyzyyyyyyyyyyyyyzzzz{{{zzzzz{{{{{{{{{{{~~~~~{{{{{{{{{{{{{{{zzzzzyyy}}}}}{}}}}{{{{{~~}}}}}}{{{{{{zzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzz{{{{{{{}}{{{{{{{{{{}}~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~}}}~~~~}}~~~~~~~~~~~~~~{{{{{{}}}{{{{{zz{{{}}~~{~~~}}}}{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}~}}}}}}}}}}}}{}}}}}}}{{{{{~~~~~~~~~~~~}}}}{{{{}}}}}}~}}}}}}}}}}}}}}}}{{{{{{{{}{{{{{{{zzzzyyyy}}{{{zz{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyzzzz{{zzzzzzzzzzz{{zzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}}{}}}}zzzzzzyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzyyyzzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{zzzzz{{{{{{{{{{{~~}}{{{{{{{{{{{{{{{{zzzzzzyyzzz}}{{}}}{{{zz~~}}}}}}}{{{{{{{zzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{}}}}}}}}{{{{{{{}}}}}~}}~~~~~~~~~~}}}}}}}}}}}~~~~~~}}}~~~~}}~~~~~~~~~~~~~{{{{{{{{{}{{{{{{zz{{}~~{{{~~}}}}}{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}~~~~{~~~~~~~~}}{{{{{{{}}}}~~}}}}}~~~}}}}}}}{{{{{{{{{}}{{{zzzzzzzyyyyy{{{zzzzz{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyzz{{{{{zzzzzzzzzzzzzzzzzzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{zzzzyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzyyzzzzzyyyyyzzzzyyyyyyyyyyyyyyyzzyzyyyyyyyzzzyyy{{zzzzz{{{{{{{{{}}}~~}{{{{{{{{{{{{{{{{zzzzzzzzzzz}}{{{{{{zzzz~~~~~}}}}}{{{{{{zzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{}}}}}}}}{{{{{{{}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}~~}}}}~~~~~}}~~~~~~~~~~~~{{{{{{{{{}}{{{{zzzz{{~}{{{~~}}}}}{{{}}}}}}zzzzz{{{{{{{}{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}~~~{{~}}~~~~~~}}{{{{{{}}}~~~~}}}}~~~}}}}}}}{{{{{{{}}}}{{{zzzzzzzyyyyy{{{{zzzzz{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzzyyyyyyyyyyyz{{{{{zzzzzzzzzz{zzzzzz{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyzzzzyyyyyyyyyyyyyyyzzzzyyzzyzzzzzyyyzzzzzzz{{{{{{{{{}}}~~{{{{{{{{{{{{{{{{{zzzzzzzzzzyy{{{{{{zzzz~~~~~~~}}}}{{{{{{{{{{{zzzzyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{}}}}}}}}{{{{{{~~~~}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}{{{{{{}}}{{{zzzzz{{}}{{{{~~}}{{{{{}}}}{{zzzzzz{{{{{}}{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}~~~~~}}}}{{{}}~~~~~~~}}}}~~~~~}}}}}{{{{{{{}}}}}{{zzzzzzzzyy{{{{{{zzzzz{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyz{{{{{zzzzzzzzz{{{zzzzz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{}{{{{{{{{zzzzzzzzzzz{zzzzzzzzzyyyyyyyyyyyyyyzzyyzzzzzzzzzzzzyzzzzzyyyyyyyyyyyyyyzzzzzzyzzzzzzzzyyzzzzz{{{{{{{{{{{}}}}}}{{{{{{{{{{{{}{{{{zzzzzzzzzzyy{{{{{zzz{{{{~~}}}}}}}{{{{{{{{{{{{zzzzyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{}}}}}}}}}{{{{{~~~~}}}}}}~~~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}}}}}}~~~~~}}~~}}}}}{{{{}}}}{{{{{{zz{{}}{{{{{~~}{{{{{}}}}}{{{{zzzzzz{{{}}}{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}{}}}}~~~~}}}}}{{{}}~~~~~~~~~}}~~~~~}}}}}{{{{{{{{{}}}}{zzzzzzzzzz{{{zzzzzzz{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyzzzz{{{{{{zzzzzz{{{zzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzyyzzzzzzzyyzzzzz{{{{{{}}}}}}}}}}}{{{{{{{{{{{}}}{{zzzzzzzzzzzyyyyyyyzz{{{{{{}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{zzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{}}}~}}}}}}}{{{}}~~~}}}}~~~~~~~~~~}}}}}}}}}}}~~~}}}}}}}}}}}}}}~~~}{{}~~}}}}{{{{{{}}}{{{{{{{{{{}{{{{{{{~{{{{{{}}}}}{{{{zzzzzz}}}}}}{{}}{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}}}}}}}~}}}}}}}}}}}}}}}}~~}}}}}}{{{}}~~~~~~~~~}}~~~~}}}}}}}}{{{{{{{{}}}{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzyyzzzz{{{{{{{z{z{zz{{zzzzz{{{{}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyzzzzzzzzzz{{{{{{{{{}}}}}zz}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyy{{{{zzz}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zz{}{{}}~~~}}}}}}}{}}}}~~}}}}~~~~~~~~~~}}}}}}}}}}~~~~~~}}}}}}}}}}~~~~}}}{{~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{zzzz}}}}}}}}}}}}}}}{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}~~}}}}~~~~~~~~~}}}~~~}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}~~~~~~}}}}}}}}}}}}}}}~~}}}}}}}}}~~~~~~~~~~~}~~~~~~~~}}}}}}}{{{{{{{}{{{z{zzzzzzzzz{{zzzzz{{{{}}{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyzzzz{{{{{{{{{{{zzz{zzzz{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}{{{{{{{{{z{{zzzzzzzz{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyzzyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{}}}}}}zz}}}}}}{{{{}}{{{{{{{{{{{{{zzzzzyyyyyyyyy{{{{zzzz}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{}}}}}}~~~}}}}}}}}}}}}~~}}}}~~~}~~~~~~}}}}}}}}}}~~~~~~}}}}}}}}}}~~~~}}}{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~}}}}~~}}~~~~~~~~~}}}~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}~~~~~~~~}}}}}}}~~~~}~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{zzzzzzzzz{{{{{{{{}}}}}}{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{z{{{{{{{{{zzzzz{{zz{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}~~~}}}}}}}{{{{{{{{{{{zzzzzzzzz{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyzzyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{}}}}}}}zz}}}}}}}{{}}}}{{{{{{{{{{{{{zzzyyyyyyyyyyzzzzz{zz}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzz{zzz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzyyyyyyzzz{{{{}}}}}~~~}}}}}}}}}}}~~~~~~~~~~~}}~~~~~}}}}}}}}}}~~~~~~}}}}}}}}}}~~}}}}}{{{~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~}}}}}}}}}~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{zzzzzzzz{{{{{{{{}}}}}{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzyzzyzzzzzzyyyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{zzzzz{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}~~}}}}}}}}}~~~~}}}}}}}{{{{{{{{{{zzzzzzzzz{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyy{{{zzzzzzz{{{{{{{}}}}{}}{{{~~}}}}{{}}}}}{{{{{{{{{{{{zzzzyyyyyyyyyyzzz{{{{{~~~~~}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyzzzzzzzzyyyyyyyzz{{{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}~~~~~}}}}}}}~~~~~~~~~~}}}}}}}}~~~}}}}}{{~~}}}}}}}}}{{{{{{{{}{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{}}}}}}~}}~}}}}}}}}}}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~}}}~~~~}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{}{{{{{{{{{{zzzzzzzzzz{{{{{{{}}}}{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzzzzzzzzzzyyyyyyyyyyzzzzzzz{zz{{{{{{{{{{{{zzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{{{{zzzzzzzzz{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyy{{{{zzzzz{{{{{{{{{~~{{{{{{{~~}}}}{{{{{}}}{{{{{{{{{{zzzzzyyyyyyyyyyzzz{{{{{{~~~}}}}}}}}}}}}}{{{{{zz{{{{zzzzzzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyzzzzzzzzzzzyyzzzzz{{{{}}~~}}}}}}}}}}}~}}}~~~~~~~~~~~}}}~~~~}}}}}}}}~~~~~~~~~~~~}}~}}~~~{{{{{{{{{~}}}}}}}}}}{{}}}}}}}{{{{{{{{{}}{{}}}}}}}}}}}{{{{{{{{{{}~~~~~~~~~}}}}}}}}}}}{{~~{}}}~}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}}~~~}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}{{{{{{{{zzzzzzzzzzzzz{{{{}}{{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzzzzzzzzzyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{{{{zzzzzz{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}}}~~~}}}}}}}}{{{{{{{{{{{{{zzzzzzzzz{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyy{{{zzzzz{{{{{{{{{~~~{{{{{zz~{{{{{{{{{{}{{{{{{{{{{{zzzzyyyyyyyyyyyzzz{{{{}}~~~}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzz{}}}}}}~~}}}}~~}}}~~}}}~~~~~~~~}}}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{{{{~~~~~~~~~~~}}}}}}}}}}}{{{{zzzz}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}}~~~}}}}}}}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}{{{}}}}{{{{{{{{{zzzzzzzzzzzz{{{{{z{{{{{{{{zzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzzzzzzzyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{zzzzzzz{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}~~}}}}}}~~~}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{~{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{zzzzzyyyyyyyyyyyzzz{{}}}}}~~~}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzz{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}~~~}}~~~}}}~}}}}~~~~~~~~}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~zzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{~~~~~~~~~~}}}}}}~~}}}}{{{{zz}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}~~~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~}}~~~~~~~~~~}}}~~}}}}}}}}}~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}{{{{{{{zzzzzzzzzzz}}{{{zzz{{{{{{{zzyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzzyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{zz{{{yyzzzzzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~}}}}}}~~~~}}}}~~~~}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{zz{{{{{{{{{{zzzzzyyyyzzyyzzzz{{{}}}}}~~~}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzz{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}~~~~~~~~~}}}}}}~~~~~~}~~}}}}}}}}~~}}}}}}}~~~~~~}~~~~~~~~~{{zzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}~~}}}~}}}}}}}}{{}}}~~~~~~~~~~~}}}}}~~~~~{{{{{zzz}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{zzzzzzz}}{{{zzz{{zzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyzzyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{zzzyyyyzzzzz{{{}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~}}}}~~~~~~}}~~~~~}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzy{{{{{{}}{{{}{{}}}{{{{{{zzz{{{{zz{zzzzzyy{{{{{{{{{zzzzzzzyyzzzzzz{{{{{}}}}~~}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}~~~~~~~~~~~}}}}}}}}~~~~~}}}}}}}}}}}~~}}}}}}}~~~~}~}~~~~~~}zz{zzyy{{{{{{{{{{~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}}}~~~~{{{{{zzzzz~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~{{~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{}{{{{{{{{{{{{{{{}{{{{zzzzzzzzzzzzzzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyz{{zz{{{{{{{{{zzzzzyyyyzzzzz{{{}~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~}}}~~}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{zzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzz{{{}}}}}}}}}}}}}{{{{{zzzzz{{{zzzzzzzyyyy{{{{{{{{{zzzzzzzzzzzzzz{{{{{}}~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}~~~~~~~~~~~~}}}}}}}}~~~~~}}}}}}}}}}}}~~}}}}}}}~~~}}}~~~~~}}zzzzzyyzz{{{{{{{{~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}~}}~~~~~~~~}}{~~~~~~~~~{{{{{zzzz~~}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~zz{zz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}~~~~~~}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{zzzzzyyzzzzzzz{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}~~}}}{{{}{}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzz{{}}}}}}}}}}}}}}}{{{{{{zzz{{{{yyyyyyyyy{{{{{{{{{{{zzzzzzzzzzzzzz{{{{}}~~~~}}}}}~}}}}}}}}}}}}}}{{{{{{{{{{zzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzz{z{}}~~~~~~~~~~~~~~}}}}}}}}~~~~}}}}}}}}}}}}}~~}}}}}}~~~~}}}~~~~~}}zzzzzyyz{{{{{{{{{~~}}}}}}}}}}}}}}}}}}}}}}}~}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~{{~~~~~~~{{{{{{{zzz}}}}}}}}~~~{{~~~~~~~}}}}}}}}}}}}}}}}}~~{~~zzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}~~~~}}}}~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyzzzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}~~}}}}{}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzyyyyyyyyyyyyyyyyyyyzzzz{{{{}}}}}}}}}}}}}}}zzzz{{{z{{{{yyyyyyyyy{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{}~~~~}}}}~~}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzz{{{{{{{{{{zzzzzzzzzzzzz{{zzz{{{{{{{~~~~~~~~~~~~~~~}}~~~}}~~~~~}}}}}}~~}~}}~~~}}}}}}~~~~~~~~~~~~{zzzzzzzzz{{{{{{{{~~~}}}}}}}}}}}}}}}}}}}}}~~~~}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~{{~~~{{{{{{{{{{zzzz}}}}}}}}~}}{{~~~~~~~~~}}}}}}}}}}}}}}}}}{{zzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}}~~}}}}}}~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{}}{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{}}}}}}}}}}}}}{zzzzz{{{{{zzzzyzyyyyy{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{~~~~~}}}~~~}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzz{{{{{{{{{{{zzzz{{zzzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}~~~~~~~~}}}}}~~~{{~~~~~~}z{zzzzzzzzz}}}{{{{{~~~}}}}}}}}}}}}}}}}~~~}}~~}}}}~}~~~~~~}}}}}}}}}}}~~~~~~~~~~~~{{{{~{{{{{z{{{{{{zz{{{{}}}}}}}{{{~~~~~~~~~}}}}}}}}}}}}}}}}}}{{zzzzz{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~}}}}}}}~~~~}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzz{{{{{{}}}}}{{{zzzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}{}}}}}{{{{{{{{{{{{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{~}}}}}}{{}}}}{{zzzz{{z{{zzzzzzyyyy{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{~~~~~}}~~}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{zz{{zzz{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}}}~~~~~~~~~}}~~~{{{{{~~~~}zzzzzzzzzz{}}}}}}{{{~~}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}~~~~~}}}}}}}}}}}~~~~~~~~~~~{{{{{{{{{zz{{{{{{{{{{{{{}}}}}}{{{{~~~~~~~}}}}}}}}}}}~~~}}}}{{{zzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~}}}}~~~~~~}}}}}}~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz}{{{{{{{}}}}}{{{zzzzzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}{{}}}}}{{{{{{{{{{{{{{zz{{{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{~~~~~~{{{{{{}{{zzzzzzzzzzzzzzzyyyyz{{{{{{{{{{{{zzzzzzzzyyzz{{{{{{~~~~~~}~~}}}}}}}}}}~}}}}}{{{{{{{{zzzzzzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{~~zz~~~~~~~~~~}}~~~~~~~~~~~~~}~~~~}~~~~~~~~~}~~}}{{{{{{{{{}}{zzzzz{{{{{}}}}}}}{~~~}}}}}}}}}}}}}}}}~~~~~}}}}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~}{{{{{{zzzz{{{{{{{{{{{{}}}}}}}{{{{zz~~~~~}}}}}}}}}}}~~~}}}{{{{{zzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}~}~~~~~~}}~~~~~}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzz{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzzz}}{{}}}}}}}}}zzzzzzzzzzzzz{{{{zz{{{}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{}}}{{{{{{{{{{{{{{{z{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{yyyyyyyyyyyyyyyzzzyyyyzzzzzz{{{{{~~~~~{{{{{{{{{{zzzzzzzzzzzzzzzyyyzz{{{{{{{{{{{{zzzzzzzyyyz{{{{{}}~~~~~~~}}}}}}}}}}~~~~}}}}{{{{{{{{zz{zzzzzzzzzzyyyyyyyzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzz{{{{{{{{{{{{{~~~zzz~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{zzzz{{{{{{}}}}}}{{~~~}}}}}}}}}}}}}}~~~~~~~}}}}~~}}~~~~~~}}~~}}}~~~~~~~~~~~~~}}}}}}}{{zzz{{{{{{{{{{{}}}{{}}}}{{{zz}}~~~~~~}}}}~~~}}}~~~}{{{{{{zzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~}}~~~~~~~~}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{}}}{{{{{{{{{zzzzzzz{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzyzzyyyyyzzz}}}}}}}}}}}{zzzzz{{zzzzzz{{{{zzz{{}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{zyyyyyyyyyyyyyyzzzzyyyyyyzz{{{{{{~~~~~{{{{{{zzz{{{{zzzzzzzzzzzzzzzzz}}}}{{{{{{{{{zzzzzzzzyzz{{{{{{{~~~~~~}}}}}}}}}}~~~~~}}}}{{{{zzzz{{{{zzzzzzzzzzzzyzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzz{{{{{{}}{{{{~~~~zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzz{{{{{{{}}}}}{{~~~}}}}}}}}}}}~~~~~~~~~~}}}}~~}}}~~~~}}}~~}}~~~~~~~~~~~~~}}}}}}{{{{{{z{{{{{{{{{{{{}}{{{{{{{{{zz}}~~~~~~~}}~~~~~~~~~~}{{{{{zzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}~~~~~~~}}}~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{}}}{{{}{{{{{zzzz{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzz}}}}}}}}}}{{zzzzz{{{{zzzzz{{{zzz{{}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{zz{{zzzyyyyyyyyyyyyyzzzyyyyyyyzz{{{{{{~~~~~{{{{{{{zz{{{{zzzzzzzzzzzzzzzzz}}}}{{{{{{{{{{{{zzzzzzyz{{{{{{{}}~~~~}}}}}}}}}~~~~~~~}}}{{{{{{z{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzz{zzzzzz{{{}{}{{{{{{{{{{{{{{{{{}}}}}{{{{~~~~zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}~}}}}~}}}}}}}}}~~~~~~~~~~}}}~~}}}~~}}}}}}}}}}~~~~~~~~~~~~}}}}}}{{{{{{zz{{{}}{{{{{{{{{{{{{{{{{zzz}~~~~~~~~~~~~~~~~~~~}}{{{{zzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~}}~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}}}}~~~~}}}}~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzyyy{{zzz}}}}}}}}}{{zzz{{{{{{zzzzzzzzzzz{{}}}{{}{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}{{}{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{z{{zzzzzzzzz{{{zzzzzzzyyyyyyyyyyyyzzzzzyyyyyyzzz{{{zz~~~~~{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz}}{{{{{{{{{{{{{zzzzzz{{{{{{{{{}~~~~~}}}yy}zz{{~~~~~}}{{{{{{{z{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyz{{{zzz{{{{{{}}}{{{{{{{{{{{{{{{{}}}}}}{{{{{~~~{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{}}}}}}}}}}~~~}~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}{{{{{zzz}}}}}}{{{{{{}}{{{{}{{{zzzz~~~~~~~~~~~~~~~~~~{{}{{{{{zz{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}{}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zz{{{{zzzzzz{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{}}}}}}}~~{{{{z{{{{{{{{zzzz{{zzzzz{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{}}{{{{{{{}}}{{{{{{{{{{{{{{{{{{zzzzz{{{{zzzzzyyyyyyyyyyyyyyzzzzzyyyyyyyzzzz{{z~~~~}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz}}}{{{{{{{{{{{{{zzzzzz{{{{{{{{{{~~~~~yyyyyyyz{{{~~~zz{{{{{{{zz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyy{{{{zzz{{{{{{{}}{{{{{{{{{{{{{{}}}}}}}}{{{{{{~{{{}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzz}}}}}}}}}}}}}}}}}}}}{{{zz~~{{{~~zzzz~~~~~~~~{{{{{zzzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{}}}{{}{{~~{{{{{{{{z{{{{{{{{{zzzzzzzzz}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{}}}}{{{}}}}}}{{{{{{{{{{{{{{{{{{{zzz{{{{zzzzzyyyyyyyyyyyyyyyzzzzzzyyyyyyzzzzzzzz}~}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzz{{}}}{{{{{{{{{{{{zzzzzzzz{{{{{{{{zzzzzzyyyyyyyyy{{~~zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{}}}}{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}{{{{{{zzz}}}}}}}}}}}}}}}}}}}}{{{z{{{{{{zzzzzzz~{~~~~{{{{{{zzzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~}}}}}}}}}~~~~~}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyzyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{zzzz{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzz}}{{{{}{{{~{{{{{{{{z{{{{{{{{zzzzzzzzzz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzz{{{{zzzzzyyyyyyyyyyyyzyzzzzyyyyyyyyzzzzzzzzz}}}}}}{{{{{{{{zzzzzzz{{{zzzzz{{{{{{{}}}}}{{{{{{{{{zzzzzzzz{{{{{{{{zzzzzzzyyyyyyyy{yy~~zzz{zz{{{{{{{{{zzzzyyzyzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{}}}}}}}{{{{{{{{}}}}}}}}}}{{{{{{{{{{{~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{zzz}}~}}}}}}}}}}}}}}}}{{zzz{{{{{{{zzzzzzz{{{{{{{{{{{zzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyy{{{{{{{{{{zz{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{zz{zzz{{zzzzzzzzzz{}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}{{{{{{zzzzz{{{zzzyyyyyyyyyyyyyzzzyyzyyyyyyyzyzzzzzzzz{}}}{}}{{{{{{{{zzzzzz{{{{{z{{z{{{{{{}}}}}}}{{}}}{{{zzzzzzz{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzzzzzz{{{{{{{{{zzzzyyyyyzyzzyyyyyyyyyyyyyyyyyyyyyzzzzzzz{z{{{{{{}}}}}}}}{{{{}}}}~~~}}}}}{{{{{{{{{{{}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{}}}~}}}~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~{~{{}}{{{{{{{z}}}~~}}}}}}}}}}}}}}}}{{zz{{{{{{{{zzzzzzzz{z{{{{{{{{zz{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}{{{{{{{{z{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyy{z{{{{{{{{{{{{{{{{{{{{zz{zzzzzzzzyyyyyyyyyyyyyyyyyy{{zzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzzzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{}}}{{{{zzz{zz{{zzzyyyyyzzyyyyyzzzzzyyyyyyyyzzzzzzzzzzzz{{{{{}}}}{{{{{{zzzzzz{{{{{{{{{{{{{{{}}}}}}}{{}}}{{{zzzz{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzzzzzzz{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{}}}}}}}}}}{{{{{}}~~~~~}}}}}{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}~~~~~~}}}~~~~~~{{{{{{{{{{{{{}}}}~~}}}}}~~}}}}}}}}{{{zz{{}}{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}{{{{{{{zz{{{{{{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyzzyyyyyyyyyy{{zzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzz{{{zzzzzzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~}}}}}}}}~}~}}}}}{{{{{{{{{{}}}}{{{{zzz{{{{zzyyyyyyzzzyyzzzzzzzzyzyyyyyzzzzzzzzzzzzzzz{{{}}}{{{{{{zzzzzz{{{{{{{{{{{{{}}}}}}}{{}}}{{{{{{zz{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{}}}}}}}}}}}}{{{}}~~~~~}}}}}{{{{{}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}~~~~~~~}}}}~~~~{{{{{{{{{{{{{{{}~~~~~}~~~~~}~}}}}}}{{{{{{}}}{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}~~}}}}}}~~}}}}}}}}~}}}}}}}~~~~~~}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{zz{{{{{{zz{zzzzzzzzzzzzzzzzzz{zzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzy{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyzzzzyyyyyyyy{zzz{{zzzzzzzzz{{{{{{{{{{{zzzzzzzz{{{{{zzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}}{{{{{{{{{}}}}{{{{zzz{{{{zzzzzzyyzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{}}}}}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyzzzyzzzzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{z{{{{}}}}}}}}}}}}}}}{{}}~~~~~~~}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~}}}}~~}}}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zzz{{{zz{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}~~}}}}}}~~~~~~~}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}{{{{{{{{{{zz{{{zzzzzzzzzzzzzz{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{}{{{{{{{{{{zzzzzzzyyyyzzzzzyyyyyyyyyzzz{{zzzzzzzz{{{{{{{{{{{{{z{{{{{{{{{{{{zzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzz{{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzyyyyyyyyyyyyzzzyyyyzzzzzzzzzzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{}}}}}~}}}}}}}}}~}}~~~~~~~~}}}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~}~~~~~}}}}{{{{{{{}}{{{}}~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{z{{{{{{{}}{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}}}}}}}~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{zz{{{zzzzzzzzzzzzzz{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyy{{{{{{{{{{}{}}{{{{{{{{{zzzzzzzzzyzzzzzzzyyyyyyyyzzzzzzz{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzz{{{{{{{}{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyzzzyyyyzzzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{}}}~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}{{{{{}}}{{{}}~~~~~~~~~~~~~~~~}}{{{{{zzzz{{{{{{{{{{{{{{{}}{{{{{{{{{{{}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{z{{zzzzzyyzzy{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyy{{{{{{{{}}}}}}}{{{{{{{{zz{{zzzzzzzzzzzzzyyyyyyyyzzzzzz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyzyyyzzzzzz{{{{zzzz{zzz{{{{{{{{{{zzzzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyzzzzyyyzz{{zzzzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{~~}}}~~~~~~}}}~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~}}}{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{}}{}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzyyyyyy{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{}{{}}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzyyyyyyyzzzzz{{{{{{{{{{z{{{{{{{{{{{z{{{{zzz{{{{{zzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzz{{{{{{{zz{{zz{{{{{{{{{{{{{zzzzzz{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyzzzzzzz{{{{{{zzzzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{~~~~}~~~~~}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzyzzyyzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zzzz{{{{zzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyzzzzzz{{{{{{{{{zz{{{{{{{{{{{{{{{{{zzzzzzzz{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{}{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyzzzzzzzz{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~}}~}~~~~~~}~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{zzz{{zzzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{}}}}}}}}}}}}}}}}}}}{{{{zzz}}}}{{{{{{{{{{{{zzzzzyyyyyyyyyyzzzzzzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}}{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}}{{{{{{{{zz{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{}~}}}}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzzzzzyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzz{z{{zzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{}}}}}}}}}}}}}}}}}}}{{{{{zzz{}}}}}{{}{{{{{{{{{{zzyyyyyyyyyyzzzzzzzzzzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~}}}}}{{{{{{{}}}}}{{{{{{{{{{{{{zzzzz{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}z{{}{{{{{{{{{zz{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyzzyyzzzz{{{{{{~~~}}}~~}}~~}}}}}}}{{{zzzzzz{zzzzzzzzzzzzzzyyyzzzzz{{{{{{{{{{{}}{{}}{{{{{{{{{{{{{{zzzzzzzzz{{{}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~}}~{{{{{{zzz{{}}}}}}}}{{{{{{{{{{zzyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~}{{}}{{}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}{{{{{{{{}}}}}}}{{{{{{{{{{zzzzzzz{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{}}zzz{{{{{{{{{{{zzz{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyzzzzzyyyzyyyyyyyyyyyyyyyzzzzyyyzzz{{{{{{~~~~~~~~~~~~~}}}~{{{{{zzzzz{{{{{{{zzzzzzzzzyyyzzz{{{{{{{{}}}{}}}}}}}{{{{{{{{{{{{{{{{zzzzzzz{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}~~}}~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzzz{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{}}~~~}}}}}}}~~~~~{{{{{zzzzz}}}}}}}}}{{{{{{{{{zzyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~{{{{{{{{~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~}}}}{{{{{}}{}}}}}}}{{{{{{{{{{zzzzzzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyzzzzzzyyzzyyyyyyyyyyyyyyzzzzzyzzzz{{{{{{~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{}}{{{}}}}}}}}}}}}{{}{{{{{{{{{{{{{{zzzzzzz}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}}}}~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzz{{{{{{{{{{{}}{{{{{{{}}{{{{{{{{{{{{{{{{{{{{~~~~~~}}}}}}~~~~~{{{{{zzzzzz}}}}}}}}}{{{{{{{zzyyyyyyyyyyyzzzzzzzz{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~{{{{{{{}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}zz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}{{}}{{}}}}}}}}}}}}}}{zzzzyzzz{{{{}}}{~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{~~~~}}}~~~~~~~~{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zz{{{{}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~}}}}}}}}}}}~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{z{{{{{{{}}{{{}}{{{{{}}}}{{{{}}}{{{{{{{{{{{{}}~~~~~~}}}}}~~~~~{{{{{zzzzzz}}}}}}}}}{{{{{{zzzyyyyyyyyyyyzzzzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{zzz{{{{{~~~~~~~~~~~~~~~~{~~~~{{{}{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}zzyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}~~~~~~~~~~~~~}}}}}}}}{{{{}}{z}}}}}}}}}}}{{{zzyyyyzz{{{{{{}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{~~~}}}}~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{}}}}}}{{}}}}}}{{{{}{{}}}}~~~~~~}}}}}~~{{{{{{{{zzzzzzz}}}}}}}{{{{{{{zzzzyyyyyyyyyzzzzzzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{zzz{{}{{{~~~~~~~~~~~~~{{{{{}}}{}}}}{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~{{{}}}}}yyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{}zzz}}}}}}}}}{{{zzzyyyyyyy{{{{{{{{}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{}}~{{{}}}~~~~~~{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{}{}}}}}{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}{}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}{{}}}}}}}}}~~~~~~~}}}~~{{{{{{{{{{{zzzzzz}{{{}{{{{{{{zzzzyyyyyyyyyzzzzzzzz{{yyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzyyyzz}}}{{{}}}}}~~~}{{{{{{{{}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{}}{{}zyyyyzyyz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{zz}}}~}}}}{zzzzzyyyyyyy{{{{{{{{~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{zzzzzzyyyyyyyyyyyyyzzzyyyyyyyyyyzzzzyyzzzzzzzz{{{{{}}}{{{}}}}~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz}}}}}{}}}}}}}~~}}~}}}}}}}}}}}}}}}{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{{{~~}}}}}}}}}}}}{{}}}}}}}}~~~~~~~~~~~~~{{{{{{{{{{{zz{{{{{{{{{{{{{zzzzzyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyy{{{}}}{{{}}}}}~~~}{{{{{{{{}}}}}{{{}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}{{{{{{{zzzyyyzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{}~~~~~~}}{{{zzzzyyyyyy{{{{{{{}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{zzzzzzzyyyyyyyyyyyyyyyzzzyyyyyyyyyzzzzzzyzzzzzzz{{{{{{}}{{z{}}}}~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{{}}}}{}}}}~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}}}{{{}}}}}~~}}}}}}}}}{{~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}{{{{{{{{{{{zz{{{{{{{{{{{{{zzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{}}}}}}}~~~}}{{{{{{{{}}{{{{{}}}}}}}}~~~~~~}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}{{{{{{{{{zzyzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}~~~~~~~}~}}}}}}}}}}}{{{{{{}}~~~~~~~{{{{zzzzyyyzzz{}}}}}}}}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{zzzzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{zzzz}}}}~~~}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{}}}}~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}{{{{{{{{{}{{{{{}}}}{{{{~~~~~~~}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{z{{zzzzzzzzyyyyyyyzzzzzyzzzzzzzzzzzzzyzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{}}}}~~~~~}}}}{{{{{{{{z{{{}}}}}}}}}}~~~~~~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}~~~~~~}}}}}}}}}}}{{{{{{{{}}~~~~~~~{{{zzzzzyyzzzzz}}}}}}}}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{zzzzzzzyyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{}}zzz}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{}}~~~~~~~~~~~~~~~}~~}}}}}}}}}{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~}}}}}}}~~}}}}}}{{{{{{{{}}}}{{{}}}}}{{}}~~~~~~~~~}}}}}}~~~~}}}~~~}}}}}}}}}}}}}}~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{yzzzzzzzzzzzzyyyyyzzzzzyyzzzzzzzzzzzzzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{}}}}~~~~}}}}}}{{{{{{{{zz{{}}}}}}}}}}~~~~~~~{~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{zzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}~~~~~}~~}}}}}}}}}}{{}}{{{{{{}~~~~~~~{{{zzzzyyyzzz{zz}}}}}}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{~~~~~~~~~}}{{{{}}{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{zzzzzzyyyyyyyyyyyyyyzzzzzzzyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{}}zzz}}}}{{{{{{{{{{{{{{{{}{{{{zzzz{zzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}}~~~~}}}}}}{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~}}}}}}}}}~}}}~~~~~~~~~~~~{{{{}}{{{{{{{{{{{{{{{{{{yyzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}}}}~~~~}}}}}}{{{{{zzzzzz}}}}{{{{{{~~~~~~~{{{~{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}{{}}}{{{{{}~~{~{{{{{zzzzzyyyyzz{{{}}}}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{~~~~~~~}}{{{{}}}}{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{zzzzzyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyzzzzzzzzzzz{{{{{{{{{{}}zzzz{{}}{{{{{{{{{{{{{{{}}}{{zzzz{{zzzzzz{{{{{{{{{{{~~~{{~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}}{{}{}}}}}}}}}}}}}}}}}~~}}~~~~~~~~~~}~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~{{{{{{}}{{{{{{{{{{{{{{{{{{yyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}{~~}~~~~~}}}}}}{{}{{{zzzzzzz}}}{zz{{{~~~}}}~{{{~{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzzz{{z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~}}}}}}}}}~~~~}}}}}{{{{}}}}{{{{{{zzzzzzzyyyzz{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{~~~~zz~{{{{{{}}}}}{{}}}}{}}}}{{{{{{{{{}}{{{{{{{zzzzzyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyzzzzzzz{{{{{{{{{{{{{z}zzzzz{{{}}{{{{{{{{{{{{{{}}}}{{zz{{{zz{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~}}}}}{{{}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~{{{{{{}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}~~~~~~~}}}}}}}}}}{{{zzzzz{zzzzzzz{{{{{{}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{zzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}{{~~~}}}}}}}}}}}~~~~}}}}}{{}}}}}}{{{{{{{zzzzzyyyyzz{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{~~~~zz{z{{{{{{}}}}}}}}}}}}}}}}{{{{{{{}}}{{{{{{{{zzzzyyyyyyzzyyyyyzzzzzzzzzzzyyyyyzzzzzz{{{{{{{{{{{{{{{zzzzzzz{{{}}{{{zzz{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{zz{{{{}}~~~~~~~~~~~~~~~~~}}}}}{{{}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}}~}}}}}}}~~}}}}}}}}}}}}}}}~~~}~}~~~~}~~}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~{{{{{{}}z}{{zzz{{{{{{{{{{zzzzzzz{{zzzzzzzzzzzzzzzzzzzzz{{{{zzzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~}}}}}}}}}{{{zzzz{{{zzzzzzz{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}{{zzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{~~~}}}}}}}}~}}~}}{{}}}}{{{}{{{{{{{{{{zzzzyyyyyyzzz{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}~}}~~}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{z{{zz{{{{{}}}}}}}}}}}}}}}}}{{{{{{{}{{{{{{{{{{{zzyyyyyyyzyyyyyzzzzzzzzzzzyyyyyzzzzzz{{{{{{{{{{{{{{{{zzzzzz{{{{{zzzzzzzz{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{}}~~~~~~~~~~~~~~~}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~}}~~~}}}}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{zz{{{zzz{{{{{{{{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{{{{zzzzyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}~~~~~~}}}}}}}}}}{{{z{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{zzzzzz{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{~~~~~}}}}~~~}}}}{{}}}}{{{{{{{{{{{zzzzzzzyyyyyzzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{zz{{zz{{}}}}~~~}}}}}}}}}{{{}}{{{{{{{{{{{{{{zzyyyyyyyzzyyyyyzzzzzzzzzzzyyyyzzzzzz{{{{{{{{{{{{{{{{{zzzz{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{zzz{{zzz{{{{{{{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{zzzyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}~~~~}}}}}}}}}}}{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{}{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}zzzzzzzzzz{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}~~~~~~}}}}~~~}}}}{}}}}}{{{{{{z{zz{{zzzzzzzyyyyzzzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}~~~}}~~~~~~~}}}}}}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zzz{zz{{}}}}}~~~~}}}}}}}}}}}}}{{{{}}}{{{{{zzzzzyyyyyzzyyyyyzzzzzzzzzzzzyyyy{{zzzz{{{{{{{{{{{{{{{{{{zzz{{{{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{zzzzzzzz{{{{{{{{zzzzzzzz{{zzzzzzzzzzzzzzzzyyzzzzzzzyzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{~~~~}}}}}}}}}}}{{{{{{zzzzzzzzzz{{{{{{{{{{{}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}zzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~}~~}}}}}}}}}}}{{{{{zzzz{{zzzzzzzyyyyzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}~~}}~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}z}}}{{{{{{{{{{zzzzzzzz{{}}}}}}~~~~}}}}}}}}}}}}{{{{}}}z{{{{{zzzzyyyyyyyyyy{{{zzzzzzzzzzzzyy{{{{zz{{{{{}}{{{{{{{{{{{{zzzzz{{zzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~}}~~}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{zzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzyyzzzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{~~zzzz{{{{}}}}{{{{{yzzzzzzzzzzz{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}zzzzzzzz{{{}}{{~~~~~}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{~~~~~~~~~~}}}}}}}{{}{{}}{{{{{zzzzzzzzzzzzzzyyzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}}}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~~{}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}z}zz}}{{{{{{{{{{{zzzzzzzzzzzz{{}}~~~~~{{{}zz}}}}}}{{{{}zzzz{{{{yyzyyyyyyyyyyyz{zyyyzzzzzzzzyy{{{{{z{{{{}}}}{{{{{{{{{{{{zzzz{{{{{zz{{z{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{}}}~}}~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}}}}}}}}~~~}}~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~}}}}}{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{yyzzzz{{{{}}yy{{{{yyzzzzz{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}zzzzzzzzz{{}}}~~~~~~}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{}}}~~~~~~}}}{{{{{{{{{}}{{{{{zzzzzzzzzzzzzzzyyzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~~~~~~~~~{{{{{~~~~~~~~~~~~~~~~~~~~}}}~~~~~~{{}}zzzz{{{{{{{{{{{{{zzzzzzzzzzzz{{{{~~~~{{{{yzz{{z}}}{{{{zzzzz{{zzyyyyyyyyyyyyyyzzzyyyzzyyyzzzyy{{{{{zzz{{}}}}{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{}}{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~{{z~~~~~~~~}}{}}{{{{{{{{{{zzzzzz{}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyzzyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{yyyzzzz{{{{{yyy{yyyyyyzzz{{{{{{{{{}}{{{{}}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}~~~~~{{{zzzzzzz{}}}}}~~~{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{~~~~}}}{{z{{{{{{}}{{{{{zzzzzzzzzzzzzzzzyzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}{~~{~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~~}}~~~{{{{{{zzzz{{z{{{{{{{{{{zzzzzzzzzzzzzz{{~yyy{{{yyy{{{zz}}{{zzzzzzyyyyzyyyyyzzzyyyyyyyyyyyyyyyyyyyyzz{{{{zzzzzzzzzz{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{}}{{{}}}}{{{{}{{{{{{{}{{}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~zzz~~~~~~{{{{{{{{{{{{{{{{zzzz{{{}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zz{{yyzyyyyzzzzzzz{{{{{{}}}}{{{{{}}}}}}}~~~~~~~~~~}}~~~}}}}}~~~~~~~~~~~~~~~{{{{zzzzzzz}}}}}}~~{{{{{{}}~~~~~~~~}}~~~~~~~~~~~~~~~~{{{{zz}}~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{~~}}zyzzz{{{{{}}{{{{{zzzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}{{{{{{{{~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzzz{zz{{{}{{{{{{{{{{zzz{zzzzzzzzzyyyzzzzyyz{{zzzzzzzzzzzyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyzzzz{{zzzzzzzz{z{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{}}}{{{}}}{{{{}}}{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzz{~~~~~{{{{{{{{{{{{{{{{{{z{{{{{}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{yyzyyyzzzzzzzzzy{{{{{{}}{{{{{}}}}}}}~~~~~~~~~}}}}}~~}~~}}~~~~~~~~~~}}{{{{{zzzzzzzz}}}}}}{{{{{{{}}}}~~~~~~~}}}~~~~~~~~{{~{{{{{{{{{z}~~~~~~~~~~~~}}~~~~~~~}}}{{{{{{}}}{{}}{{{zzzzyyyy{{{{{}}}{{{{{zzzzzzz{zzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzz{{~~~~~~~~~~~~~~~~~~~~~~{{~{{{{{{{{{zzzzzzzz{{{}}}{{{{{{{{zz{{zzzzzzzzzzyzzzzzzzzzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzzzzz{{z{{{{{{{{{{{{{{{{{{z{{{{{{zz{{{{{}}}{{}}}}}{{{}}{{{{{{{{{{{}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzz{{y{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzy{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}{{zz{{zzzzzzz{}}}}}{{{{{{{}}}}}~~~~~~}}}}}}~~~~~}{{{{{{{{{{{{{{~~~~~~~~~~~~}}z}}~~~~~zz{{{{{{}}}}}}}{{{zzzzyyyy{{{{{}}}{{{{{zzzzz{{{{zzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzz{~~~}}~~~~~~~~~~~~~{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{zzzzzzzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{zzz{{zz{{zz}}}}{{{{{{{{{{{{{zz{{{{{zzzzz{{}}}}}}}}}}{{{{}{{{{{}}{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}~~~~~}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}zzzzzyy{{{{{{{{}}{{{{{{{{{{{{{{{{}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{zzzzzzzzzzzzzzzz{{zzyy{{{{{{{zz{{{{{~~}}}}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~{{{{{zzz{zzzz{{{{}}}}{{{{{{{}}}}}}}~~~~~}}}}}}{~~~}}{{{{{{{{{{{{{{~~~~~{{{{{{{{zzzz~~~~zzz{{{{{{{}}}}}}{{{{zzyyyyy{{{{{}}}{{{{{zz{z{{{{{zzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzz{{~{}}~~~~~~~~{~~~~{{{{{{{{{}{zzzzzzzzzzzz{{{{zzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{zzzzzzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{yyyzz{{{z{{{{{{}{{{{{{{{{{{{{{{z{{{{{{zzzzzzz}}}}}}}}}{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzzzy{{{{{{{{{}}{{{{{{{{{{{{{{{{}}}}}}}{{{{{zzzzzzz{{{{zzzzzzzzzzzzyyzzzzzzyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzzzzzzzzzzzz{{yyyy{{{{{{zzz{{}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zz{zzzz{{{{{}}}{{{{{{{}}}}}}~~~~~}}}}}}}{{{{}}{{{{{{{{{{{{{}~~}~{{{{{{{{{zzzz~~{{zzzzzz{{{{}}}}}}}{{{zzyyyyyyyzz}}}}}{{{{z{{{{{{zzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}{{{{{{{{{{{{zzzyy{{{{{}}~~}}~~~~{{{{{{{{{{{{}}}}{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzz{zzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz}}~~}}}}}}{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{zzzzz{{{{{{{{}}}{{{{{{{{{{{{{{{{~~}}}}{{{{{{zzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{yzzzzzzzzzzzzzzz{yyyyyy{{{{{zzz{{}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{zzzz{{{{}}{{{{{{{{}}}}~}}~~~~}}}}{}{{{{{{{{{{{{{}}}{{{}}~}}{{{{{{{{{{zzz{{{{{zzzzzzz{{}}}}}}}}zzzzzzyyyyyzz{{{}}}{{{{{{{{{{{{zzz{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}{{{{{{{{{{{{yyyyyz{{}}}}}}}}~~{{{{{{{{{{{{}}}}}{{z{{zzz{{z{{{zzz{z{{{{{{{{{{{{{zzzzzzzzzz{z{{{z{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{zz{{{{{{{{{{{{{{{{{zz{zzzzzzzzz}}}~~~~}}}}{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{zzzzzz{{z{{{{zz}}}{{{{{{{{{{{{{{{~~}}}}{{{{{{{zzzz{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzzzzzzzzzyyyyy{{{{{{}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzzz{{{{}}{{{}{{{{{{{~~}}}~~{{{{{{{{{{{{{}}}}}}}}}}}{{}}}}}{{{{{{z{{zzzz{{{{{{zzzz}}{{{{}}{{}}zzzzzzyyyyyyy{{{{}}}{{{{{{{zz{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}{{{{}}yyyyy{{yyyyyzzzz}}~~}}}{{{{{{{{{{}}{{}}}}{{zz{{{{{{{{{{{z{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{z{{{{{{{{{{{{{{{{{{zzzzz{{{{zz{{}}~~~}}}}}}{{{{}}}}}{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zzzzzz{{{{z{zzzz}}}}}{{{{{{{{{{{{{~~}}}}{{{{{{{z{zz{{{{{{zzzzzzzzzzzzzzzzzyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{zzzzzzzzzzzyyzzzz{{{{}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{z{{{z{{}}}{}}}{{{{{{~~~{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzz{{{{{{{z{{}}{{{{{{{{{zzzzyyyyyyyyyyyy{}}}{{{{{{{{zz{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}{{}}yyyyyyyyyyyyyzzzzz}~~~{{{{{{{{{{}}}}{{{{}{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{z{{{zzz{{{{{{{{{{{{{{{{{{{zzz{{{{{zz{{}}~~~}}}}}}{{{}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzz{zzzzzzz}}}}{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzz{{zzzzzzzzzzzzzzzz{{{{{}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{zzzz}}}}}}}{{{{~~~~{{{{{{{{{{{{}}}}}}}}}}}}}}}}}~}}}}}}{{{{{zzzzzzz{{{{{{{{{{{}}{{{{{{{yyzzzyyyyyyyyyyyy}}}{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{yyyyyyyyyyyyyyyzz}}{{~{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{z{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zz{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{zz}}{}}}}{zz{{{{}{{{{~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{zzzzzzzzz{{{{{{zzzzzz}{{{{{{{{{{{{}{{{}}}{{{{{{{{{{{{{{{{{{zz{zz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzz{{zzyyzzzzzzzzzzzz{{{{{{}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{zzzz}}}}}}}{{{~{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{zzzzzzzzz{{{{{{{{{{{}}}{{{{zyyyzzyyyyyyyyyyyyy}}}{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~{{}}{{{{{yyyyyyyyyyyyyyyzz{{{{{{{}}{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz}}{{}}}{zz{{{{{{{{{~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzzzzzzzz{{{{{{zzzzzzz{{{}}{{{}}}}}}{{}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyzz{{{yyyyzzzzzzzzzzz{{{{{{}}}}~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{}}}}}}zzzz{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{zzzzz{{z{{{{z{{{{{{{{{}}}{zzyyyyyyyyyyyyyyyyyyy}}}{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}{{{{{{{{{yyyyyyyyyyyyyyyzzz{{{{{{{}}}{{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{}zz{z{{{{{{{{{~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz{zzzzzzzzzz{{{{{z{{zzzz{{{}}{{{}}}}{{{}}}}{{{{zz{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyyzyyzyyyyzzzzzzzyyyyyyyyyzyyyyyyyyyzzzzzzzzyyyyyyyy{yyyyyzzzzzzzzz{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{}{{{{}zzzzz}}{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~}}}}{{{{zzzzz{{{zz{{z{{{{{{{{{}}{{{zyyyyyyyyyyyyyyyyyyy}}}}}{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzyyyyyyyyyyyyzzz{{{{}}}}}}}}{{}}}}}}}}}}zz{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{zzz{{{{{zzzzzz{}}{}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zz{{zyyzz{{{{{{{{{{zz{{{}}}{{{{}zz{{{{}}{{{{{zzzz{zzyy{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyzzyyyyyyyyyyyyyyyzzzzyyyzzzzzzyzzyyyyyyyzzzyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzz{{}{{{{{}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzz}}}}}{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~}}}}{{{zz{zz{{{{zzzyyy{{{{{{{}}}}{yyyyyyyyyyyyyyyyyyyzz}}}}}}}}{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzyyyyyyyyyyyzzz{{{{{}}}}}}}}}}}}}}}}}}}}{zz{{}}}{{{{{{{{{{{{{{}{{{{}}}}{{{{{{{{{{}}{{}}{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{}}}}}}{{{{{{{{{{{{{{{{{{zzzz{{{{{zzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{zzyzz{{{{{{{{{{z{{{{{}}}}}{{zz{{{{}}{{{{{{zzzzzyyy{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzyyyyyyyyyyzzzzzyyyyyyzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzzzz}}}{}}}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzz{}}}}{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~}}}}}{zzz{{{{{{zzzzyzz{{{{z{{}{{}{yyyyyyyyyyyyyyyyyyyyz}}}y}}}}{{{{}}}{{{z{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}{{{{{{{zzzzzzzyyyyyzzzzzzzzz}}{{}}}}~~}}}}}}}~}}}}}}{{zzzz}}}}{{{}}{{{{{{{{}}{{{}}}}}{{{{{{{{}}}{{}}{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{}}}}}{{{{{{{{{{{{{{{{{{{{zzzz{{{{{zzzz{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}~~}}{{{{{{{{zzzz{{{{{{{{{{{{{{{{zzz}}z{{{{{{{}}}{{{{{{zzzyyyy{{{{{{{{{{{{zzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyzzzzzzyyyyyyyzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{zzzzzz{{}}{}}}{{{{{}}}}}}}}}}}}}}}}}~~~~~~{}}}}}zzzzz{{{{zzzzzzzzz{{zzz{{{{yyyyyyyyyyyyyyyyyyyzzyzzzzyy}}{{{{{{}}{{zzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}{{{{{{zzzzzzzzyyyyyzzzzzzzz{}}}}}}}~~~}}}}}}~~}}}}}}}{{zzz}}}}{{}}}}}}{{{{{}}}}}}}}}}}{{{{{}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{zzzzzzz{{{}}}}}{{{{{{{{{{{{{{{{{{{{zzzz{{{{zzzz{{{{{}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}}}{{{{{{{{zzzyzz{{{{{{{{{{{{{zzzz{{{z{{{{{{}}}{{{{{{{zzyyyy{{{{{{{{{{zzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzzzzyzzyyyyzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzz}}}}}~~~}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{zz{{{{{{{{{{{{zzzzzz{{}}{{}{{{{{}}}}}}}}}}}}}}}}}}~~~~}}{{{{{{zzz{{{{{{zzzzzzzzzzzzzzz{{yyyyyyyyyyyyyyyyyyyyzzzzzzzyy}}}}{{{{{}{{{z{z{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}{{{{{{{zzzzzzzzyyyyyzzzzzz{{{{}}}}}~~~~~}}}}~~~~~}}}{{{{{{}}}}}}}}}}}}}}{{{{{{{}}}}}}}}{{{{{}}}}}}}}}}}}{{{{z{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{zzz{{{{{}}}}}}{{{{{{{{{{{zz{{{{{{zzzz{{{zzzzzz{{zz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~}}}}{{{{zzzzzzzyzzz{{{{{{{{{{{zzzzz{{{{{{{{{{}}}{{{{{{zzzzyyy{{{{{{{{{{zzzzzzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzz}}}}~~~}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}zzzz{{{{{{{{{{{{{zzzzzzz{}}zz{{{{{}}}}}}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{yyyyyyyyyyyyyyyyyyyzzzzzzzzz}}}}}{{{{{{{{{{{{{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}{{{{{{zzzzzzzzzyyyyzzzz{{{{{}}}}}}}~~~~~~~}~~~~~~~~{{{{{{{{}}}}}}}}}}}}}{{{{{{{{}}}}}}}{{{{}}}}}}}}}}}}}{{{{z{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zz{{{{{}}}}}}{{{{{{{{{{zzzzz{{{{zzzzz{{{zzzzzz{{zz}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}~~~~~~}}}}}}}}}}}~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~}}}}{{{{{zzzzzyyyyzy{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{zzzzzz{{{{{{{{{{{{{zzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzzzzzzzyyyyyyyzzzzzzzz{{{{zz{z{{zzzz}}}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}zzzzz}}{}{{{{{{zzzzzzzzz{zzzzzz}}}~~}}}}}}}}}}}}}~~~~}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzz{{{yyyyyyyyyyyyyyyyyzyzzzzzzzzzz}}}}{{{{{{{{{{{{{{{{{{{{{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~{}}{{{{{{{{zzzzzzzzzyzzzzz{{{{{}}}}}}~~~~~~~~}~~~~~~~~~{{{{{{{{}}}}}}}}}}}}}}}{{{{{{}}}}}}}{}}}}}}}}}}}}}}{{zzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zz{z{}}zz}{{{{{{{{{{{{zzzz{{{{{zzzzzz{{zzzzzyy{z}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}}}{{{{zzzyyzyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{zzzzzzz{{{{{{{{{{{{{zzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzzzzzyyyyyyyyyyzzzzzz{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzz}}}}zz{{{{zzzzzzzzzyzzzzzz}}~~~~}}}}}}}}}}}}}~~~}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzyyyy{yyyyyyyyyyyyyyyyzzzzzzzzzzzzzz}}}}}{{{{{{{{{{{{{{{{{{{{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}}{{{{{~{{~~~~~~~~~~~~~~~~~~~~}}}}~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zz{{{{{{zzzzzzzzzzzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~{{{{{{{~~}}}}}}}}}}}}}}}}{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{zz{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzz{{zz}}{{{{{{{{{z{{zzzz{{{{{{zzzzzzzzzzzzzyyz}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}}}}{}~~~}}}}}}}{{{zyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{zzzzzzz{{{{{{}{{{{zzzzzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}{{{zzz{{{}}zzz{{{zyyyzzzyyyyzzzzz}}~~~~~}}}}}}}}}}}}~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz}}}}}{{{{{{{{{{{{{{{{{{{{{{zzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}{{{}{{{{{{{{~~{{{{~~~~~~~~~~~~~~~~}~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{}}}}}{{{{zzzzzyyy{zzyyzzzzzzzz{{{{{{{}}~}}}~~~~~~~~~~~~~~~{~{{{{}{}~~}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}~~~}}}}}}}}{{zz{{{{zz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{zzzzzzz{{{{{}{yyyyyyzzzzzzzzz{{{{{{{zzzzzzzzzzzzyyzz}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}}}}}{{{~~~~}}}}{{{{{yyyyyyyyyyyy{{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{zzzzzz{{{{{{}}{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzzzzzzzzzzzzzzzzyyyyyyyyzzz{zz{{{{{{{{{{{{{{{{~~~~~~~~~~~}}~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{zzzz{{{{{{{{{zzzyyzzzzyyzzzzzz}}}}~~~~~~}}~~}}~~~~~}}~}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz~~}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{}}}}{{zzzzzzyyyy{{yyyzzzzzzz{{{{{{{{~~~}}~~~~~~~~~~~~~~~{{{{{}}}}}~~}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}~~~}}}~}}}}{{{{{{{{zz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzzzzzz{{zzyyyyyyyzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}}}}{{{{~~~~~}}}{{{zzzyyzzyzzyyyyz{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{zzz{{{{{}}}}{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyyyyzzzzz{{{{{{{{{{{{{{{{{{~~~~{{~~~}}}~~~~}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zzz{{{{{{{zzzzzzzzzzzzzzzzzz{{}}}}}~~~~~~~~~}~~~~~}~~}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzz~~~}}}{{{{{{{}}}}}{{{{{{{{{{zzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}{{zzzzzzzyyzz{zzzzzzzzzzz{{{{{{~~~~}~~~~~~~~~~~~~~~{zz{{{}}}}}~~}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}~~~~~~~~~}}{{{{{{{{{zz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzzzzzzzzzyyyyyyyyyyzyyy{{{{{{{{{{{{{{zzzzzzzzzzzz~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{~~~~~{{{{{{zzzzzzzzzzyyyzzz{{}}{{{{{{{{{{{{z}}}}{{{{{{{{{{{zz{{{{{{}}}}{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{z{{~~~}}{~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{zz{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{}}~~~~~~~~~~}}}~~~}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyzzyyzyyyyzzzzzzzzzzzzzz{{zzz{{{{{{{}{{}}}}}}{{{{{{{{{{z{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}~~}}}{{}}}}}}}}{{{{{{{{{~{{~~~~~~~~{{{~~~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{}}~~~~}~~{~~~~~~~{{{{{{zz{{}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{}}}}~~~~~{}}}}{{{{{{{{{{{zzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{zzzzzzzzz~~}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzz{{{{{~~~~~zz{{{zzyyzzzzzzzzyyzzz}}{}}{{{{{{{{{{{{z{}}}}{{{{{{{{{{{{{{{{{{{{}}{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzz{{{{{{{{{{{{{{{{{{{{zzz~~}}{{{{~~~~~}}~~~~~~~~~~~~~~~~~~~~~z~{~}}{{{zzzzz{{{{{{{{{zzzzzzzzzzzzzzzz{{{{{{{{{~}~~~~~~~~~}}}}}}}}}}}{{{zzz{{{{{{{{{{{z{{{zzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzz{{zzz{{{{{{{}}}}}}}}}{{}{{{{{{{z{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~yyyy{{~~~}{{{{{{{}}}{{{{{{{{{{{{{~~~~~~~{{{{{}}}}~}}~}~~~~~~~~}}~~~~~~~~~}}}}}}}}}}}}~~~}}}{}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{}}}~~~~{{{{~~~~~~}{zz{{{z{{}}}}}~~}~~~~}}}}}~~}}}}}}}}{{{{{{{{}}}}~~~z{{{}}{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{zzzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzz{{{}}~~~~~zz{{{zzyyzzzzzzzzzzzzz}}}}}{{{{{{{{{{{zz{{}}}}{{{{{{{{{{{{{}{{{{{{{{{yyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyzzz{{{{{{{{{{{{{{{{{{{{zzz~~}}{{{{~~~~~~~~~~~~~~~~~~~~~~~zz~~zz{{}}}{{{zzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzz{z{{{{{}}}~~~~~~}}}}}}}{{}}}}}{{zz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{{{{{{}}}}}}}}}}}}}{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}yyyyyy{{{{{{{{{{{{{{{{{{{{{{{{{{{zz~~~}}{{{{{}}}}}}~~~~~~~~~~~}}~~~~~~~~~}}}}}}}}}}}~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{zz}}}}~}}~}}{{{~~{{~~}}zzzzz{}}}}}~~~~~~~~~}}}~~~~~}~~~}}}{{{{{{{{}}}~~~~zz{zz}{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{zzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}~}}}}}~~~~~~~~~~~~~~~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{zzz{}}}}~~~zzz{{{zzyzzzzzzzzzzzzzzz}}}}}}{{{{{{{{{zz{{{}}}{}{{{{{{{{{{}}}}{{{{{yyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyz}{{}}{{{{{{{{{{{{{{{{z~~~{}{{{{{~~~~~~~~~~~~~~~~~~~~~~~zz~zz{{{{{{{{{zzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~}}}~~{{{{}}}}{{{{{{{{{{{{{{{z{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{{{}{{{}}}}}}}}}}}}{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}yyyyyyyyyyyy{yyy{{{{{{{{{{{{{{{{{{{zzz~~~}{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{z}}}}}~}}}}}{{{{{{}}}}zzzzzz{}}}}~~~~~~~~~~}~~~~~~~~~~~}}}{{{{{{{{}~~~~~zzzzzzz{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{{{{{zzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{zz}}}}}}}}}zzzzzyyyyyzzzzzzzzzzzzzz}}}}}}{{{{{{{{{{{{{{{{}}}}{{{{{{{}}}}}}{{{{{yyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzz{{zzzzzzzzzzzzzyyyyyyyyy}}}}}}{{{{{{{{{{{{{{{{~~{{{{{{{}~~~~~~~~}}}~~~~~}~~~~~zzzzzz{{{{{{{zz{zz{{{{{{{{{{{{zzzzzzzzzz{{zzzzzzzz{{{~~~~~~~~~~}~~~~{{{{}}}zz{{{{{{{zzz{{{{zzzz{{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{{{zzz{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yyyyyyyyyyyyyyyyyyyyyyy{{{{{{{z{{{{zzzzz~~}}{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}~~~~}}}}}}}{{{{{{{{zzzzzzzzzz{{zzzzzz{{{{{{{{}}}~~}~}}}}}{{{{{z}}{zzzzzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{~~~~yzzzzz{{{{{{zz{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{}}}{{{{zz{zzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}~~~}{{{{~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{}}}}}}zz}{{zzzzyyyyyyzyyyyzzyyzzz~}}}}}{{{{{{{{{{{{{{{}{{}}}{{{{{{{}}}}}}{{{zzyyyyyyyyzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzz{{{zzzzzzzzzzzzzyyyyyyyyy}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~}}}}}~~~~}}}~{{zzzzz{{{{{{{{z{{zz{{{{{{{{{{{{{z{{{{zzzz{{z{z{{z{{{{{~}}}~~~~~~~~~{{{{{{{{{zz{{{{{{{zzz{{zzzzzz{{{{zzzz{{{{zzzzzzzzz{{zzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z~~~yyyyyyyyyyyyyyyyyyyyyyyyy{{}{{zzzzzzzzzz{{}zz{{}}}}}}}}}}}}}~~~~}}}}~~~~~~~}}}}}}}}}}}}}~~~}}}}}}}}{{{{{{{{zzzzzzzzz{{{{{zzz{{{{{{{{{{~~~~}}~}}}}}{{{z{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{~~zzyyyzzz{{{{{{{{zzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{z{{{}}}}}{}}}zzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}{{{{{{{zzzyy{~~~~~~~~~~~~~~~~~~~~}}}}{{{{}}}zzzzzz{{{zzzyyyyyyyyyyyyzzyyyzz~~}}}}{{{{{{zzz{{{{{{}}}}}}{{{}}}}}}}}}}}zzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzz{{{zzzzzzzzzzzzzzyyyyyyy}}}}}}}}{{{{{{}}}{{{{{{{{{{{}}}}~~~~~}}}}}}}~~~}}}}}{{{zzzz{{{{{{{{{{{zz{{{}}}{{{{{{{{{{{{zzz{{{{{{{{{{{{{{}}}}}}}~~~~~~{{{{{{{{{{z{{{{{{{{{zzzzzzzz{{{{zzzzz{{{{{{zzzzzzz{zzzzzzzzzz{{{zz{{{{{}}}}}}}}}}~}}}}}}}}}{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}zzzzzzzzzz{{{{{z{}}}}}}}}}}}}}}}}~~~}}}}~~~~~~}}}}}}}}}}}~~~~}}}}}}}}}}}{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{~~~~~}~~}}}}{{{{{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zz~~zzzyyzzyy{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzz{{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}{{{{{{{{zzzz{{~~~~~~~~~~~~~~~~~~~~~}}{{{{{{}{{z{{z{{{{zzzyyyyyyyyyyyzzzyyyy~~~~}}}}{{{{zzzz{{{{{{{{}{{{{{{}}}}}}}}}}zzzzyyyyyyyyyzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyzz}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}~~~~~~}}~~~~~~~}}}}}{{{{{zz{{{{{{{{{{zzz}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~}}}{{{{{{{{{{{{{{{{{zzzzz{{z{{{zzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzz{zz{{{{{{}}}}}}}}{~~~~}}}}}}}{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}zzz{{{z{{z{{{{{{z}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}~~}}}}}}}}~~~~}}}}}}}}}}}}}{{{{zzzzzzzzz{{{{{{{{{{{{{{{{~~~~~~~}}}}{{{{{{{{{{{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{z{zzyy~zzzyyyyyy{{{{{{{{{{{zzzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzzzzz{{{{zz{{}}}}}}}}{{{{{{{{{{{{}}}{{}}~~~~~~~~~~~~~~}~~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{zzzz{~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{z{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyy~~~~}}}}}}{{{zzz{{{{{{{{{{{{{{}}}}}}}}}}{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzz}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{zzz}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{~~~}}}~~~~~}}}}{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{zz{{{{{{{{}}}}}}}}{{~~~~}}}}}}}{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{}}}}{{}}}}}}{{~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}}}}}}}}}{{{{{{{{zzz{{{{{{{{{{{{{{{{{{~~~~~~~}}}}{{{{{{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{zzzzyyyyzzzzyyyyyy{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzz{{}}}}}}}}{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~{{{{{zzz{{{{{{zzzzzzzyyyyyyyyyyyyyyyy}~~~}}{}}}{{{{z{{{{{{{{{{{{{{{}}}}}}~~~}}}{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzz}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}{{{~~~~~~~~~~{~~{zz{{{{{{{{{{{{{{{{{{{zzzz}{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{~~~}}}}~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz{{z{{{{z{{{{{{{{{{{{{{{{{}{{}}}}{}}~~~~}}}}}}}{{{}}}{}}{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{}}}}{{{{}}}z{{{{~~{{{{~~{~~~~~~~}}}}~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~}{{{{{{{{{{{{{{{zzz~~~{{}}~~~~~~~~~~~~~~~~}}}}{{{zzzzyyyzzzzyyyyyy{{{{{{{{{zz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{zz{{{{{}}}}}}{{{{{{{}}{{}}}}}}}}}}~~~~~~~~}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~}}{{{{{zzzz{{{{{{zzzzzyyyyyyyyyyyyzyyy}}~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~}}}{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzz}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{~~~~~~~~~~{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{}}}}}}}}{{{}{{{{{{{{{{{{{{{{{{{{~~~~}}}~~}}}}}}{{{{{{}{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{}}}}~~~~}}}}}}{{}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{zz{{{{{{{{{{{{{{{{{{{}}zzzz{{{{{{{{{{{{{yy~}~~}}}~~~~~~~~~}}}}}{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~}}{{{{}{{{{{{{{{{{z~~~{{}}~~~~~~~~~~~~~~~~~}}}}{zzzzzz{{zzzzyyyyyyz}}{{{{{{zz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{z{{{{{{{}}}}{{{{{}}}}}}}}}}}}}}z{{zz~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{}}zz{{{z{zzzzzzzz~~~~~~~~~~~{~~}~~~~}}}{{{{{{zzzz{{{{{{{{zzzzyyyyyyyyyyyzzzz}}}}}}{{{{{{{{{{{{{{{{{{{{{{}{{}}}~~~~~~}}{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzz}~~}~}}~~~}}}}}}}}}}}}}}}{{}}{{{{{~~~~~}}{{~{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{}}}}}}}}{}}}}}}}}{{{{{{{{{{{{{{{~~~~~~~~~}}}}}{{{zzz}}{}}}{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{}}}}~~~~~}}}}}{{{{{{{{~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zz{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{}{}}zz{{yy}}~~}}}~~~~~~~~~}}}}{{{{{{}}{{{{{{{{{{{{{}}{{{{{{{}{{{{~~~~~~~~~~~}}{{{}}{{{{{{{{{{{}}~~{{{{{{~~~~~~~~~~~~~~~}}}}{zzzzzz{{zzzzzyyyyyzz}}}}z{{zzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{}}~}}}{{{{{z}}}}}}}}}}}{{{zz{zzz~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}{{{zz{{{{zzzzzzzzzzz~~~~~~~zz{{{{}}~~~}}{{{{{{{zzzz{{{{{{{{zzzzyyyyyyyyyyyzzzz{{}}}{{{{{{{{{{{{{{{{}}}{{{{}}}}}}~~}}~~}}{{zzzzyyyyzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyz}}~~~~~~~~~~~~~~}~~~}}}}}}}}}}{{{{{}}}~}}}{{{{zz{{{{{{{{{{{{{{{zzz{{{{{{}}}{{{}}}}}}}}}}}}}}}}}{{{{}}{{{{{{{{~~~~~~~~~~}}}}}{{zzz{}}}}}}}}{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{}}}}}~~~~}}}}}}{{{{}}}~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{zzzzz{{{{{{{{{{{{{{{{zzzz{{{{}}}{{zzyyy}}}}}}}~~~~~~~~~}}}}{{{{{{}}{{{{{{{{{{{{}}}{{{{{{}}}{{{~~~~~~~~~~~}{{{{{{{{{{{{{{{{{}}~~{{{{{{{~~~~~~~~~~~~~~~}}}{{zzzzzzzzzzzzzyyyyzzyy}}zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{}}~~}}{{{{{zz}}}}}}}}}{{{zzzzzzz{{~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{zz{{{{zzzzzzzzzzzz~~}}~~zzz{{{}}~~~}}{{{{{{{zzzz{{{{yyyy{zzyyyyyyyyyzzzzzzz{{}{{{{{{{{{{{{{}}}}}}}}{{{}}}}}}}~~}}{{{{{zzzzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{zzzzzzzz}~~}~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{}{{}}{{{zzzzz{{{{{{{{{{{{{zzz{{{{{{{}}}{{}}}}}}}}}}}}~}}}}{{{{{}{{{{{{{{~~~~~~~~~~~~}}}{{{zz{{}}}}}}}}{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{}}}{{}}}}}}}}}{{{}}}}}}}~}}}}~~~~~}}}}}}}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzz{{{{{{{{{{{{{{{{zzzzz{{{{}}}{{zzzyyyzz}~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{}}}}{{{{{}}}}{{{~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{}{{{{{{{~~~}}~~~~~~~~~~}}}{{{zzzzyyzzzzzzzzyyyyyyyy}zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{~~~~}}{{{{{}}}}}}}}}}}{{zzzzzzzz{{~~~~yy{}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{zzz{{{zzzzzzzzzzzz{{}}}{{zz{{{{{}}}}}{{{{{{{{zzzzzz{yyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~}{{{{{zzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyy{{{{zzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzyyzzzzzzz{{{{zzzz{{{zzzzzzz{{}}}~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{zzzzzzz{{{{{{{{{{{zzzz{{{{{{{}}}}}}}}}}}}}}}}~~~}}}}}{}}}{{{{{{{{~~~~~~~~~~~~~}}{{{{{{{{}}}}}}}}{{{{{{{{{{zzzzz{zzzz{{{{{{zz{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}~~~~~}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzz{{{{{{{{{{{{{zzzzzzzz{{}}{}}{{zzzzzyyzz~~~~~~~}}~~~~~{{{{{{{{{{{{{{{{{{{{{}}}}}{{}}}}}}}}}}}~~~~~~~}}}}{{{{{{{{{{{{{{{{{{}{{{{{}}}~}}}~~~~~~~~~{{}{{{{zzzzyyyzzzzzzzyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{}}~~~}}}{{{{{}}}}}}}}}}{{{zzzzzzzzzzz~~~yy{{}~~}}}}}{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{z{{zzzzzyyzz{{y{{{{{z{{{{{}}}{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}~~~~~}}{{{{{{zzzzzzyyyyyzzzyyyyyyzzzyyyyyyyyyy{{{{{zzzzzz{{{{{{{{{zzzzzzzzzzz{{zzzzzyyzzz{z{{{{{{{zzzz{zzzzzzz{{{{}}}}~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{zzzzzz{{{{{{{{{{{{zzzzz{{{{{{}}}}}}}}~}}}}}}~~~~}}}}}}}}}{{{{{{{{{}}~~~~~~~~~~~}{{{{{{{{{}}}}}}}}}}}{{{{{{{zzzz{{{{z{{{{{{zz}}{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{zzz{{{{{{{{{{{{{zzzzzz{{}{}}{{{{{{zzzzyyz}~~~}}}}}}}~~~~{{{{{{{{{{{{{{{{{{{{{}}}}}}{}}}}}}}}}}}}~~~~~~}}}}}}}{{{{{{}}{{{{{{{{{zz{{}}}~~}}~~~~~~~~y{{{{{{{yzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{}}{{}}}}}~~}}}}{{{{{{}}}~~}}}{{{{zzzzzzzzzzzzzzy}}}}}}}{}}{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{z{{zzyyyyyyyyyy{{{{{{{{{{{{}}{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{}}}}{{}}}}}}}}}}}}}}}}}}~~~~~}}{{{{{{zzzzzyyyyyyyzzyyyyyzzzzzzyyyyyyyzz{{{{zzz{{{{{{{{{{{{{zzzzzzz{{{{{{{zzzzyzz{{{{{{{{{{{{{zzzzzzzz{{{{{}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{zzzz{{{{{{{{{{{{{zzzz{{{{{{}}}}}}}}~~~}}}}}~~~~~~}}}}}}}}{{{{{{{{}}~~~~~~~~}}}}{{{{{{{{{}}~~}}}}}}}}{{{{{{zzzzz{{zz{{{{{{zz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}~~~~~~}}}}}}}}}}{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zz}}{{{{{{{{{{{{{zzzz{{}}}}{{{{zzzzzzzz~}}}}}}}}}}}}~~~{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}{{{{{}}}}{{{{{{zzz{{}}~~~~~~~~~~~~yyy{{{{{{yyyyzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzz}}}}}}}}}}~}}}}}{{{{{{}}~~~}}}{{{{{{{zzzzzzzzzzzz}}}}}}~{{zz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{zzzzyyyyyyyyyy{{{{{{{{{{{{{{}}}{{{{{{zzzzzyyyyyyyyyyzyyyyyzyyzzzzzzzzzz{{z}}}}}{{}}}}}~~}}}}}}}}}}}~~~~~~}{{{{{{zzzzyyyyyyyyzzzyyzzzzzzzzzzzzzzzzz{{{zzz{{{{{{{{{{{{{{zzzzz{{{{{{{{{zzzzyyy{{{{{{{{{{{{{{zzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}{{{{{{{{{{zzz{{{{{{{{{{{yzyy{{{{{{{}}}}}}}}~~}}}}}~~~~~~}}}}}}}}{{{{{{{{{{{~~~~~~~~}}}}{{{{{{{{{}}~}}}}}}}}zzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}~~}~}}}}}}~}}}}}~~~}}}~~~~}}}}}}}}}}{{{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~y{{{{{zzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zz}}{{{{}{{{{{{{{zzzz{{}{{{{{zzzzzzzzzz~~~}}}}}}}}}}~~}}{{{{{{}{{{{{{{{{{{{}}}}}}}}}}~}}}}}}}}~~~~~~~~}}}{}}}}{{{{}}}}}{{{{{zz{}}}}~~~~~~~~~~~~yyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{zzzzz}}}}}}}}}}}}}}}}{{{{{{{{~~{}}{{{{{{{{zzzzzzzzzzzzzz}}}~~~{zz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{zzzzzyyyyyyzzyy{{{{{{{{{{{{{{{}}}{{{{{{zzzzyyyyyyyyyyzzzyyyzzyyzzzzzzzzzzzzz}}{{{{{{}}}}~~~~}}}~}}}}}~~~~~{{{{{{{{zzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{zzz{{{{{{{{{{{{{{zzzz{{{{zzz{{zzzzyyyy{{{{{{{{{{{{{{{{zz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}{{{{{{{{{{{zz{{{{{{{{{{{yyyyy{{{{{{}}}}}~~~~~~~}}}~~~~~~~}}}}}}}{{{{{{{{{{{{{~~~~~~~}}}{{{{{{{{{}}{{{}}}}}}}zzzzzzzzzzzzzzz{{{{{{{{{}}}}}}~~}}}}}}}~~~~}}~~~~~}}{{}}~~~}}~~~~}}}}}}}}}{{{{{{{{{{zz}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~yy{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}}}{{{{{{{{{zz{}}{{{{{zzzzzzzzzzz~~}}}}}}}~}}}}}}}{{{}}}}}}}}}}}{{{}}}}}}}}}}~~~}}}}}}~~~~~~~~~}}}{{}{}}}{{}}}}}{{{{{zz}}}}~~~~~~~~~}}~~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz}}{{{{z{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzyyyyyyzzzz{{{{{{{{{{{{{}}}}}{{{{{{zzzzzyyyyyyyyyyyzyzzzzyzzzzzzzzzzzzzzz}{{{{{{}}}}~~~~~}~~}}~}}~~~~}{{{{{{{{zzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{}{{{{{{{{{zzzz{zzzzz{zzzyyyy{{{{{}}{{{{{{{{{{zz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyzz{{{{{}}}}}}~~~~~~~~}}}~~~~~~}}}}}}}{{{{{{{{{}{{{{~~~~~~~}}{{{{{{{{z}}{{{{}}}z}yyyyzzzzzzzzzzz{{{{{{yy{{{}~~~~~~~~~~~~~~~~~}~~~~~~}}{{}}~~}}}}~~~}}}}}}}}}}}}{{{{{{{zz}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}~}}}~}}~~~~~~~{~~zzyy{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{}}}{{{{{{{{{{{{}}{{{{{zzzzzzzzz{{{~~~}}}}~~}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}}~~~}}}}}}~~~~~~~~~~}}zzz{{}}}{{{}}}}{{{{{{{{}}~~~~~~~~~}}}}yyyyyyyyyyyyyyyyyzzyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzz}}{{{zzz{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}{{zzzzzzzzzzyyyyyyzzzzz{{{{{{{{{{{{}}}}}{{{{{zzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{~~}}~~~~~~~~~~~~~~~~~~~}}}{{{{{zzzzzyyyyyzzzzzzzzzz{{zzzzzzzzzzzzz{{{{{{{{{{{}}{{{{{{{{{zzzzzzzzzzzzzyyyzz{{{{}}}}{{{{{{{{{{zz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{}}{{{~~~~~~~~}{{{{{{{{zzz{{{{{{zzzyyyyyyyyzzzz{{z{{{{yyyyy{{}~~~~~~~~~~~~~~~~~~~~~~~}}{{{}}}}}}}}~~~}}}}}}}}}}}}}{{{{{zzz}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}}}}}~~~~{{{{zzzz{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}}{{{{{{{{{{{{{}}{{{{zzzzzzzz{{{{}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}~~}}}}}}}~~~~~~~~{{{{{zz{{{{{{{{}}}}{{{{{{{{}}~~~~~~~~zzzyyyyyyzyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyzzz}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzz{{zzzzzzzzzzz{{zzzz{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}~~~}}}{{zzzzzzzzyyyyyyyyzzzzzz{{{{{{{{{{{}}}}}{{{{{{zzzzzyyyyyyyyyyyyzzzzzz{{{{z{{{{{zzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzyyyyyyzzzzzzzzz{{zzzzzzzzzzzzzz{{y{{{{{{}}}}}{{{{{{{{zzzzzzzzzzzzyyyzz{{{}}}}}}{{{{{{{{{{zzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~}}}}{{}}{{{{{}}}}{~~~~~~~~~}{{{{{{{{zz{{{{{{{yyyyyyyyyyyyyyy{{{{{{zyyyyyzz~}~~~~~~~~~~~~~~~~~~~zz}}}{{{{~}}}}}}}~}}}}}}}~~}}}}}}}}{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}~~~~{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{zzzzzz{{{{{}}~}}}}}}~~~~}}}}}}}}}}}}}}}}}}}{{{{{{}}}}~~~~}}}}}}~~~~~~~{{{{{{y{{{{{{}{{}}}}}{{{{{{{}}~~~~~~{~zzyyyyyyzzyyyyyyyzyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzzzzzzzzzzzzzzz}}}}}~~}}}}}}}}}}}}}{{{{{{{{{{{zz{{{zzzz{zzz{{{{{{zzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}~~}}}~~~}}}z{zzzzzzzyyyyyyyyzzzzzzz{{{{{{{{}}{}}}}{{{{{{{zzzzzzyyyyyyyyyyzzzzzz{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzzzzyyyyyzzzzzzzzzzzzzz{{zzzzzzzz{{yy{{{{{}}}}}}}}{{{{{{zz{{zzzzzzzzyyyzz{{{}}}}}}}{{{{{{{{zzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{}}}}}~~~~~~~~~}{{{{{{{{zz{{{{{zzyyyyyyyyyyyyyyy{{zzzzzzyyyyz~~}}}}}~~~~~~~~~~~~~~~zzzz{{{{{~~}}}}}}}}}}}}}~~}}}}}}}}}{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{zzzzz{{{{{{zzzzzzzzz{{{{{}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{}}}}~~~~~~~~~~~~~~~~{{{{zzyy{{{{{}}{{}}}}{{{{{{}}}}~~~~~~{{yyyyyyyyzzzyyyyyyzzyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyzzzzzzzzzzzzzzz{~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{zz{{{{zzzzzzz{{{{{yyzzz{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}~}}~~~~~{{zzzzzzzzzzyyyyyyyyyzzzzz{{{{{{{}}}}}}}}{{{{{{{zzzzzzzzyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{zzzzzzzzyzzzzzzzzzzzzzyzz{{{zzzzzzz{{yyy{{{{}}}}}}}}{{{{{{zz{{{zzzzzzzyyzzzz{{{}}}}}}{{{{{{{{{z{{z{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzz{{{}}}}}}}}}}~~~~~~~}~~~~}}}}}}}}}}}}}}{{{}}~~~~~~~~~~~{{{{{{{{{{z{{{{{{{zzyyyyyyyyyyyyyyyzzzzzzzzyyyyyz}}}}}~~~~~~~~~~~~{~~zzzz{{{{~~~}}}}}}}}}}}}}~~}}}}}}{{{{zzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{zzzzzz{{{{{zzzzzzzz{{{{{{{}}}}}~~~~~~~}}}}}}}}}}}}}}}}}{{zzz{{{{}}}~~~}}~~~~~~~~~~{{{{{zzyyy{{{{}}{{{}}}{{{{{{}}}}}~~~{{{{yyyyyyyyyyzzyyyyyzzyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyzzzzzzzzzzzzzzz{{~~~~~~~~}}}}}~~~}}}}{{{{{{{{{{{{{{{{{zzzzzzz{{zyyzzzzzz{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}~~~~~~~~{{{{{zzzzzzzyyyyyyyyyyzzzzz{{{{{{}}}}}}}}}{{{{{{{zzzzzzzyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}}}{{{zzzzzzzzzyzzzzzzzzzzzzyyyzzzzzzzzzzzzzyy{{{{{{~~}}}}}{{{{{zz{{{zzzzzzzzyyyzz{{{{}}}}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{}}}}}}}}}~~~~~~~}}}~~~}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{yyyyyyyyyyyyyyyyyyzzzzzzzyyyyyzz}}}}}~~~~~~~~~~{{{{zzzz{{}}}~~~}}~~}}}}}}}~~~}}}}}}{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}{{{{zz{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{}}}{{{{{{{{{{{{zzzzzzzz{{zzzzzzzz{{{{{{{}}}~}}~~~~~~~}}}}}}}~~~~~~~~}}{{zzz{{{}}}~~~~}}}~~~~~~{{{{{{{zzzyy{{{{}}{{{{}}}{{{{{}}~~~{~~~{zzzyyyyyyyyyyyyyyyyyyzyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyzzzzzzzzzzzzzz{{~~}}}~~~~~}}}}~~}}}}}}}}}{{{{{{{{{{{{{zzzzz{{{zzzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}{~~~~~~~{{{zzzzzzzzzzyyzzyyyyyyzzzzz{{{{{}}}}}}}}}}{{zzz{{zzzzzzyyyyyyyyyyyyyyz{{{{{{{{{{{{{{}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}{{{zzzzzzzzyyyyzzzzzzzzzzyyzzzzzzzzzzzzzzzz{{{{{~~~}}}}{{{{{zzz{{zzzzzzzzzyyyyz{{{{}}}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzz{{{{{{}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{~~~~~~~~~~~~~}{{{{{{{{{{{{{{{yyyyyyyyyyyyyyyyyyyyzzzzyzzzzzzzzzz}}}}~~{{{zz~~{{{{{{zzz{{}}}~~~~~~~~}}}}}}}~~~}}}{{{{{{{zzz~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}}{{{{zz{{zzz{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz}}}}}}{{{}}}}}{{{zzzzzzzzzzzzzzzzz{{{{{{{}}~~~~~~~~~~~~}}}}}}}~~~~~~~}{{{zz{{{{}}}~~}}}}}~~~~~~{{{{{zzzzzzz{{{{}{{{{{{{{{{{{}}}~~{{zzz{zzzyyyyyyyyyyzzyyyyyzzzyyyyz{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyzzzzzzzzzzzzzzy{{{}}}}~~~}}}}}}~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}}}{~~}}~~~{{zz{zzzzzzzzzzzzyyyyyzz{{{{{{{{{}}}}}}~}}}zzzzz{{{zzzzzyyyyyyyyyyyyyzz{{{{{{{{{{{{{}}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{zzzzzzyyyzzzzyyyzzzzzyyzzzzzzzzzzzzzzzz{{{{~~~}}}}}{{{{{z{{{{zzzzzzzzyyyyyyyyzz}}}}}}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{}}}}}}{{{{zzzzzzz{{{{{{{}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz}}}{~~{{{zzz~{{{{{{{zzzz}}~~}~~~~~~~~{}}}}~~~}}}{{{{{{{{zzz~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~}}}}{{{zzz{{zz{{z{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}{{}}}}}{{{{zzzzzzzzzzzzzzzzzz{{{zz{}}~~~~~~~~~~~~}}}}}}~~~~~~~~{{{{{{{{{{{}~~~}}~}}~~~~}}{{{{zzzzzzzz{{{{{{{{{{{{{{zzz}}}~~zzzzzzzzyyyyyyyyyyzzzzzzzyzzzyyyyy{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzyyyyzzzzzzzzzzzzyyy{{}}}}}~~}}}}}}}}}}}}}{}}}}}{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzz{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}~~~}}}}}{{{{{{zzzzzzzzzzyyyyyyzzz{{{{{y{{}}}}~~~~~}zzzzzzzzzzzzzyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{}}{{{{{{~~~~~~~~~~}}~~~~~~~~~~{}}}zzz{zzzzzzzzzzzzzyyyzzzzzzyzzzz{{{{{zzzzzzzz{{{}}}}}}}}{{{{{{{{{zzzzzzzzyyyyyyyyyzz}}}}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}zzz}}}}}{{}}}}}{{{{{{{{zzz{{{{}{{}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{zzz{{{{{{{{{yyy}}~~}}~~~~~~z{{}~~}}{{}{{{{{{{{{{zz~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}{{{zzzyyz{{zzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{zzz}}~~~~~~~~~~~}}}}}}}~~~~~~~}{{{{{{{{{{{~~~~}~~}}}~~~}}{{{{{zzzzzzzz{{{}}{{{{{{zzzzz{{}~{zzzzzzzyyyyyyyyyyyzzzzzzzzzzzyyyyyy{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzzzyyzzzzzzzyyzzzzyyyyy}}}}}}}~~~}}}}}}}}}{{{}}}}}{{{{{{{{{{{{{{{{{{zzzzzz{{zzzzz{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}~~~~}}}}{{{{{zzzzzzzzzzzyyzzzz{{{{{{{{yy{{}~~~~~~zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{}}~~~~~~~~~}}}~~~~~~~~~{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzz{{}}}}}}}}{{{{{{{{{zzzzzzzzzyyyyyyyyy}}}}}}}}}}}}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~zz}}}}}{{}}}}}{{{{{{{{zzz{{{{}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}~~~~}}}}}~~~~~~~}~~}}}}}}}}}{{}}{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{zzz{{{{{{{{{{{yyyy}~}}}{~~~~zzzz~~~}}{{{{{{{{{{{{{{}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}{{{{{zzyy{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}{}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz}}}~~~~~~~~~~}}}}}}}}}}}~~}}}}{{{{{{{{{~~~~~~~~}~~~}}}{{{{{{{zzzzzzz{{}}{{{{{{zzzzz{{zz{{{zzzzzzyyyyyyyyyzzzzzzzzzzzzzyyyyyy{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzyyyyyyyyyyyyzzz{}}{~~{{{{}}}z{{{}}}}}}{{{{zz{{{{{{{{{{{zzzzzzz{{{{{{zz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}}}}}{{{{{zzzzzzzzzzzzyyzzzz{{{{{zyy{{{~~~}}}}zzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zz{{{zzzzzzzzz{}}~~}}}}{{{{{{{{{zzzzzzzzyyyyyyyzy}}}~}}}}}}}}}}}}{}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~}}~~~}}}}}}{}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{zzz{{{{y{{yyyyyyy}}}}}{{{~~~zz}}~~~}}{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}{{{{zzzzy{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}{{{{{{{{{{{{{{{zzzzz{{{{{zzzzzzzz{{{{{{{{}}}~~~~~~~~~}}}~~~}}}}}~}}}}}}{{{{{}}~~~~~~~~~~~~~}}}}{{{{{zzzzzzzzz{}}}}{{{{{{{zzzzzz{{zzzzzzyyyyyyyyyzzzzzzyyzzzzzzyyyyyy{{{{{zzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzzyyyyyyyyyyzzz{{{{{{{{{{zzzzz{{{}{{}}{{zzzz{{{{{{{{{{zzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}}}}}}{{{{{{zzzzzzzzzzzyyyzzz{{{{zzzz{{~~~}}}}}zzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzz{{{{yyy{{{{{{}}}}}}}~~~~~~~~~~~~~~~~{}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzz{{}}~~~~}}}{{{{{{{{{{{zzzzzzyyyyyyzzzz~~~~~}}}}}}}}}}{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~{{{~~{}yyyyz}}{{{{{}}}}{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~}}~~~~}}}}}}}~~}}}}}}}}}}{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{z{{{{yyyyyyyyy}}}}}}{{{zz{{{}}{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}~~}{{{{{zzzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzyzyyyyyyyyyyyyyyyyzzy{{{{{{{{{{{{{{{{{{{zz{{{{{{{zzzzz{{{{{{{{{{}}~~~~~~~~~}}}~~~}}}}}}}}}}}{{{{{{}}~~~~~~~~~~~~}}}}{{{{{{{zzzzyyyy{{}}}}{{{{{{{{zzzzyyzzzzzzyyyyyyyyyyzzzzzyyzzzzzzyyyyyyy{{{{zzyyyyyyyyyyyyyyyyyyyzzzyyyyzzzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzzzzzyyyyyyzzz{{{}}{{{{{{zzzzz{{{{{{zz{{zz{{{{{{}{{{{{zzzzzzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{}{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{z{{zzzz~~~~}}}}{zzzzzz{{zzzzzzyyyyyyyyyyyyyyzzzzzzzz{zzzyyyyy{{{{}}}}}}}}~~~~~~~~~~~~~~{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzz{{}}~~}}}}}}{{{{{{{zz{{{zzzzzzyyzzzzzz~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}~~{{{{{{yyyyyzz{zzz{~~}}{{{{{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{z{yyyyyyyyyyy}{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzyyzzzzzzyyzyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{zz{{{{{{zzzzzz{{{{{{{{{}}}}~~~~~~~~~}~~~}}}}}}}}}}}}}{{{{{}}~~~~~~~~~~~~~}}{{{{{{{zzzzzyyy{{{}}{{{{{{{{{{yyzyyyyyzzzyyyyyyyyyyyzzzzzyyyzzyzzzyyyyyy{{{{zzzzzzzyyyyzzzzyyyzzzzzzyyyzzzzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyy{{zzzzzzzzzzzzzzzzzzzzyyyyyyyzz{{{}}}}{{{{{zzz{{{{{{zzzzzzz{{{}{}}{{{{{z{{{{zzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{zzzzzz{{~~{{{{{{{zzzzz{{zzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyy}{}}~~~}}~~~~~~~~~~~~~}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzz{zzzz{{{{}~~}}}}}}{{{{{{zzz{{zzzzzzzzzzzzzz~~~~~~}}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~{{{{{yyyyyzzzzzzzz~~}}}}{{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}~~~~}}}}}}}{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{zzyyyyyyyyyyyy{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyzyyzzzzz{{{{{y{zz{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}{{{{{{zzzzzzzz{{{{}}{{{{{{{{{{yyyyyyyzzzzyyyyyyyyyyzzzzzzyyyyyyyzzyyyyyyzz{zzzzzzzzyyyyzzzzyyyzzzzzzyyzzzzzzzzyyyyyyyzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyyzyyyyyzz}{{}}}}{{{{zz{{{{{{{zzzzz{{{{}}}}}{{{{{{{{{{zzzzz{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{zzzzzz{{~{{{{{{{{zzzzz{zzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyy}}}}}~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzz{{{{zz{{{{{~~}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzz{{}}~~}}}~~}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~}}}}{{{{{{yyyyyzzzzzzzzzz}}}}{{{{{{{{{}}}}}}~~~~}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}~~~}}}}}}}}}~~~~~}}}}}}{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{zzzzyyyyyyyyyyzzzz{{z{zzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyzzzzzzzyyz{{{yyyzzz{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~}~~~~~~~~~~}}}}}{{{{{{zzzzzzzzz{{}}{{{{{{{{{{{yyzyyyyzzzzyyyyyyyyyyyzzzzyyyyyyyyzzzzyyzyyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzyyzzzyzzzzz{{{zzzzzzzzzzzzzzzzzzyzzzyyzzzz}}}{}}}{{{{z{{{{{{{{{zzz{{{{{{}{}}}{{{{{{{{{{{{{{{{{{{z}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{}{{{{{{zzzzzzzzzzzz{{{{{{{{zzz}}{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyy}~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzz{{{{zzz{{{{~~~~~}}}}{{{{{{{{{{zzzzzzzzzzzzz{{{}}~~}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{yyyyzzz{{{zzzzzz}}}}{{{{{{{{}}}}}~~~~~~}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzzzzyyyyyzzzzyyzzzz{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{zzzzz{zzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyzzzzzzyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{zzzz}{{{{{{{}}}}}}~~~~~~~~~}}}}}}~}}}}}~~}}}}}}}~~~~~~~}}}~~}}}}}{{{{{{zzzzzzzzz{{}}}}}{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzyyzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzyzzzzzzzzzzz}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{zzzzzzzzzz{zz{{{{{{{{{{{}{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyzzzzz{{zzzzzzzzzzzzzzz}}~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzz{{{~~~~~~}}}}{{{{{{{{{{zzzzzzzzzzzzzz{{}}~~}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}z{{{zzyyzzzzz{{{z{zzzzz}}}{{{{{{{{}}}}}}}~~~}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzyy{{{{{zzzzyyyyzzzzzzzzzzzzz{{{{{{{{{{}}}{{{{z{{{{{{{{z{{z{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyzzzzyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{z{{}}{{{{{{{{{}}}~~~~~~~~~}}}}}}~~}}}~~~}}}}}}}~~~~~~~~}}}~~~}}}}}{{{{zzzzzzzyz{{{{}}}{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzyzzzzzzzyyyyyzzyyyyyyyzzyyyyzzzzzzzz{{{{{{{{{{{{zzzzzzzzzyyzzzzzzzzzz}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyzzzzyyzzzzzz{{{zz{{{zzzzzzzzzz}}~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzz{{{{{{~~~~~~~}}}{{{{{{{{{{{{zzzzzz{zz{{{{{}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzzzzzzzzzz{{{{{{{{zzzzzzz{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzzyyzzzzzzzzzzzzzzz{{{zz{{{{{}}}{{{zzzz{{}}zzz{{zz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyzzzyyyzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyzyyzz{{{{{{{{{}{{{{{{{{{zz{}}{{{{{{{{{}}~~~~~~~~~~~~~}~~~~~}}}~~~~}}}~~~~~~~~}}}}}~~~}}}}}{{{zzzzzzyyyzz{{{}}{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzyyyzzzzzzzyyyzzzzzzzyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzyyyzzzzzzzzz}}{{{{{{{{{{{{{{{z{{{{{{{{{{zzzz{{{{{}{{{{{{{{{{{{{zzz}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyzzzzzzzzzyyz{{{{{{{{zzzzzzzzzz}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}{{zzzzzzzzzzzzzzzzyyyyzzzzzzz{{zzzzzzzzzz{{{{{{{~~~~~~}}{{{{{{{{{{{{{zz{{zz{{{{{{{{}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}zzzzzzzzzz{{{{{{{{{{{{zzzzzzz{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyy{{zzzzzzzyyzzzzzzzzzzzzzz{{{{{{{zzz{}{{{{{zzzz{zzzzzz{zz{~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyzzyyyzyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{}}}{{{{{{{{{zzz}}}{{{{{{{}}}}~~~~~~~~~~~~~~~~~~}}~~~~~~}~~~~~~~~~}}}}}~~~}}}}{{{zzzzzzzyyyzzz{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzyyyzzzzzzzyyzzzzzzzzyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{zzzzzyyyyzzzzzzzzzzzz}}{{{{{{{{{{{zz{{{{{{{{{{zzz{{{}}}}{{{{{{{{{{{{{{{z}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyzzzzzzzzzzyy{{{{{zz{{zzzzzzzzzzz}}~~~~~~~~~~~~~~~~~~~}}}}}}}}zzzzzzzzzzzzzzzzzzyyzzzzzzzz{{zzzzzzzzzzzz{{{{{}}~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{}}{{{~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzzzzzzzz{{{{{{{{{{{{{zz{{{z{{{{}}}~}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}~}}}}}}}{{}}{{}}{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzz{{{{{{zzzzzzzzzz{{z{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{zzy}}{{{{{{{{{{{{{{{}}}}}}{{{}}}}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}~~}}}}{{{{zzzzzzyyzzzzz{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzzzzzzzzyyyyyzzzzzzzzzzz{{zzzzzzzzyyyzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{zzzzzyyyyyyzzzzzzzzzz}}}{{{{{{{{{{{z{{{{{{{{{{zzz{{}}}}}}{{{{{{{{{{{{{{z}}}}}}}}}}}}}}}}}}}~~}~~~~}}}}}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}{}}{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyzzzzzzzzzzzzyy{{{{zzz{zzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~}}}}}}}}zzzzzzzz{{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{{{{{}}}}~~~~}}}{{}{{{{{{{{{{{{{{{{{{{{{{{~}{{{{{{{~~~~~}~~~~~~~~~~~~~~~~}}}~~~~~~~{{{zzzzzzzzzzz{zzz{{{{{{{{{{{{{{{{{{{}}~~}}}}}}}}}}~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}~~~~}}}}}~~}}}}}}}{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{z{{{{{zzzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{zzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zzyy}{{{{{{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}}~}}}}{{{{{zzzzzzzzzzzzz{{{{zzzzzyzzzzzzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyzyyzzzzzzzzz{yyyzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyyyyyyzzzzzzz{{{{{{{{{{{{{{{{{zzzzyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz}}}}}}{{{{{{{{{{{{{zz}}}}}}}}}}}}}}}}}}}~~~~}~~~}}}}~}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{zzzz{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyzzzzzzzzzzzzzzyy{zzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~}}~}}}}zzzzzzzz{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{}}}~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{~~{{{{{{{}~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{~~~}~~}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~}}}}~~}}}}}}}}}{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzzzzzzzzzzzzzzzz{{{zzzz{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{zzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyy{{{{{{{{{{{{{{{{{}}}}}}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~}}}}}{{{{zzzzzzzzzzzzz{{zzzzzzyyzzzzzzzzzzzzzyyyyyyyyyyyyyzzzyyyzzzzzzzzzzzzzz{{yyyzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzyyyyzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzz}}}}}}{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzz{}}}}{{{{{{{{{{{{{{{{{{{{z{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~}}~}}}}zzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{}}~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}~{{{{{}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{zzzzzzzzzzzzzzz{{{}{{{{{{{{{{{{{}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}{}}{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{z{{{{zzzz{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zzzzzyyz{{{}}{{{{zz{{yzzzzzzzzzzzzzyzzyyyyyyzzzzzzyyyyyyyyyyyzyyyyyyyyyyyyzzzzyyyyyyyzz{{{{{{{{{{{}}{{{}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~}}}}}{{{{zzzzzzzzzzzzzz{zzzzzzyyyzzzzzzzzzzzzzyyyyyyyyyyyzzzzyzzzzzzzzzzzzzzzzzzyyyyzz{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzyzzzzzzzzzzzyy{{{{zzzz{{z{zzzzzzzzzyyzzzzz{{{{{{{}}}{{}}{}}{{{{{{{{{{{{{{{{zzzzzz}}}}}}{{{{{}{{{{{{{}}}}}}}}}}}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzz}}}}{{{{{{{{{{{{{{{{{{{zzz{{{{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~}}{{{{zzzz{z{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}{{{{{}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzzzzzzzz}}}}{{{{{{{{{{{{{}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzzzzzzz{{{{{{{zzzzz{y{{z{{{{zzzzzzzzzzzz{{{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zzzzzyzzzz}}}{{{{{{{yyyzzzzzzzzzzzzzzzyyyyyyyzzzzzzyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{}}{{{}}}{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyyzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzyyyyy{{zzzzzzz{zzzzzyyzyyyyzz{{{{{{{{}}}}{{}}}}}}{{{{{{{{{{{{{{zzzzzzz}}{{}}{{{{}}}{{{{{{}}}}}}}}}}}}}}}}}}~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{zz{{}}}{{{{{{{{{{{{{{{{{{{{zz{{{{{{zzzzzzzzzz{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzz{{{{{}}~~~{~z~~~~~~~~~~~~}{{{{{zzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{~}}~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}{{{{~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzz{{z}}}}{{{{{{{{{{{{{~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzzzyyzz{{{{{{{zyyyyyyyzzzz{{zzzzzzzzzzzzz{{{{{{{zz~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}{zzzzyyyzzzz}}}{{{{{{{yyyzzzzzzzzyzzzzzyyyyyyyyyzzzzyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{}}{{{{{}{{zzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzyyyyy{{yyyzzzz{zzzzyyyzyyyyz{{{{{{{{{}}}{{{}}}}}}{{{{{{{{{{{{zzzzzzzzzzzz{{}{{{{}}}{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{{{{{{z{{{{{{{{zzzzzzzzzzzzz{{{{zzzzzzzzzzz{{{{zz{{zzzzzzzz{{}{{{{{zz~~~~~~~~~zzzz{{{{zzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{}}}}{{{~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}{{{{{zzzzzzzzz{{{{{{}}}{{{{{{{{{{{{{~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyy{{{{zzzzyyyyyyyzzz{{{zzzzzz{{zz{zz{{{{{{zzz~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}{{zzzzyyyyzz}}}}{{{{{yyyyyzzzzzzyyyzzyyyyyyyyyyyyzzzyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{}}}{{{{{{zzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzz{{zzzzzzzzyyzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzyzzzzyyyyzzzzzzzzyyyzzzzzz{{{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{}}{{{{{{{{{{}}}}}{{{{{{{{{{{{zzzzz{{{{{z{{z{{{{{zzzzzzzz{{{{{{{z{{{zzzzzzz{{{{{{{zzz~~~~~~~~zzzzzz{{zzzzz{{{{zzz{{{{{{zzzzzzzzzz{{{{z{{{{{{zz{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{z{{{}}}}}~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}{{{{zzzzzzzzz{{{{{{{}}}}{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyy{{{zzzzzzyyyyzzz{{{{yzzzz{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}zzzzzzzzzzzzyyy{{}{{{{{yyyyyyyzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}}{{{{{{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzzzz{{{zzzzzzzzyzzzzzzzz{{{{zz{{{{{{zzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyyyzzzzzz{{{{{{{{{{{{}}}}}}}{{{{{{{{}}{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{}}}}}}{{{{{{{}}}}}}{{{{{{{{{{{zzzzz{{{{{{{{{{zzz{{zzzzzzz{{{{{{{{{{{{zzzzzzz{{{{{{{{{zzz{{~~{{{zzzzzzzzzzzz{{{{zzz{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{}{{{{zzzz{{{}}}}}~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}{{{{zz{zzzzzzz{{{{}}}}}}{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyy{{zzzzzzzzzyyzz{{{{yyzzz{{{{{{{{{{{zz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzzzzzzzzyyy{{yyy{{zzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{}}}}{{{{{{{{{{~~~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzyyzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}{{{{{{{{{}}}{{zzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~}}}{{{{{{{{{{{{{{{}{{}}}{{{{{{{}}}}}}}{{{{{{{{{{{zzz{{{{{{{{{{{zzz{{{zzzzz{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{z{{zzzzz{z{{{{{zzz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}{{}}}}{}}}{{{zzzzz{{{{}}}~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}{{{{{{{{{zzzzz{{{{}}}}}}}{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}{{{{z{zzzzzzzzzzzyyyyyyyyyzzzyyyyyyyyyyyyyzzyyyyyyyzzzzzyyyyyyyyyyyy{zzyyzzzzzzzzz{{{yyyyyz{{{{{{{{{{{zzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{}{{{zzzzzzzzzzyy{yyyyyzzzzzzyyy{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{zzzz{}}{{{{{{{{{~~~}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{zz{{{zzzzzzzzzzzzzzzzz{{{zzz{{zzzzzz{zzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzz{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{}}{{zz{zzzzzzzz{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{}}}}}}{{{{{{{{{{{zz{{{{{{{{{{{{{zz{{{{{zz{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}{{{zzz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{zz{{{{{}}}}}}{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}~~~{{{zzzzzzzzzzzzzzzyyyzzyyyzzzzyyyyyyyyyyyzzzzyyyyyyyzzzzyyyyyyyyyyyyzzzyyyzzzzzzzzz{{yyyyyyy{{{{{{{{{{{zz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~}{{{{{zzzzzzzzzzzzyyyyyzzzzzzzzzz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{zz{{{zzzz}}zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{zz{{{{zzzzzzzzzzzzz{{{{{zzzz{{{zzzzz{{{zzzzzzzzzzzzzzzz{{{{{{}{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzz{{{{{{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{}}{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{zzz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}{{{{{z{{{{{{{{~~~}}}z~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{}}}}}}}{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}}}}}}}}~}}}}}}}}}}~~}}}}}}}}}}}}~}{{{{z{{{{zzzzzzzzzzzzzzyyyzzzzzyyyyyyyyyyyzzzzyyyyyyyyzzyyyyyyyyyyyzzzyyyyzzzyzyyzzyyyyyyyyy{{{{{{{{{zzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{~~~~~~~}{{{{zzzzzzzzzzzzzyyyyzzzzzzzzzzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzz{{{{{{z{{{zzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{{{{zzzzz{{{{{zzz{{zzzzzzz{zzzzzz{{{{{{{}}}{{{{z{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}{}}}}}{{{{{{{{{{zzzz{{{{{{{{{{{{}}{{{}}}}~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{zz{{{{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}}zzz~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{}}}}}}}{{{{}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{zzz{{{zzzzzzzzzzzzzzzyyyyyzzzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{zzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{~~~~~}}{{{{{{zzzzzzzzzzzzzyyyzzzzzzzzzzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{zzz{{{{{{{{{{{{{{{zzyyzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{zzzzz{{{{{{zz{{{zzzzzz{{{{{{{{{{{{{}}}{{{{{{{{zzzzzzzz{{{{{zzzzzz{{{{{{{{{{{{{{zzzzzzzz{{zzz{{{{zzzzzzzzzzz{{{{{{{{{}}}~~}}}}}}}}}}}}}}{{{{{{{{{zzz{{{{{{{{{{{{{}}{{{{{}}~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}{{{{{{{{{{{{{{{{{{}{}}}{{{{{{{{{}}}}}}}}{{{{{{{{}}{{{}}}{{{{{{{{{{{{{{{{{{zzz{{zz{{zzzzzz{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}~~~{{}{{{{{{{{{{{zzz{{{{{zzzzz~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{}}}}}}}}}{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}{zzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzyzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyy{{{{{{{{{zz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{~~}{{{{{{{{zzzzzyyzzzzzyyyyyzzzzzzzzzzzzzyzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzz{{{zz{{{{{{{{{{{{{{{zyyy{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{zzzzz{{{{{{{{{{{{{{{z{{{{{{{{{{{{{}}}}{{{{{{{{{{{{zzzz{{{{{{zzzzz{{{{{{{{{{{{{{zzz{{zz{{{{zz{{{zzzzzzzzzzzz{{{{{{}}}}}~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}{{{{{{{{{{{}}{}}}}}}}{{{{{{{}}}}}}}}}}}}}}{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{zzz{{zzzzzzzzz{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{}{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}~~~{{{{{{{{{{{{{{{zzzzz{{{zzzz~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~{{zzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzzyy{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}{{{{{{{{{{{{{{{zzzzyyyzyyyyyyyyyyyyzzzzzzzyyyyyyyzyyzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzz{{z{{{{{{{{{{{{{yyyyyyy{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{zzzyyzzzzz{{{{{{{{}}}}}}~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}{{}}}~}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{{{}}}}}{{{{{{{{}}}}}{{{{{{}}}}}}}~~}}}}}}}}}}}}}}}~~~}}}}}~~~~~}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzz~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{}}}}~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~{{zzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzz{{{{{{zz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}{}{{{{}}}{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyzzzzyyyyyyyzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyzzzz{{{{z{{zzzzzzzzyyyyyyyy{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{zzz{zz{{{zz{zzyyyzzzzzz{{}}}{}}}}}~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}{}}}}}}}}}}}}}}~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{}}}}}}}}}{z}}}}}}}}}}}}}}}}}}}}{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{}}{{}}}}}}}}}}}{{{{{}}}}}}}}}{{{{}}}}}}}~~~~}}}}}~}}}}}}}}~~}}}}~~~}}~~~~}}}}}}}{{{{{{{{{{{{{{{z{zzzzzz~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyzz{{{{zzzzz{{{{{~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{}}}{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzz{{{{z{{zzzzzzzzzzyyyyyy{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{z{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{zzzzzz{{zzzyyyyyyyzzzzz{{}}}}}}}}}~~~~~~~}}~~}}}}}}}}}}}}}}{{{{{}}{}}}}}}}}}}}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{}}}}}}}}}zzz}}}}}}}}}}}~}}}}}}}{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zz{zzzzzz{{{{{{{{{{{{{{{{{{}{}}{{}}}}}}}}}}}}}}}}}}{{}}}}}}}}}}}{{{}}}}}}}~~~}~~}}~~~~}}}}}}}}}}}~~~}}}}~~~}}}}}}}}{{{{{{{{{{{{{{{{{z{{zz~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{}~~~~~~~~}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~{}{{{{zzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzyyyyyyyzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyzzyyyz{{{{{{{{zz{{{}}~~~~~~~~~~~~~~~~~~~~}{{}{{zzz{{{{}}{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyzz{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{zzzzzzzzzzzzzz{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{}}{{}{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{}}}{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{zz{{zzzzzz{zzzyyyyyyyyzzzzzzzz}}}}}}}~~~~~~~~~~~~~~}}~}}}}}}}}}{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{}}zz}}{{zzzz}}~}}}}}}}}~~~}}}}}{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{}}}}~~~~~~~}}~~~~~~~~~~}}}}}}}}~~~}}}}}~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zz{{~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{}~~~~~~~~}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~{{{{{{{zzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyzzzyyzzzzyyyzz{{{{{{{{{}}{{}}~~~~~~~~~~~~~~~~~~~~{{{{{{zzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyzz{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{zzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{}}}}}}}}{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}{{{{{{}}{{{{{{{{{{{z{{{{{}}}}}{{{zzzzzzzzzzzzzzyyyyyyyyzzzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}~}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}{{{{{{{{{zzzzz}{{zzzz}}~~}~}}}}~~~~}}}}}}}}{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{}}}}}}}{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~~~~~~}}}~~~~~~~~~~~}~}}~~}~~~~}~~~~}}}}}}}}}{{{{{{{{{{{zz{{{{{{{{{{{~~~~~~~~~~~~~}}}}}}}}}{{{{{{{}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~{{{{{{{{zzzzzzzzz{{zzzzyyyyyzzzzzzzzzzyyzzzzyzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyzzzyyzzzzzzyzz{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzz{{z{{{{{{zzzzzzzzzzzzzzzz{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{}}{}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{}}}}}}}}}}}}}}{}}}}}}}{{{zzz{{{{{{{{{{}}}}}zz{zz{zzzzzzzzzzyyyyyyyyyzyyzzz{}}~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzzzzzz{}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~~~}}}}}}}}}}~~~~~}}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{zzzz{{{{{{{{~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzzy{{{{yzyyyyyzzzzzzzzyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzyy{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{zzzzzzzzzzzzzzzz{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}{{{{}}}}}}}}}}}}}}}{{{{{}}{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}{{{{zz{{{{{{{}}{{}}}}zzzzzz{{{{{zzzzzzyyyyyyyyyyyyzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}}{{{{{{{zzzzzzzzzzz{{{{~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}{}}{}}~~}}}}}}}}}}~~~~~~}}}}}}}}}~~~~~~}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{zzzz{{{{{{{{{~~~~~~~~~~~~}}}}}}}}}{{}}{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzyyy{{{yyyyyyyyyzzzzyyyyyzzzzzzzzzzzyyyyzzyzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyy{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{{{{{zzzzzzzzzzzzzzz{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{}}}}}}}}}}}}}}}}{{{}}}}}{}}}{{{{{{{{{{{{{{{{{}}}{}}{{{{{{}}}}}{{{{{{{}}}}}}}}}}}}~}}}}}}}}}}}{{{{z{{{{{{{}}}}}}}zzzzzzz{{{{{zzzzzyyyyyyyyyyyyyyzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}{{{{{{zzzz{zzzz{{{{{{~{{{~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}~~~~~~~~~~}}}}}~}}~~~~~~~~}}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}}{{{{{{zzzzzzz{{{{{{{}}~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzyyy{{{yyyyyyyyyyzzzyyyzzzzzzzzzzyyyyyyyyzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyy{{{{{{{{}}}}}}~~~~~~~~~~~~~~}}{{{{{{{{{{{{zzzz{{{{zzzzzzzz{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzzz{{{{{{{zzzzzzzzzyyyyzzyyyyyyyyyzzzzzzzzz{{{{{zzzzzzzzzzzzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~}}}}}}}}{{{}}}}}}}}}{{{{{{{{{{{{}}}}}}}}}}}{{{{{{}}}}}}{{{{{{}}~~~~}}}~~~~}}}}}}}}}}{{{{{{{{{{{{{{}}}}zzzzzzzzz{{{{zzzzzzyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}{{{{{{{{z{{{{{{{{{{{{{{{{}~~~~~~~~~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}~}}}}}}}}}}}}~~~~~~~~}}}~~~~~~~~~~}}}}}~~~~~~~~~~~~}~~~~~~~~~}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{zzzyyzzzz{{{{{{{}~~~~~~~}}~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzzyyy{yyyyyyyyyyyyzyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyyy{{{{}{{{}}}}}~~~~~~~}~~~~~~}}}{{{{{{{{{{{{zzzz{{{{zzzzzzzzyy{{{zzz{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyzzz{{{{{{{zzzzzzzzyyyyyzzyyyyyyyyzzzzzzzzzzz{{{{{{zzzz{zzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}~~~~}}}~}}}}}}}}}{}}}}}}}}}}{{{}}{{{{{{{{{}}}}}}}{{{{{}}}}}}}}}{{{{{}}~~~~~~}~~~~~}}}}}}~}}}{{{{{{{{{{{}}}}}}zzzzz{{zzzz{{{{zzzzzzyyzzyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{}}{{{}}~}}~~~~~}}}}}}}}}}~~~~~~~~}}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{zzyyyzzzz{{{{{{~~~~~~~}}~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzy}}}{{}}}}}}}}}~~~~~~~}}}~~~~}}}{{{{{{{{zzzzzz{{{{{zzzzzzzzzyyyyyzzz{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyzyyyyyyyz{{{{{{{{zzzzzzyyyyyyyzzyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{~}}}}}{{{{}}}}}}}}}}{{{{{}}~~~~~~~~~~~~}}}}}~~~}}}{{{{{{{{{{}}}}}}zz{{{{{zzzz{{{{{zzzzzzzzzyyyyyyyyyyzzzyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{}{{}~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{}}}{{{}}~~}~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{zzzyyyzz{{{{{{{~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzyzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzy}}}{{}}}}}}}}~~~~~~~}}}}~~~~}}}{{{{{{{{zzzzzz{{{zzzzzzzzzyzyyyyyzzzz{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzyyyzzzyzyyyyz{{{{{{{zzzzzzyyyyyyyyzzzyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{~~~~}}}{}}}}}}}}}}}}}}{{{{}}~~~~~~~~~~~}}}}}}~~}}}}{{{{{{{{{{{}}}}{{{{{{{zzzzz{{zzz{zzzzzzzzyyyyyyyyyzzzzyyzz~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}{{{{{{{{{{}}}{{{{~~~}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{zzzyyyzz{{{{{{}}}~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzyy}}{{{}}}}}}~~~~~~~}}}}~~~~~}}}{{{{{{{zzzzzzz{{zzzzzzyzzyyyyyyyyzzz{{{{zzzzzzzzzzyyyyyyyyzzzzyyyyzzzzzzzzzyyyzzzzzzyyzzz{{{{{zzzzzzzyyyyyyyyyzzzyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}}}}}}~}}}}}}}{{{{{{{{{{{{~~~~~}}}}}}}}}}}}}}}}}{{{{}}~~~~~~~~~~~}}}~~~~~}}}}}}}}{{{{{{{}}}{{{{{{{{zzz{{{{zz{{zzzzzzzzyyyyyyyyyzzzzzzzz~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}{{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}{{{{{{{{{}}}{{{{{{{}}~~~}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzzyyzzzz{{{{}}}}}}}}~~~~}}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~}~~~~~~~}}}}}}}}{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyzzyyzzzz{zzzzzzzzzzzzzyyyzzzy{{{{{}}}}}}}~~~~~~~}}}~~~~~~~}}}{{{{{{{zzz{{{{{zzzzyyyyyyyyyyyyyzzzz{{{{{zzzzzzzzyyyyyyyyyzzzyyyyzzzzzzzzzyyyzzzzzzyyyzzzz{{yzzzzzzyyyyyyyyyyyzzzzzzz{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}~~~}}}}}}{{{{}}}}}{{}}~~~~}}}}}}}~~}}}}}}}}}{{}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{}}{{{{{{{{{zz{{{{{z{{{zzzzzzzzzyyyyyyyyzzzzzzz~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}{{{{{{{}}}}}}{{{{{{}}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzzzzzzz{{{{{}}}}}}}}~~~~~~}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzzzzzz{{{zzzzzzzzzzzzyyyyyyyy{{{{{}}~~}}~~~~~~~~~~~~~~~~~}}}{{{{{{zzz{{{{{{zzzzyyyyyyyyyyyyyyyzzzyy{{zzzzzzzyyyyyyyyyzzzzyyyyzzzzyyzzzyyyzzzzzzyyyzzzzyyyzzzzzyyyyyyyyyyyyyzzzzzz{{{{{{{zzzzz{{{{{{{{{}}{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}~~}}}}}}{{{}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}{}~}}~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{zz{{{{{zz{{{{{{{{{{{{zzzzzzzzyyyyyzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{}}}}}}~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}{{{{}}}}}}{{{{{{{}}}}}}}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzzzzz{z{{{{{{}}}}}}}}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}~~}}}~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzz{{zzzzzzzzzzzzzzzyzzyyyy{{{{{~~~~}~~~~~~~~~~~~~~~~}}}}}}{{{{zzz{{{{{{zzzzzyyyyyyyyyyyyzzzzyyyyyyyzzzzzyyyyyyyyzzzzzzzyzzzzzyyyzyyyyyyzzzzyyyzzzyyyyyyyzyyyyyyyyyyyyyyzzzzz{{{{{{{{{zzz{{{{{{{{{{}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}}}}~~~~~~}}}}}}{{{{}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}{{}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zzz{{{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{}}}}}}{{{{{{}}~~}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zzzzzzz{{{{{{{{{{{~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}~~~~~~~~~}}}}~~}}}}}}}{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyy{{{{{~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{zz{{{{{{{zzzzyyyyyzzzzzzzzzzzyyyyyyy{{zzzyyyyyyzzzzzzzzzzzzzzzyyzzyyyyyzzzzzzyzzzzzyyyyyyyyyyyyyyyyyyyyyzzz{{y{{{{{{{{{{zz{{{{{{{{{}}}}{{{{{{{{{{{~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}{{{{}}}}}}}}}}~~~~~~~~~}}}~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{zzzz{{{{zzzz{zz{{{{{{{{zzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~zzz~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}}}}}}{{{{{~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzz{{{{{{{{{{{~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}~}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzy{{{}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{zzzzzzzzyyyzzzzzzzzzzzzyyyyyy{{{zzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzyyyy{{z{{{{{{{zz{{{{{}{{{{}}}{{{{{{{{{{}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~}}~~}}~~~~~}}}{{{}}}}}}}~~}~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{zzzzz{{{zzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}zz~~~~~~~~~}}}}}}}}}}{{}{{{{{{{{{z{{{{{{~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{}}{{{{{{~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{zz{{{{{{{{{{{{{}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyzzzzzz{{{{{zzzzzzzzzzz{{{{}}}}~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{zzzzzzzzzyzzzzzzzzzzzzzzyyyyyzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzz{{{{{zzzz{{{{}}{{{{}}}}{{{{{{{{{}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}{{{}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{zzzzzzzzzzzz{{zzzz{{{{{{zzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}}{{{{~~~~~~~~}}}}}}}}}}}}{{{{{{{{{zz{{}}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}{{{{{{{{{{{{{{{{{{~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}~}}}}}}}{{zzzzzzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzz{{{{{{zzzzzzzzzzzz{{{~}}}}}}~~~~~~~~~~~}~~}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzyzzyyyzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzz{{{{{{}}}{{{}}}}{{}}}{{{}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}{{}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{z{{zzzzzzzz{zz{{{{zzzz{{{{{{zz{{{zzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{~~~~~~~}}~~~}}}}}}}{{{{{{{{{zz{{}}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}{{{{{{{{{{{{{{{{{{~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{zzzzzzyyzyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzz{{{{{{{zzzzzzzzzzz{{{~~}}}}}}~~~~}}}~~}}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzyyyzzyyyyzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{}}}{{}}}}}}}}}}{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zz{zzzzzzz{{{{{{{{zzz{{{{{{{{{{{{{zzzzzzzzzz{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{z{zzzz~~~~~~~~~~~~}}}}}}}}}{{zzzzz{{{}}}~~~}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}~~}}}}{{{{{{{{{z{{{{zz{{~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{}}{{{{{~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}{zzzzyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{zzzzzzzzzzzzz}}~~~~}}}}}}~~}}}}}}}~}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzz{z{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{zzzzzzzzzz{{{{{{{{zz{{{{{{{{{{{{{{zz{{{zz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zzzzzzz~~~~~~~~~~~~~~}}}}}}{{zzzz{{{{~~}~~~}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}~~}{{}}}{{{}}{{{{zz{{{{zzz~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}}}{{{~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}~~~}}{{zzzzyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzz}}~~~}}}}}}}~~}}}}}}~~~}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzyyzzzz{{{{{{{zzzzzzzzzzzz{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{z{{{{{{{{{{{zzz{{{{{{{{{{{{{zz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzzzzzzzzzz~{{z~~~~~~~}}}}}zz{zzz{{{{~~~~~~~}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}~~{{{}}{{{{}}}}{{zzz{{zzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{}}}{{~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}{{zzzzzzzzzyyyzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{zzzzz{zzzzzz~~~~~}}}}}}}}}}}}}}~~~}}}}}}}}}}{{{{{{{{{{zzzzzzzzz{{zzzzzzzzzyzyyyyyyyyyyyyyzzzyzzzz{{{{{{{{{zzzzz{{{zzz{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{}}{}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{zzzzzzzzzzyzzz{{zz~~~~~~zz}}}zzzzzz{{{{~~~~~~}}}}}}}}~~~~~}}}{{~~~~~~~~~~~~~~~~~~}}}}{{{{{}}{{{{{}}}}{zzzzzzzzzzzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}{{zzzzzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzzz~~~~~}}}~~}}}}}}}}}~~~~~}}}}}}}}}}{{{{{{{{{zzzzzzzz{{{{{zzzzzyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{zzz{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{}}}}~~}}~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}{{zzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{~~~~~~}}}}}}}~~~~}}}}}{{~yyzzz~~~~}}~~~~~~}}}}{{{{{{}}{{{{}}{{{{zzzzzzzzzzzzzzzz~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~{{{{{{{{zzzzzzzzyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{zzzz~~~~~~~~~~}}}}}}}}~~~~~~~}}}}}}}}}{{{{{{{{{zz{{{zz{{{{{{zzzzzyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{z{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz}}}}{{{{{{~~~~~~~~~~}}}}}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~}~~}}}}}{{{{zzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzz{{{{}~~~~}}}}}}}{{{~~}}{{{{{yyyzzzzz~}}}~~~~~~~}}}}}{{{{}}}~~{}}{{{{{zzzzzzzzzzzzzzz~~~}~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{}}{{{{{}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz}}}}}{{{{{~~~~~~~~~~}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{{{{{{}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{zzzzzzzzyyyyzzz{{zzzzzzzzzzzzzzz{{{{}}~~}}}}}}}{{{zz{{{{{{yyyyyzzzzz}}}~~~~~~~}}}}}{{{}}}}~~~~}{{{{{zzz{{{zzzzzzzzzzzzzz~{{~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{}}}}{}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{zzzyzzzzzzyyyyyyzzyzzyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzz{{}}}{{{{{{}~~~~~~~~}}}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{}}}{{{{{{{}{}{{{{{{{{{}}{{}}{{{{{{{{{{{{}}}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{zzzzzzzzzyyyyyzz{{{{zz{zzzzzzzzz{{{{{}}~~}}}}yyzzzzzz{{{{zzyyyyyzzz{{{}}}~~~~~}}}}}{{{{}}}}}~~~}{{{{{{{{{{{zzzzzzzzzzzzzzz{{~~~~}}~{{{zz~~~~~~~~~}}}~~~~~~~~}}~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{}}}}{{~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{zzzyyzzzzzzyyyyyzzzzzzzzzzzzzzzz{{{{{{}}{{{}{{{{{{}}{{zz{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzz{{{{}}{{{{{{}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{}}}}}{{{{{{{{}}}}}}{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzzzzzzyyyyyyyzyy{{{{{zzzzzzz{{{{}}~~~~}}}}yyzzzzyyyzzzzzzyyyyyz{{{{{}~~~~~}}}}}}{{{}}}}}}~~}}}{{{{{{{{{zzzzz{{zzzzzzzzzzz~~~{}{{{{{zzz}}~~~~{~}}}}}}}}}}~}~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{}{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~}}}{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzzyzzzzzzzzzzzzzzz{{{{{{{{{}}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{zzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}}}{{{{{{}}{{zz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzz{{{{{{{{{{{{{{~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}{}}}}}}}}{{{{{{}}}}}}}}{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzzzzzyyyyyyyyyy{{{{{{{{zzz{{{{{}}~~{{{{yyyyyyyyyyyyzzzzzyyyyyz{{{{{~~~}~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzz{{{{{zzzz{zzzzz~~{{{{{{{{{{}}}}zz{{}}}}}}}}}}}}~~}~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{}}{}}}}}}}{{{{{{}}{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{~~{{~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{}}}}}}}}{{{{{{}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzzzzzzzyyyyyyyyy{{{{{{{{{zz{{{{}}}~{{{{{yyyyyyyyyyyzzzzzyyyyyyzz{{{{~~}}}}}}}}}}}}}}~~}}}}}}zz{{{{{{zz{{{zz{{{{{zz{{{{{{{{{{{{{{{{{{{{{}}{zzz{}}~}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzyyyyyyzzzzzzzzzzzzzzzzz{{{{{{{}}}{{}}{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{}}}}}}}}}}}}}{{{{}}{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{zz{{{{{{{{~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}{{{{{{}}}}}}}{{{{{{}}}}}}}}~}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{zzzzzzzyyyyyyyyy{{{{{{{{{{zzzz}}}}{{{yyyyyyyyyyyyyyyzzzyyyyyyzz{{{{{zzz}}}}}}}}}}}}}~~~}}}zzzzz{{{yyz{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~}}}}}}}}}}}}}~~~~~~~}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyzzyzzzzzzzzzyyyyzzzzzzzzzzzzzzzzz{{{{{{{}}}{{}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{zz{zzzz{{{{{{}}}}{}}}{{}}{{{}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{}}~~~}}}}}}}}}}}~~~~~~~~~~~~~~}}~~~~~~{{{~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}~}}}}}}}}}}~~~}}}{{{{{{}}}}}}}{{{{}}}}~}}~~~~~~~~~~~~}}~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zzzzzzyyyyyyyyy{{{{{{{{{yzzzz}}}yy{yyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzz}{{{{}}}}}}}}~~~~~zzzzzz{{zyy{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzyyzzzzzzzzzz{{{{{zzzzz{{{{{}}}}{{{{{{{{{}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzzzzzzz{zzzzzzzzzzzzzz{{{z{{zzz{{yy{{{{}{{}}}{{}{{{}}{{{{{{zyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzzzzzzzzz{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}~~~~~{{{{~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}~~}~~}}}{{{{{{{}~~}}}}}{}}}}}~~}~~~~~~~~~~}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzyyyyyyyy{{{{{{{{{yzzzz{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{}}}}}}~~~~~zzzzzzzzzzy{{{{{{{{{{{{{{{{{{{{{}}{}}}}}{{{{{{{{{{{{{{}}}}}}}}}}~}}}}}~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{zzz{{{{}}}}}{{{{{}}}}}}{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzzzzz{{{{zzzzzzzzzz{zz{{{{{{{zzyyyy{{{{{{{zzz{{{{{{}{{{{{{{yyyyyzzyyyyyyyyzyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzzzzzzzz{{{{{{}}}}}}}}}}}~~}~~~~~~~~~~~~~}}}~~~~~~{{{{{~~~~~~~~~~~}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}~~~~}}}{{{{{{{{{{~~~}}}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~}}}}~~~}}~~}}}}}}}}}~~}~~~~~~~~~~~~~y~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzzyyyyzyz{{{zzz{{{yyyzz{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{}}}}}}}}~{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{zz{z}}}}}}}}{{{{{z{{{{{{{{{}}}}}}}}}~~~}}}~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~}}}}{{{{zzzzzzzzzzzzz{{{zzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{zz{{{}}}}}}{{}}}}}}}}}}}}}{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{zzzzzzz{{{{{{{zzzzzzz{{{{{{{{{zzzyyyyyy{{{zzzzz{{{{{{{{{{{{{{yyyyzzzzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{~~}}}}}}}~~~~~~~~~~~~~~~~~{zz~~y{{{{{{{~~~~~~~~~~~~~~}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~}}}{{{{}{{{{{{~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}~~~~}}~~~}}}}}}}}~~}~~~~~~~~~~{{yyyyyy~~~~~~~~~~~~~~~~~zz~~~~~}}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~}}}}{{{{{{{{{zzzzzzyyyzzzzyyyyzyy{yyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{}}}{}}}}{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{zz{zz}}}}}}{{{{{{zz{{{{{{{{{}}}}}}}}~~}}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}{{{zzzzzzzzzzz{{{{zzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{{{{{{{{}}{{}}}}}}{{}}}}}~~}}{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zzzzzzzz{{{{{{{{{z{{{{{{{{{{{zzzzyyzzyyy{zzzzzzzzzzzzzz{zz{{{yyyyzzzzzyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyy{{{{{{{~~}}}}}}}~~~~~~~~~~~~~~~~{{zzzzyy{{{{{{~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}{{{}}}{{{{{~~~}}}}}}}}}~~~~~~~~~~~~~}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}~~~~~}}}}}}}~}~~~~~~~~~~{{yyyyyy~~~~~~~~~~~~~~~~~zzzzz~yyzz}}}~~~~~~~}}}~~~~~~~~~zzz~~~~~~{{~~~~yy~~~~~~}{{{{{{{{{{yyyyzzyyzzzzzzyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{}{{{{{zzz{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{z{{z}}}}}{{{{{{{zz{{{{}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}{{{{{}}}}}}}~~~}}}}}}}{{{{{{{{{zz{{{{{{zzzzzzzzzzzzyyzzzz{{{{zzz{{zzzz{{{{{{{zzzz{{{{{{{{{{{}}{{}}}}}}{{}}}~}~~}}{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzyyzyyyzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{yy}}}~~}}}}}}~~~}}}~~~~~~~~~zz{zzzzyy{{{{{{{{{{{{{{{~~~{~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~{{{}{{{{{}}}}{{{~~~~}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~zzzyyyyy~~~}}~~~~~~~~}}~{{zzzzzyyzz}}}~~~~~~~}}~~~~~~~~~~zzz{~~~~~~zzz~~yyyyy~~~~}}{{{{{{{{zzyyyyyyyyyzzyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyz{{{{{zzzzz{}}{{{{{{z{{zzzzzzzzzz{{{{{{{{{{{{{}}{{{{{zz{{}}}}{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{}}}}}}}~}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyzzz{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{~~~}}}}}}{{~~~~~~~~}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{zzzzzzzzz{{{{{{{z{{{{{{{{{{{{{zzzyyyyyzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}~~~~~}}}}~~}}}~~}}~~{{zzzzzzzzz{{zz{{{{{{{{{{{{~~}{{}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~}~~~{{{{{{{{}}}}{{{~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~}}~~~zzzzzyyyzy~}}}~~~~~~~}}}{{zzzzzzyzz}}~~~~~~~~~~~~~~~~}}{{zz{{{~{{{zzzzzzyyyyyy~~}}}{{{{{{{{zyyyyyyyyyyzzzyyyyyyyyyzzzzzyyzyyzyyyyyyyyyyyyyyyyyyzzyyyyzzzyyyy{{{{{{zzzzz{{{{{{{{zzzzzzzzzzzzzz{{{{}}}}{{{{}}}}{{{{z{{{{}}}}}{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{}}}}}}~}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyzz{{{{{{{{{{{{{{{{{{{{{{zzzz{z{{{{{{{{~~~~}}}}}}{~~~~~~~~}}}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{z{zzzzzzz{{{{{{{z{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{}}}~~~~~}}}}}}}}~~}}}~{{{{zzzzzzyzzzz{{{{{{{{{{{{{}}{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}~~~~~{{{{{}}}}{{{~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~}}{{zzzzzzzzzzyy{{{~~~~~~~}}}zzzzzzzzzzzz~~~~~~~~~~~~~~}}{{}{{zzz{{{{{{{zzzzyyyyyyyy}}}}}{{{{yyyyyyyyyyyyyyyyzyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzyyyzzzzyyyyy{{{{{{zz{{{{{{{{{{{zzzzyzzzzyyzzzz{{}}}}}}}{}}}}{{{{{{{{{}}}}}{{{{{{{{{{{{{{}}~}}~~~}}}}}}}}}}}~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{}{}}~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{}}}}}}~~}}}}~~~~~~~~}}}}}}}}{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{zz{{{{{{{{{{{{{}}}{{{{zzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}~~~~~}}}}}}~~~~~}}zz{{{zzzzzyyyzzz{{}{{}{{{{{{{{{{zz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}}}}}}}}}}}~~~~{{{{{{}}}}{{{{~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~{{{{{zzzzzzzzzzyy{{~~~~~~~~{}zzzzzzzzzzzzz~~~~~~~~~~~~~~}}{{{{{{zzz{{{{{{zzyyyyyyyyyy}}}}}}yyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyy{{{{{{zz{{{}}}{{{{yyyyyyyyyyyyyyyzz{{}}}}}}{}}}}zz{{{{{{{}}}}}{{{{{{{{{{{{{{{~~~~~~~~}}}}}}}~~}~~~~~~~}}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{}}}}}~~~}}}}~~~~~~~~}}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}~~~~~~~~}}}}~~~~}}}zzzz{{{{zzyyyzzz{{}}}}}{{{{{{{{zzz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}{{{{{{}}}{}}{}}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~{{{{{{{zzzzzzzzzzzz~~~~~~~{{{{{{zzzzzzzzzzyy~~~~~~~~~~~~~}}}{{{{{zz{{{{{zyyyyyyyyyyyy}}yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyy{{{{{zzz{{{}}z{{{zzyyyyyyyyyyyyyzzz}}}}}}}~~}}}}{zz{{{{{{{{}}{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~}~~}}~~}}~~~}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{~~~~~~{}}{{}{{{{{{zz{{{{{{{{{{{{{{{{zzzzzzzyyyzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{}}}~~~}}}}}}~~~~~}}}}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{~~~~~~~}}}}}{{~}}{{{zz{{{zzzzyzz{{}}}}}}}{{{{{{{{{zz{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}{{{}}}}}{{}}}}}~~~~~~}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~{{{{{{{zzzzzzzzzzzz~yy~zz{{{{{{{zzzzzzzzzzz{{~~~~~~~~~~~}}}{{{{{{{{{{{{yyyyyyyyyyyyyyy}yyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzzzyyyyyyyyzzyyyyyzzzzzzzzzzzzyyyzzzzzzzzz{{yyzz{{zzzyyyyyyyyyyyyyzz}}}}}}}}~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{}}}{{{{{{~{{~{{{{{{{{{z{{zzzz{{{{}{{{{{{{{{{zzzzzzzyyyz{{{}{{}}}{{{{{{{{{{{zzzzzzzzzz{{{z{{{{{~~~~}}}}}}~~~~~~}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{{zzzzzzz{{z{{{zzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{zzzz~~~~~}}}{{{{}}{{{{{{{{zzzzzzzz{{}}}}}}}}{{{{{zzz{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{}}}}{{}}~~}}~~~~~~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}~~}~{{{{{{{{zzzzzzzzzzzzzyzzzzz{{{{{{{zzzzzzzzzz{{~~~~~~~~~~~}}}{{{{{{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyzzzzzyyyyzzzzzzzyyzzyyyzzyzzzzzzz{yyy{{{zzyyyyyyyyyzzyyz{{}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}{{{{{}}}~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{zz{{{{zzzzzz}}{{{{{{{{{{zzzzzzzzyyy{{{}}}}}}{{{{{{{{{{zzzzzzzzzzyyyyyz{{{{{~~~}}~~~~~~~~~~~}}~~}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{}}}~}}}}}}}}}{{{zzzzzzz{{{{{{zzzz{{{{{{{{{{{{{{zzzzzzzzzzz{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzy~~yy}}{{{{{{{{{{{{{{zzzzzzzz{{{}}}}}}}{{{{{zzz{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{}}}}}}}~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}~~}}{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzz{{{{~~~~~}}{{zz{{{zz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzzzzzzzyyyyyyyyyyyzzzyyyyyzzzzzzzyyzzyyyyyyyzyzzyyyyyyy{zzzyyyyyyyyyzzzzzzzz}}}}}}}}}{{{{{{{{{{{{~}{{{{{{{{}}}}}{{{{{{}}~~~~~~~~~~~}}}}}}}}}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{zz{{{{{zzzzzzzz{}}{{{{{{{zzzzzzzyyy{{{{}}}}}{{{{{{{{{{zzz{{{zzzzyyyyy{{{{{~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{}}}}~~~}}}}}}}{{{zzzzzzz{{{{{{zzzz{{{{{{{{{{{{{{{zzzzzz{{z{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyy}}}{{{{{{{{{{{{{zzzzzzz{{{}}}}}}}{{{{{zzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzz{{{yy~~z}}{{{zz{{{zz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyzzyyyyyyyyyyyyzzzyyyyyyyzzzzzzyyyyyyyyyyyyyyzyyyyyyyzzzzzyyyyyyyyzzzzzzzzz~~~}}}}}{{{{{{{{{{{~~}}{{}}{{}}}}}}}{{{{{~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{z{{{{{{{zzzzzz}}}}{{{{{{{zzzzzzzzz{{{}}{{{{{{{{{{{{{{zzz{{{zzzzyyyyyzz{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}~~{{}}}}}{{zzzzzzz{{{{{{{zz{{{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}{{{{{{{{{{{{zzzzzzz{{{}}{{{{zz{{{{{zzzzz{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{z{{{{{zzzzzzzz{{{yyyyzzz{{{{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzyyyyyyyyyyyyyyyyyzzzyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzzzzzz{~~}}}}}}{{{{{{{{}}}}}}}}}}}{}}}}}}}{{{}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}}}}}}}}}}}}{}}}}{{{{{{{{{{{{{{{{zzzzz}}}}{{{{{{{{zzzzzzzzz{z{}{{{{{{{{z{{{{{{zzzzzzzzzyyyyyzzz{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{}{{{{{}}}}~}}}}{{{}}{{{{zzzzzzz{{{{{{{{z{{}}}{{{{{{{{{{{{zz{zzz{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}}{{{{{{{{{{{zzzzzzz{{{~{{{{{{zz{{{{zzzzz{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}}}}{{{{{{{{}{{{{zzzzzzzzzzzzzzzzzzzz{{{{yzz{{{zzzzzzzzz{{{yyyyyzzzzz{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{}}}}}}}}{{{{{{{}}}}}}}}}}}{{{{}}}}}}}}}}~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzz}}}{{{{{{{{zzzzzzzzzzzzz{{{{{{{{{zz{{{{{zzzzzzzzzyyyyyzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}{}}}}}{{{{{}}}~~}}}{{{}}{{{{{z{{{{{{{{{{{{{{{{{}}{{{{}{{{{{{zzz{{{{{{{{{{zzzzzzzzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}}{{{{{{{{{{zzzzzzzz}}~~~{{{{{zz{{{{{{{z{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~}}}}}{{{{{{{{{}}zzzzzzzzzzzzzzzzzzzzzzzzz{yzz{{{zzzzzzzzzz{{yyyyyzzzz{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzzzzzzzzyyy{{{}}~}}{{{{{{{{{}}}}}}}}}}}{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~}}}}}}}}}}}{}}}}}}}}{{{{{{{{{{{{{zzzzzzz}}}}{{{{{{{zzzzzzzzzzzzz{{{zzzzz{{z{{{{{{{{zzzzzzyyyyy{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{}}{{~~~~}}}}{{{}}{{{{{{{{{{{{{{{{{{{{{{}}}}{{}}}{{{{{zzz{{{{{{{zzzzzzzyyzzzyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyy{{{{}}}z}}}{{{{{zzzzzzzz}}}~{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~}}}}}{{{{{{{{{}}zzzzzzzzzzzzzzzzzzzzzzzzzzyyyy{{zzzzzzzzzzzyyyyyyyzz{{{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzzzzyyyyyyyyy}}~~{{{{{{{{{}}}~~}}}}}}}}}{{{}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{}}}}}}{{{{{{{{{{{{{{zzz{{{{{{}}}{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzyyyyy{{{~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}{{{{{zzz{{{{{{zzzzzyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyy{{{{{zzzz}}{{{{{zzzzzzzz}}}{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}~}}}}}~~~}}~~~~~~~~~}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~}}}}{{}}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzy{{zzzzzzzzzzzzyyyyyyzzy{{{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyzyyyyyyyyyyyy~~{{{{{{{{{{}~~~}}}}}}}}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{}}}}}}{{}{{{{{{{{{{zzzzz{{{{{}}}{{{{{zzzz{{z{{zzzzzzzzzzzz{{{{{{{{{{{zzzzzzzyyzz{{{{~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}~~~~}}{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{zzz{{{{{zzzzyzyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzz{{{{zzzzzz}{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}~}}}}}}}}}}}}}~}}}}}}}}}~~~~~~}~~~~~~~~~~}~~~~~~~~~~}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}}}}{}}}}}{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzyyyyyzzyyy{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzz{{{{{{{}}}~~~}}}}}}}}}}~~~~~~~}}}~~~~{{{~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{}}}}}}}{{}}{{{{{{{{{{zzzzz{{{{}}}}{{{{{{zzz{{{{{zzzzzzzzzz{{{{{{{{{{{{{{zzzzzzyyzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}}}}}}}~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{}}{{{{{zzz{{{{zzzzyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{zzzzzzzz{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}{{zz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzyyyyyyyyyy{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzyyyyyyyzz{{{{{{{}}}~~~~~}}}}}}}~~~~~~~}}~}}~~{{{{}~~~}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}{{{{}}}}}}}z{}}}{{{{{{{{{{zzz{{{{{}}}}}{{{{{{zzz{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{zzzyyyzzzzz{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}}~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{}}}}{{}}zz}}{{{{{{z{{zzzz{{{zzzzyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzzzz{{z{{{{{{{{{{{{{}{{}{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}}}}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}{{zz{{{{{{{zzzzzzzz{{zzzzzzzzzzzzzzz{{{{zzzzzzzzzyyyyyyzzz{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyy{{{{{}}~~~~~~~~~}}}}}~~~~~~~~}}~~~~{{{{}}}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}{}}zzz}}{}}}zz}}}}}{{{{{{{{zz{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{yyyyyyzzzzz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{}}}}{{zzzzzzyyy{{{zzzzzz{{zzzzzzyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{zz{{zz{{{{zzzzzzzzyyzzz{{{{{zzzzzzzzyzzzzzzzzzz{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyy{{{{}}}~~~~~~~~~}}~~~~~~~}}}}}~}~{{{{{{}}}}}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{}zzz{{{{zzzz}}}}}{{{{{{{{zz{{{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{zyyyyyyzzzz{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}}}}{{zzzzzzyyzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{zz{{{{{zzzzyyyyyzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzzzzyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzzzzzzzzzyyyy}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}~}}{{{{{}}}}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{zzzzzz{{}}}}}{{{zzzz{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzyyyyyzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{}{{{}}{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzz{{{zzzzzzz{{{{{{{{{{{{{{}}}}}}{{{{{{{}}{{}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzzzyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyy}}}}}}}}}}~~~~~zzzz{~~{~~~~}~~~~{{{{{{~~}}}~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}{{{{{{{{zzzzz{{}}}}}}{zzzzzz{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyy{{zz{{}}}{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{{zz{{z{{{{{{{{{{{{{}}}}}}}}}}}}{}}}}}{}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~}~~}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyzz}}}{{{{{}~~~~zzzzz{{{{{~~~~~~~~{{{{{{~~~}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~}}}}{{{{{{{{zzzzz{{}}}}}{zzzz{{{}}{}}}}}}}}}}{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{zzzzzzzzzz{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{}}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzzyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzyyzzzyyy{{{zz{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzzzzyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyzzz{{{{{{{{{~~~~zzzzz{{{{{{~~~~~~~}}}{{{{{{{{~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}~~~~~~~~~}}}}{{{{{{{{{{zzzzzz{{{{{{{zzzz{{{}}}}~~}}}}}}}}}{{{{{{{{{{{{{{{{}}}}}{{}}{{{{{zzzzzzzzzzz{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{}}}}}}}}zz{{zzzzzzzzzzzz{{zzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{}}}~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyzzzzzzzzzzzyyzzzzzzzzzzzzzzzzyyzzyyyyyyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyzzzzyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzyyyyyzzzz{{{{{{{{{~~~zzzzzz{{{{{{~~~~~~~{}}{{{{{{{{{{~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}{{{{{{{{{{{zz{{{{{{{{{{zzzzz}}}}}~~~~}}}}}}}}}{{{{{{{{{{{}}{{}}}}}}{}}{{{{{zzzzzzzzzzz{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{}}}}}}}}}}zz{{zzzzzzzzzzzz{{{zzzzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyy{{{{{{{{{{{{{{{}}{{{}}}}~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzyyyyyyyy{{{zzz{zzzzzyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzzzzyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyzzz{{{{{{{{{z~zzzzzzzzz{{{{zz~~~~~{{{{{{{{{{{{z~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}}{{{{{{{{{z{{{{{{{{{{{zzzz}}}}}~~~~~}}}~}}}{{{{{{{}}}{}}}}{{}}}}}}}}}{{{{{{zzzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{}}}}}}}{{{{{{{zzzzzzzzzzzzz{{{zzzyyzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyy{{{{y{{{{{{{{{{}}zz{{}}}~~~~~}}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{zz{{{{{{{{zzzzyyyyyyzz{{{{{{{{zzzzzyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyzzzzzyyzzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{zz{{zzzzzzzzzzz{{{{zzz~}}{{{{{{{{{{zzzzz~~~{{{}zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{zz}}}}}}~~}}~}}~~}}}{{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzz{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{}}{{{{{{{{zzzzzzzzzzzzz{{{zzzzzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyzz{{yy{{{{{{{{{{{zz{{{}~~~~~~}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}{{{{z{{{{{{{{{zzzz{{{{{zzzzzzzyyyyzzz{{{{{{zzzzzzzzzzzz{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyz{{{{{zzzzzzzzzzzzzzzz{{{{zz{{}{{{{{{{{{{zzzzzz~~~{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{z}}}}}~~~}}}}}~~}}}}{{{{{}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{z{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{}{{{{{{{{{{{zzzzzzzzzzz{{zzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyzzzyy{{{{{{{{{{z{zz{{{{~~~~~}}}~~~~~}}~~}}}~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{z{{{zzzz{{{{{{{{{zz{{{{zzzzzzzyyyyyyzzz{{{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyy{{{{{zzzz{{zz{{{{{zz{{{{{zz{{{{{{{{zzzzzzzzzzz~~{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~}}}}{{{{{}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyzzyy{{{{{{{{{zzyyz{{{{~~~~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}~~~~~~~~~}~~}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~{{z{{zzzzz{{{{{{{{{zz{{{{zzzzzzyyyyyyyzz{{{{z{{zzzzzzzzzzzz{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyzzzzzyyyyyzzzzzzzzzzzzzz{{zzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyzzz{{{zzz{{{{{{{{{{{{{{{{zzzzzz{{{{{{zzzz{{z{{{{{{zyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~}}}}}}{{{{}}}~}}}}}}}~}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{}}{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyzyyyyy{{{{{yyzzyyy}}}}}{{~{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~{{{{{{zzzzzzzz{{{{{{{{{{{{{{{zzzzzzyyyyyyyzz{{{{{{{zzzzzzzzzzzz{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyzzzyyyyyyyzzzzzzzzzzzzz{{{zzzzzyyzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{zzz{{{{z{{{{{{{{{{{zzzzzz{{{{{{zzzz{{{{z{{{{{yyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}{{{{{{{{{{}{{{{{{{{{{{{{{~~~~~~~~~~~~}}}}}}{{}}}}~~~}}}}}~~}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{}}{{{{{{{{{{{{{{{{zz{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyzzzzzyyyyyyyyyyy{{zzyyyyyyyyy}}}}{{{}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}~~~~~~~~~}}}}}}~}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyzz{{{{{{{zzzzzz{zzzz{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzyyyyzzzzyyzyyyyyzzzzzzzzzzzzz{{zzzzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{zzzz{{{{{{{{{{{{{zzzz{{{{{{zzz{{{{zz{{{{{yyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~}}}}{{{}}}{{{}}}}{{{{{{{{{{{{~~~~~~~~~~~}}}}}}}}}}}}~~~~~~}}}~~~}}}}}}}{{{{{{{{{{{{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyzzzzzzzzzyzzyyyyy{{zzyzzyyyyyy}{{}{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyzz{{{{{{{{{{zz{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzz{{{{{{zzzz{{zzz{{{zzyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~}}}{{}}}}{{}}}}}{{{{{{{{{{{{{{}}~~~~~~~}}}}}}}}}}}~~~~~~~~}}~~~~~~~}}}{{{{{{{{{{{{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{}{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzyyy}}{{}{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{zzzzyyyyyyyyzz{{{{{{{{{{zz{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzzzzzyyzzzz{{{z{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{}{{{{{zzzzz{zzz{zzzzzzzyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{}}}}}}}{{{{{{{{{{{{}}~~z~~~~}}~}}}}}}}}~~~~~~~~~}}~~~~~~}}}}}{{{{{{{{{{{{{{zzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{}}}}{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzyyy{{{zzz{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}~~~}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{zz{{{{{{{zzzz{{{yzzzyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zz{{{{}}{{{{{z{{zzzzzzzzzzzzzzyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}zz~~~~~~~}}}}}}}}~~~~~~~~~}}~~~~~}}}}}}}{{{{{{{{{{{{{zzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzyyyy{{{zzzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{~~{{{{{}}}{{{{{{{{{zzz{zzzz{{zzzzy{{yyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{zzz{{{{{{{{{{zzzzz{{{{}}{{{{{{{{{zzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzz~z}}}{{}{{{{~~~~~~~~~}}~~~~~~~}}}}}{{{{{{{{{{{{{zzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{}}}}{}}}{}{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{zzzzzzz{{{zzzzzzzzzzyyyyzzzzzzyyyyy{{{zzzzz{}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{}}}}}}}}{{{{zzzzzzzzz{{{{{yyzzzzyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{zzz{{{{{{{{{{zzzzzzz{{{{{{{{{{zzzzzzzzzyyzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{}}~~~~~~~~~~~~}}}}~~}}}}}}}~}}}}}}}}{{{{{{{{{{{{zzzzzzz}}}{{{{{{}}~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyzyyyyzzzzz{{{{{{{zzzzzzz{{{{zzzzzzzzyyyyyzzzzzyyyyyyyyyzz{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{}}}}}}}{{{{{zzzzzzzzzzzz{zzzzzzzyyyyyyyyyyzzzzzzz{{{{{{{{}{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{zz{{{{{{{{{{zzzzzzzz{{{{{zzzzzzzzzzzzzzyyzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}~~~{zzz{~~~~}}}}~~~~}}}}}~~~}}}}}}{{{{{{{{{{{{zz{{zz{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{zzz{{{{{zzzzyyyyyyyyyyyyyyyyyyzzzzzyyzzz{{{{{{{{{zzzzzzz{{{{{zzzzzzzzyyyyyyyzyyyyyyyyyyzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}~~}~~~~}}}}}~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzz{{{{{{{{}}{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzz{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{~~{{{zz{{}}~}}}}~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}~~}}}}}}}}}}}}}}}}}}}}}}{{{{}}{{{{{z{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{zzzzzz{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyy{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{}{}}}{{{{zzyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzz}{{{{{{}}}{{{{{yy{{{{{{zzzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{zzzzzz{{zzzzzz{{{{{{zz{zzzzzzz{{{zzzzzzzzzzzzzyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyy{{{{{yyyzzzzzz{{{{{{{{zzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{~{{{{~~~}}}}}}}~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{zz{{{}}{{{{{}}}~~~}~~~~~~~~~~~~~~~}}}}}{{{{{{{}}{{{{{{{{}{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}}}}~}}}}}}}}}}{{{{}}{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{{zzzzzz{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyy{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~}}}}~~~~~}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{}}{{{{{zzyyyyzzzzzzzzzzzzzyyyyyzyyyyyyzzzzzz}}{{}}}}}}{{{{yyy{{{{{{zzyyyyzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzz{{{zzzzzzz{{{{{{{{{{zzzzz{{{{{{{zzzzzzzzzyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyy{{{{{yyyzzzzz{{{{{{{{{zz{{z{{zzzzzzzz{{{{{{zzzzzzzzzzzzzzz{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{~~}}}}~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{zzz{{{}}{{{{}}}}~~~}~~~~~~~~~~~~~~~~}}}}}{{{{{}}}{{{{{{{{{{z}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{{{zzzzz}}{{{{{{zzzzzzzzyyyzyyyyyyyyyyyzz{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}{{{{{{{{{{{{{{{zzyyyyzzzzzzzzzzyyyyyyyyzzzzyyyzzzzzz}}{{}}}{{{{{{{yyyy{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{zzzzz{zzzzzzzz{{{{{{{{{{{zzzz{{{{{{{{zzz{zzzzzzyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyy{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{zzz{{{z{{{{{{{{zzzzzzzzzzzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{zz{{{}}{{{{{}}~~~}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{zz{}}}{{{{zzzzzzzzzyyyzzzzzyyyyyzzzz{{{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}{{{{{{{{{{{{{{zzyyyzzzzzzzzyyyyyyyyyyyzzzzyyyzzzz{{}}yyyzz{{{z{{yyyyy{{{{{{zzyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzzzzzzzzzz{{{{{{{{{{{{zzzz{{{{{{{{{{{zzzzzzzyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyzyyyyyyy{{zzzzzzzzzz}}}}}}}{{{{{{{{{{{{z{{{{{{{{{{{{{zzzzzzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{z}}}}}{~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{zzz{{{{{{}}}~~~~~}}}}}}}~~~~~~~~~~~~{{{}}}}}}}}}{{{{{{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{}}{{{{{{zzzzzzzzzzzzzzzzzzzzyzzzzz{zzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzz{{{yyyyzz{{yzzzyyyyyy{{{zzzyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{zzz{{{{{{{{{{{zzzzzz{{{{{{{{zzzzzzyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzyyzzyyyyyy{zzzzzzzzzzz}}}}}}}{{{{{{{{{{{{{{{{{{z{{{{{{{zzz{{{{zzz{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzz}}{{~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{zzz{{{{{}}}}~~~~}}}}}}}~~~~~~~~~~~}}{{{}}}}}}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{zzzzzyyyyyyyyyyyyzzzzzzzzzyyyzzzzzz{{{{{{{{{{}{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyz{{{yyyyy{{yyyzyyyzzyyzzzzzyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{zzz{{{{{{{{{{{zzzzzz{{{{{{{{{{zzzzyyyyyyzzzyyyyyyyyyyyzyyyyyyyzzzzzzzzyzzzzzzyyyyyyzzzzzzzzzzzz}}}}}}}{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{zzzzz{{{{~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{}}}}~~~~}}}}}}}~~~~~~~~~~}}}{{{{}}}}}}}}{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}{{{{}{{{{{{{zzzzzyyzzyyyyyyyzzzzzzzzzzyyyzzyzzz{{{{{{{{{{{{{{{{y{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~}}}}{{{{{{z{{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyzzz{yyyzz{{{yyyyyzzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{z{{{{{{{{{{{{{z{{zz{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyzyyyyyyyzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzz}}}}{{{}{{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}~}~~~~~~~~~~~~~~~~}}}}~~~}~~~~~~~~~}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}{{{{{zz{{{{{}}}}}~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}}}}}}~~~~~~}}}}}~~~~~~~~~~~~}{{{{}}}}}}}}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}{}}}}{{{{{{{zzzzzzzzzyyyyyyyzzzzzzzzzzyyyyyyzzz{{{{{{{{{{{{{zzzyy{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}}}}}}}}{{{{zz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyzzzzzzzzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyzzyyyyzzyzzzzzzzzzzzzzzzzyyzzzzzzzzz{{{{{zz}}}}{{}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~~~}}}}~~}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}{{{{zz{{{}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}~~~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzyyyyyyyzzzzzyzzzzzyyyyyyzzz{{{{{{{}}{{{{{zzyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}}}}{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{zzyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zz}}}}}{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}}}}}zz{{{{{{{{}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{}}}}}}}~~~~~~~~}}}}}}}~~~~~~~}}}}}}}}~~}}{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}~}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzzyyyyyyyyyzzyyyzzzzyyyyyyz{{{{{{{{{}}{{{{{zyyyzzzzzzzzzzzzzzzzzz{{{zzzzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~}}}}}{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{{{{{{{{{{{{{{{{{{}}{{{{zz{{{zzzzzzzzzzyyyyyyyyyyyyyyzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{}}}~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{}}}}}~~~~~~~~~~~~~~~~~~}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}zzz{{{{{{{{{yy}}}~~~~~~~~~~~~~~~}}~~~}}}}}{{{{{{{{{{{}}}}}}}~~}}~~~~}}}}}}}~~~~~~~}}}}}}}}~~~~{{{{{{{{{}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyzzyyyyyyy{{{}}}{{{}}zz{{zzzyyzzzzzzzzzzzzzzz{{{{{{{zzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}}}}}{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzzzzzz{{{{{{{{{{{{{{{{{{{{{{}}{{{{{zz{{{zzzzzzzzzyyyyyyyyyyyzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{}{}}}{{}}}{}}}}}}~~~~~~~~~~~~~~~~}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}zzz{{{{{{{{zyy}yy~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{}}}}}}~~~}}}}}~}}}}}}}}~~~~~}}}}}zzz~~~~~{{{{{{{{}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}{{}}}}}zzzzzzyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}}}}}}{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzzzz{{{{{{{{}}{{{{{{{{{{{{{{{{zz{{{zzzzzzzzyyyyyyyyyyyyzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{z{{{{{{{{}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}}}}}{}}}}}}}}}}~~~~~~~~~~~~~~~}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}{{zzz{{{{{{zzyyyyy~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{}}}}}}~~~}}}}}}}}}}}}}}~~~~~}}}}}zz}~~~~{{{{{{{{{}}}{{}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{zzzzzyyyzzyyyyyyyyyyyyyyyyyyyy{{{{{{{{{}}}}}zzzzzyyyyyzzzzzzz{{{zzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}}}}}}}{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzzzyyyyyyyyyyyyyyyzzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzzzzzyyzzz{{{{{{{}}}}}{{{{{{{{{{{{{{{z{{{{zzzzzzzyyyyyyyyyyyyzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{}}}}}}~~~~~~}}}}}}{{{}}{{}{{{}{{{}}{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}{{zz{{{{{{zzzzzzyy~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{~~~}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}{z}}}~~{{{}}}}{{}}}}}}}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{}{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{zzzzzzyyyyyyyzzzzz{{{zzzz{{{{zz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~}}}}}}{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzz{{{{{{}}}}}}{}}}}}{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{~~}}}~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{zzzzz{{{{{zzzzzzzyyyyy~~~~~~~~~~~~~~}}}}}}}}}{{{{zzz~~}}}}}}}}}}}}}}}}}}}}}}}}~~~{{{{{{{{{}}{{{}}}}{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{}}{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{zzzzzzyyyyyyyzzzzz{{{zzzzzz{zzzzz{{{}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~}}}}}}{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyzzzzz{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyzyzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{~~}~}}}~~~~~~~}}}}}}}}}}}}}}}}}{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{zzzzzzz{{zzzzzzzzyyyyyyyyyy~~~~~~~~~~~}}}}}}}}}}}}zzz{{~}}}}}}}}~~~}}}}}}}}}}}}~~~~{{{{{{{{{}}{{{}}}}z{{}}}}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}{{{{{{{}}{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyzzzzzzz}}{{{{{{{{zzzzzzzzzzyyyyzzzzz{{zzzzzzz{zzzzzz{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~{{~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~}}}}}{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzyzzzyyyyyyyzzzyyyzzzzzzyyyzzzzzzzzzzzzzzzzzzzz{{{{{{z{{~~}}~~~~~~~}}}}}}}}}}}}}}}}}{{{{}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}~~~}}{{zzzzzzzz{zzzzzzzyyyyyyyyyyyy{{~~~~~~}}}}}}}}}}}}}{{z{{}}}}}}}}}}~~~}}}}}}}~~~}}~~}}{{{{{{{{{}{{{{{{{zz{{~~~}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}}}}}}}}}}{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyzzzzzzz}}{{{{{{{{zzzzzzzzzzzyyy{{{zz{{zzzzzzzzzzzzzz{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~{{{~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyzzzzzzzzzyyyyyyz{{{zzzzzzzzzzzzzzz{{{{{zz{{}}~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z{{}}~~~}}}{{{zzzzz{{zzzzzzzyyyyyyyyyyy{{~~~~~~}}}}}}}}}}}}}{{{{{{}}}}}}}}}}~~~}}}}}}}~~~~}~~}}{{{{{{{{{}}{{{zz{zzz~~~~~}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}~~~~~~}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyzzzzzzzyyy{{{{{{{zzzzzzzzzzzyy{{{{zz{{zzzzzzzzzzzzz{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{z{~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~}}{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{}{{{{{{{}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyzzzzzzzzzzyyyzz{{{{{{{{{{{zzzzzzz{{{{zzzzz{{}~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzz{{~~~}}}}{{{zzzzz{{zzzzzzzyyyyyyyyyyyy~~~~~}}}}}}}}}}}}}}}{{{{{{}}}}}}}}}~~~~}}}}}}}~~~~}}}}{{{{{{{}}}}zz{{zzzzz{{{{~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}~~~~~}}}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyzzzyyyyyyy}}{{{{zzzzzzzzzzzzzz{{zzz{{zzzzzz{{zzzz{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}~~}}{{{{{z{{~~~~}}zz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{}}}}{{{{{}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzyyzyyzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzz{{{{{{zzzzz{{{{{{~~~~~}}}}}}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzzzz~~~~}}}{{{{{{zzz{{zzzzzzzyyzyyyyyyyyy{{~~}}}}}}}}}}}}}{{{{{{{{}}~~}}}}}}~~~~~}}}}}}~~~}}{}}{{{{{{{}}}}zz{{zzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}~~~~}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyy}}}}{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzz{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}}}}}}{{{{{{{~~~~~}zzz}{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~}}}}}}}}}}~}~~}}{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzz{{{{}}}}}}{{{}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzz{{{{{{{zzzz{{{{{{{{~~~~}~~~~}}~~}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzz~~}}}}{{{{{{{zzzzzzzzzzzzzzzyyyzzyyyyz{{{}}}}}}}}}}}}{{{{{{{{{{}~~}}}}}}~~~~}}}}}}}}~~{{{{{{{{{{{{}}zzzzzzzzzzzzzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}~~~~~}}}~~~~}}}}}}}}}}}{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyy{{}}{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}}}}{}}}zzz{{{{{~~~{{zz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~}}}}}}}}}}}zz}}zzz{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyzzz{{{{}}}}}}}}}}~~}}}}}}}}}}{}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{zz{{zzzzzz{{{{{{{{{{{{{{{{{{{~~~~~~~~~}}~~~}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{~~}{{}{{{{{{yzzzzzzzzzzzzzzzzzzzzyyyyzz{}}}}~}}~~}}}~~{}}{{{{{{}}}}}}}}}}~~~}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzz{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}{{{{{zzz{{{zzzzyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzzz{{{{{zzzz{{{zzz{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}{{{{z}}zzzzzz{{{{{{{{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}zzzzzzzzz{{{{zzzzzyyyyyyyyyyyyyyyzzyyyyyzzzzyyyyyyyzzzzzzzzzzzzzyyyyyzzyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzyyyyyy{{{{{}}}}}}}}}~~~}}}}}}}}}}}}{{{{{{{{{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzz{{{z{{{{{{{{{{{{{{{{}~~~~~~~~}}~~~}}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{~~{{{{{{{{{yyyyzzyyzzzyyzzzzzzzzzyyzzzzz}}~~~~~~~}}}}~}}}{{{{{{}}}}}}}}}~~~~}}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzz{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{zzzzzzzzz{{{{{{{{zz{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzz{{zzzz{{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}{{{zzzz{z{{{{{{zzzzzyyyyyyyyyyyyyyyzzyyyyyzzzzzyyyyyyyzzzzzzzzzzzyyyyyzzzzzzzzyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyy{{{{}}}}}}}}}~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{zzzzzzzzzz{zz{{{{{{{{{{{{{{{}}}~~~~~~~}}~~~~}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}{{{{{{{~~~{{{{{{{zyyyyzzzyyzzyyyyzzzzzzzzzzzz{zzz}~~~~~~~~}}}}}}}{{{{{}}}}}}}}}}~~~~}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzzz{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyzz{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzz{{{zz{{{{{{{{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zz{{{{{{{{{{zzzzyyyyyyyyyyyyyyzzzyyyzzzzzzzyyyyyyyzzzzzzzzzzzzyyyzzzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzzzzzz{{{}}}}}}}}}}}~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{zzz{{z{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{{{{{}}}~~~~~~~~~~~~~}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~}}{{{{{{{zz{{{{{{zzyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{~~~~~~~~~~}}}}}}}}}{{{{}}}}}}}}~~~~~}}}}}}}}}}}}}{{{{{zzzzzzzzzzz{zz{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyzzz{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{zzz{{{{z{{{{{{{zzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyzzzyyzzzzyyzyyyyyyyzzzzzz{{zzzzyyzzzzzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{z{zzzzzzz{{{{{{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{}}{{{{{}}}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}{{{{{{{zz{{{{{zzzyyyyyyyyyyyyzzyyyzzzzzzzzz{{{{~~~}}~~~~~}}}}}}}}}}{{{~}}}}~}}~~~~~}}}}}~~~}}}}}{{{{{{{zzzzzzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyzz{{z{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}{}}{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyzzzyyyyzzzyyzzzzyyyyyyyyyyyyzzzz{{{yyyzzzzzzzzzyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{}}}}~~~~}}}}~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{z{{{zzzzzzzzzzzzz{{{}}}{{}{{~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~{{{{{{{{{z{{{{{{zzyyyyyyyyyyyyyzzyyyzzzzzzzzzz{{{{~~}}}~~~~~~}}}}}}}}{{~~~~~~~~}~~~~}}}}}}}~~~~~}}}{{{{{{{zzzzzz{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}zzzzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyzz{{z{{{{{{zzzzzzz{{{{{{{{{{{}{{}}{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}~~~}}~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~{{}}{{{zzzzz{{{{{{{{{{zzzzzzzyyyzzzzzzzzzzzyyyyyzzzyyyyyyyyyyyyzzzz{{{yyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{zzzzzzzzzzzzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{zzz{{{zzz{{{{{{{{{{{{{{{zzz{{{zzzzzzzzzzzz{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}{{{{{{{{{{zz{{{{zzyyyyyyyyyyyyzzzyzzzzzzzzzz}}{{{{}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}}}}}~~~~~~}}}{{{{{{{{zzzzz{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}}}}}}}}{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{zzzzzzz{{{{{}}{}}}}}}}}{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}~~~~~}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~}{{{~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{~~{{{{{{zzzzzzz{{zzzz{{{zzzzzzzzyyzzzzzzzzzzyyyyyyyzzyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{zzzzzzzzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{zzz{{{zzzz{{{{{{{{{{{{{{zzz{{{zzzzzzzzzzzz{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{zzzz{{{zzzzzyyyyyyzzzzzzzzzzzzzzzzz}}}}{{}}}}}}~~~~~~~}~}}}}}}~~~~~~~~~~~~}}}}}~~~~~}}~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}}}}}{{{{{{{{zzz{zzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{zz{{{{{{{{}}}}}}}}}}}}{{{}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}~~~}}}}}}{{{{{{{{}}{{{{{{{{{{{{{{{{{{{~~~~}}{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzz{zzzzz{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyzzyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{z{{{{{{{zzzzzzzzzz{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{}{{{{{{{{}{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{zzzz{{zzzzzyyyyzzzzzzzzzzzzzzzzzzz}}}}~}}}}}}}}}~~~~~~~~~}}}}~~~~~}}}}~~}}}}}}~~}}}}}~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}{~~~~~~~~~~~~~}}}}}}}~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{}}}}}}}}{{{{{{{{zzzzzzzyyyyyyyyyyyyyyzzzzzzzzyyzzzz{{{{{{{{{{{{{}}}}}}}}}}}}}}}}{}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}}}}~}}}}}}}}}{{{{}}}{{{{{{{{{{{{{{{{{{{~~~~{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzzzz{{zzzzz{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyzzzzzzyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zz{{{{{{zzzzzzzzzz{{{~~}~~~~~~~~~~~~~~~~~~~~~~~~}}}}{}}}{{{}}{}}{{{{{{{{{{{{{{z{{{{zz{{{{{{{{{{{{{{{zzzzzzzzzzzzz}}}~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{zzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzz}}}~~~}}}}}}}~~~~~~~~~~}}}}~~~~~}}}}}}}}}}}}}}}}}}}}~~{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{{}{{~~~~~~~~~~~~~~~~~~}~~~~~~~}}~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{}}}}{}}{{{{{{{{{{zzzzzzyyyyyyyyyyyyyzzzzzzzzzzyyzzz{{{{{{{{{{{}}}}}}}}}}}}}}}}}}{}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}}~~}}}}}}}}{{{{}}}}{{{{{{{{{{{{{{}}{{{~~{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zz{{{{{{{zzzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{}}}}}}}{{{{{{{{{{{{z{{{{zz{{{{{{{{{{{{{{{zzz{zzzzzzzzz}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{zzzzzzzzyzzzzzzzzzzzzzzzzzz{{{{}}~~~}}}}}}}~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}{{{{{}}}}}}}}{{{{{{{{{}~~~~~~~~~~~~~~~~~}~~~~~}~}~~~~~}~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz{{~~~~}}}{{}}{{{z{{{{{{{{{{zzzzzzyyyyyyyyyyyyyzzzzzzzzzz{{{zz{{z{{{}}}}{}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}}}}}{}{}}}}{{{{{{}}{{{{{}}}{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}}}}}}}{{{{{{{{{{{zzz{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzzzzzzzzzzzzzzzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{zzzzz{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}}}}}}{{{{{{{{{{{zzzzyyyz{{}}{{{{{{{{{{{{zz{zzzzzz{{{~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{~~~}}}}}}}~~~~~~~}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzz}{{{{{}}{{{{}}}}}}}}}{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~}{{~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zz{{~~~~~}}{{{{{zzz{{{{{{{{{{zzzzzzyyyyyyyyyyyyyzzzzzzzzzz{{yyyyzz{{{}}}}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{}}}}{{{{}}{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}}}{{{{{{{{{{{zzz{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyyzyyyyyyy{{{{{{{{{{{{{{{{z{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzyyyyy{{}}{{{{{{{{{{{zz{{zzzz{{{{{~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}~}~~~~}~~~~~}}}~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}~~}}}}}}}~~~~~~}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzz}}}}}}}}}{{}}}}}}}}}}{{{}}{{}}~~~~~~~~~~~~~~~~~~~~}}}}{{~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{~~~~~~~}}yyy{{{zzz{{{{{z{{{{zzzzzzzzyyyyyyyyyyzzzzzzzzzzyyyyyyzz{{{{}}}}}}}}}}}}}}}~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{}}}}}}}}{{{{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyzzzzzzzzzyyyyyyzyyyyyyyyyyyzzzzzzyzzyzzz{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}}}{}{{{{{zzzyyyyyyy}}}{{{{{{{{{{{{{{zzzzz{{{{}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}~~}~~~~~~~}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzz{{zz{{{{{{{{}}}}}}}}}}}}~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{}}{{{zzzz}}}}}}}}}}}}}}}}}}}}{{}}}{}}}~~~~~~~~~~~~~~~~~~}}}}}}z}}~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~{{{{{{{~~~~~~~}}yyyy{{zzzz{{{{z{{{{{{{zzzzzyyyyyyyyyzzzzzzyyyyyyyyyyyyzz}}{}}}}}}~~}}~~~~~~}}}zzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyzzzzzyyyyyzzzyyzzzzyzzzzzzyyyyyyyyyyzzzzzzyyzzzzzz{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}~~~}}}}}}}}}}}{{{{zzyyyyyyyy}}}{{{{{{{{{{{{{{zzzzz{{{{{}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{zzzzzzzzzzzzzzzz{zzzz{{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}{{{}}{{zzzzz}}}}}}}}}}}}}}}}}}}}}}}}{{}}}}~}~~~~~~~~~~~~~~~~}yy}zzz}}~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}{{{{{{{{~~~~{{y}yyyyy{{zz{{{{{zz{{{{{{zzzzzzyyyyyyyzzzzzzzyyyyyyyyyyyyzz}}}}}}}~~~~~}~~~~~~}}}zzzz}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}z{{{{{{{{{{{{{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyzzzzyyyyyyyzyyzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}}{{{}}{{{{{{yyyyyyyy}}}}}{{{{{{{{{{{{{zz{{}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{zzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{zzzzz~~~}}}}}}}}}}}}}}}}}}}}}{{{}}}}}}~~~~~~~~~~~~~}}}yyyyyzzz~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzz{{yyyyyyyy{{y{{{{{zz{{{{zzzzzzzzyyyyyyzzzzzzzzzzyyyyyyyyyyyzz}}~~~~~~~~~~~~~~~~~}}{{zz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}}}}{{}}}}}}}}}z{{{{yy{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}{}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyzzzzzyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}{{}}}}{{yyyyyyyyyyz}}}}}{{{{{{{{{{{{{{{{{}}}}{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}}}}}}}}}}}{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}{{{{zzzz~~~~}}}}}}}}}}}}}}}}}}}}{{{{}}}}}~~{{~~~}}}~~~}}yyyyyyzzz~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{zzzzyyyyyyyyyyyy{{{{{zz{{{{zzzzzzzzyyyyzzzzzzzzzzzzyyyyyyyyyyyzzz~~~~~~~~~~~~~~~~~{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}}{{{zzz{{{}}}{{{{zzzz{yyz{{{{{{{}}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{}{{}}{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyzzzzyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzzz{{}}}{{{{{{{{{{{{{{}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}{{}}}}{{{yyyyyyyyyzz}}}}}{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}{{{zzzzz~~~~}}}}}}}}}}}}}}}}}}}}{{{{{}~~~{{{{{{~}}~~~~zzyyyyyyzzzz~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{zzzzyyyyyyyyyyyy{{zz{{zz{{yyzzzzzzzyyyzzzzzzzzzzzzzyyyyyyyyyzzzzz~~~~~~~~~~~~~~~}{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{}}{{{{{zzz{{{zzzz{{{zzzzzyyz{{{{{{{}}}}{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{}}{}{}}}{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyyyzyyyyyyyyyyzzzzzyzzzzzzzzzyyyyyyzzzzzzzzzzzzzz{}}}}{{{{{{{{{{{}}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}{{{{{{{zzzzzyyyyyyyyyz}}}}}{{{{{{{{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{yyyyy}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{{}}}}}}~~~~~~~}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}{{{zzzz}~~~~~~~~}}}}}}}}}~~}}}{{{{{{}~~~{{{{{{{{{{~~~zzzzyyyyzzzz~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{zzzzyyyyyyyyyyyyy{zzzyyyyyyyyzzzzzzyzzzzzzzzzzzzzzzyyyyyyyyyzzz{{~~~~~~~~~~~{{~~}}{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zzzzzzzzzzzz{{zzzzzzy{{{}{}{{}}}}}}}{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}{}}}}}}}}}{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzzzzzzzyyyyyzzzzzzzzzzzz{{{}}}}{{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{zzzzzzyyyyyyyy}}}}}}{{{{{{{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}~~~~~~~~~}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{yyyyyyzz}}}{{{{{{{{{{zzy{{{{{{{{{{{{{{}}{{{{{{}}}}}}~~~~~~~}~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}{{{z{{}}}~~~~~~~}}}}}}}}~~~}}{{{{{{{{~~{{{{{{{{{{{{zzzzzzzyyyzzzz~~}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{zzzzyyyyyyyyyyyyyzzzzyyyyyyyyzzzzzyyyzzzzzzzzzzzzzzyyyyyyyyzzz{{{~~~~~~~~{{z{{{~}}{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zzzzzzzzzz{z{{zzzzzzzz{{}}}{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzzzyyyyyzzzzyyyzzzzzzzzzyyyyyzz{zzzzzzzzz{{{}}}}{{{}}{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~}~~~~~{{{{{{{{{zzzzzzzzyyyyyyz}}{}}}}}{{{{}}}{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{yyyyyyzz{}}}{{{{{{{{{zzyy{{{{{{{{{}}}}}}{{{{{}}~~}}}~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}{{{{{{{}}~~~~~~~}}}}}}}}~~~}}}{{{{{{{~{{{{{{{{{}{{{zzzzzzzyyyzzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}{{{z{zzzzyyyyyyyyyyyyzzzzzyyyyyyyyyyyzyyyyyyzzzzzzzzzzzzzzyyyyyyzzz{{{~~~~~~~~{zzzzzzzz{{{{zzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzzzzzzz{{{{{{zzzzzzzz}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}~}}}}}}}}}}{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzyyzzzzzzzzzzzzyyzz{{{{{zzzz{{{{}}}}}}}}}}{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}}}~~~~{{{{{{{{zzzzzzzzzyyyyzzzz{{{{{}}}}}}}}}{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}}{zzyyyyyyyzz{{}}}}{{{{{{zzzyy{{{{{{{{{}}}}}}{}}}}}}~~~}}~~~~~~~~~}}~~~~~~~~~~~~}}}}~}}}}}}}}}}}}~~~~~~~}}}}{{{{{{{{{{}}~~~~~~~~}}}}}}}}~}}}}{{{{{{{{{}{{{{{{{}}{{zzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzzzzzyyyyyyzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyzzzz{{{~~~~~~~zzzzzzzzzz{{{{zzzz}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{zzzzzzzzzz{zz{{{{{{zzzzzzz}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}}}}}}}{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyzzzzzzzzzzzzzzzzzzzzzz{{{{{{{z{{{{{{}}}}}}}}}}{{{{{{{{}}~~~~~~~~~~~}}}}~~~~~~~~~~}}}~~{{{{{{}}~~~}{{{{{{{{zzzzzzzzzyyyyzzzz{{{{{}}}}}}}}}{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}{{{yyyyyyyzzzzz}}}}}{{{{{zzyyy{{}}{{{{yy}}}}}}}}}}}}~~~}}~~~~~~~~~~}}}}}}~~~~~~~}}}}~~}}}}}}}}}~~~~~~~~~}}}}{{{{{{{{{{}}~~{~~~~~}}}}}}}}}}}}}{{{{{{{{{}}{{{{{{{{{{{zzzzzzzzzzz{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{z{zzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzz{{{{~~~~~~zz{{zzzzzzzz{{{zzz}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{z{zzz{zzz{{{{{{{{{{zzzzzzy}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}}}{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzzzzzzzzz{{zzzzzzzz{{{{{{{{{{{{z{{}}}}}}}}}}}}}}}{{{{}}~~~~~~~~~~~~}}}~~~~~~~~~~~}}zz{{{{{{~~~~~}{{{{{{{{{zzzzzzzzzyyyzzzz{{{{{{}}}}}}}}{{{{{{{{{{~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}{{{{yyzzzyzzzzzzz}}}}}{{{{{zzzyy{{{}}{{{yyyy}}}}}}}}}~~~}}}~~~~~~~~~~}}}}}}~~~~~~~{{{{{~}}}}}}}~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{{~~}}}}}}}}}}}}}}}{{{{{{{{}}{{{{{{{{{{{zzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}{{{{{zzzzzzyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzzzzzzzzz{{{{~~~}}}{{{{{{zzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyy{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}}}}}}}}}}}{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyzzzzzzzzzzz{{zzzyzzzzz{{{{{{{{{{zzz{}}}}}}}}}}}}}}}{{{{~~~~~~~~~~~~~~}}}~~}~~~~~~~~{{zz{{{{{{{~}}}}{{{}}{z{{zzzzzzzzzzyyzzzz{}}{}}}}}}}}}}{{}}{{{{{{~~}{~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}{~~~~{~~~~~~}}}{{{zzzzzzzzzzzzz{{}}}}{{{zzzzzyy{{{{y{{yyyyyy~~~~~}~~~~~~}}~~~~~~~~~}}}}}}}~~~~~~~{{zz{~~}}}}}~~~~~~~~~~~~}}{{{}{{}}{}{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{zzzzzzzzz{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzzzzzzzy{{{{~~{}}}{{{{{{{{{zzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzyy{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}}}}}}}{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyzzzzzzzzzzz{zzyyyzzzzz{{{{{{{{{zzz}}}~~~~}}}}}}}}{{{{{~~~~~~~~~~~~~~}~~}}}~~~~~~~~{{{z{{{{{{{}}}{{zzyy}zzzzzzyyyzzzzzyyzzzz}}}{~~}}}}}}}}}{}}{{{zz}}~}{{~~{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}~~}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}{{{{{{{{~~~~}}}{{{zzzzzzzzzzzzzz{{}}yyy{{zzzzzyyy{{yyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}~~~~}}zzz~~~~~~~~~~~~~~~~~~~~~{{{{}}}}}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}{{{{{{{{{{zzzzzzzz{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyy{{{{{{}}{{{{{{{{{{{{{zzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzy{{{{{{{~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~~~{}}}}}}}}~}}}}}}}~~}}}}}{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzzzyyzyzzzzyyyyzzzzz{{{{{{{{{{{{}}}~~~~~~}}}}}}}{{}}{~~~~~~~~~~~~~~~~~}}}}}}~~}~~{{{{{{{{zzzzzzz{zzyyyyzzzzzyyyyzzzzyyzzzz}}}}~}}}}}}}}}}}}{{{{zz{{}{{~~}}{{{~~~z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}~~~~~}}}~~~~~~~~~~~~~~~~}}}~~}}}}~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{~~~~}}{{{zzzzzzzzzzzzzzz{{{yyy{{zzzzzzyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}zzzzzz~~~~~~~~~~~~~~~~~~~}}}{{}}}}}}}}}{{}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}{{{{{{{{{{zzzzzzzz{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyy{{{{{{}}}}{}{{{{{{{{{{z{zzzzzz{{{{~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{~~}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{}}}}}~}}}}}}}}}}~~~~~}}{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyzzzzzyyyyyyyyyyyzzzzzzzz{{{yy{{{{{{{~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{zzzzzzzzzzyyyyzzzzzyyyyzzzzzzzzzz}}}}~}}}}}}}}}}}}{{{{{{{{{{{{}}}{{{}}{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{~~~~}}{{{zzzzzzzzzzzzzzz{{{{yy{{{zzzzyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}zzzzzz~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{}}}}~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyy{{{{{{{}}}}}}{{{{{{{{{{{{{{zzzzz{{{{~~~~~~}}}~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{}}{{{{{{{{{{zzzzzzzz{{{{{{~~~{{{}}}}}~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{}}}}~~~~}}}}~}}~~~~~{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzzzyyyyyyyyyyzzzzzzzzzzzzzyy{{{{{{}}~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{zzzzzzzzzzzzzzzyyyyzzzzzzzyzzzzzzzzzzz{{}~~~~}}}}}}}}}}{{{{{{{{{{{{{}{{{{}}{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~}}}}{{{{{{}{{~~~~}{{{zzzzzzyyzzzzzzzzzz{{y{{{{yyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~}~~~~~~~}}}}{{{{{{{{zz{~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{z{{{{{{{zzzzzzzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~}}}}}}{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyy{{{{{{{{}}}}}{{{{{{{{{{{{{{zzzzz{{{~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{}}}}}}{{{{{zzzzzzzzzz{{{{{{{{{{{}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{}}{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~{{{{{{{}}}~~~~~}}}}~~~~~}}}{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyzyyyyyyyyyyzzzzzzzzzzzzzyy{{{zzy}}~~~~~}}}}}}}}}~~~~~~}}~~~~~~~~~~}}}}}}}}}}{{{{{zzzzzzz{{{zzzzzzyyyzzyzzzzzzzzzzzzzzzz{{~~~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}{{{{{{}}}~~}}}}{{zzz{{yyyyzzzzzzzzzyyy{{yyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}{zzz{{{{{zzz{{{{{{{zzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~{{{~~~{{~~~~~}}}}}{{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzzzzzyyy{{{{{{{{zzyy}}{{{{{{{{{{{{{zzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{}}}}}}{{zzzzzzzzzzzzz{{{{{{{{{{{}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}}}}zz{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{}}~~~}}}}}}}~~~~~}}}{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyy{{zzyyy~~}}}~~}}}}}}}~~~~~}}}~~~~~~~~~~~}}}}}}}}}{{{{{{zzzz{{{{zzzzzzzyyyyyyzzzzzzzzzzzzzzzzzz{~~~~{}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}{{{{{{}}}~~}}}}zzzzz{{yyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}zzzzz{{{zzzzz{{{{{{zzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~{{{{{{{{~~~~}}}}}}}{{zzzzzzzzzzzz{zzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyzyyyyyyy{{}{{{}zzzyy}}}{{{{{{{{{{{zzzzzy{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{}}}}}{{zzzzzzzzzzz{{{{{}}}{{{}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}{{{zzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{}}~~~}}}}}}}~~~}}}}}}{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyzyyyyyyyy}}}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzyyyyyzzzzzzzzzzzzzz{{zzz{{{{{{}}}~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}{{{{{{}}~~}}}}}zzzzz{yyyyzzzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{zzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}~~~~~~~~~}}}}}}}}zzzz{{zzzzzz{{{{{{{zz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}~~~~~~~~~~~}}{{{{{{{{~~~}}}}}}}}{{{{{zzzzzz{zz{{{{{{zzzyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyy{}}}}}}}yyyy}}}{{{{{{{{{{zzz{{yyy~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{}}}}}}{{zzzzzzzzzzz{{{}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{zzzz{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{zz{{{~~~~~~}}}}}~~~~~}}}}}}}{{{zzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyy~}}}~~~~~~~~~~~~}}}~~~~~}}}~~~~~~~~}}}}}}}}}{{{{{{{{{{{zzzzzzzzzyzzzzzzzzzzzzzzzz{{{zz{{{{{{{{{~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{~~}}z}}zzyyyyyyyyzzzzyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~}}~~~}}{{{{{{{{{{{{{zzz{{~~~~~~~~~~~~~~}}~~~~~~}}~~~~~}}}~~}}}}}}}}}}}~~~~~~~~~}}}}}}}}{{{z{{{{{zzz{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~}}}}~~~~~~~~~~~~}}{{{{{{{{{~}}}}}}}}}{{{{zzzzzzz{zz{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}{{{}zyyyyyyy{{{{{{{{{{{zz{{yyy~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{}}}}}}}zzzzzzzzzzzzz{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{z{{{{{{zzzz{{}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}zzz}}}~~~~~~}}}}~~~~~~~}}}}}}{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyy~}}~~~~~~~~~~~~~}}~~~~~~}}}~~~~~~~~}}}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{z{{{{{{{{{~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzzzzzzyyyyyyyyzzzzzyyyyyyyyzzzzzzyyyyyyyyyyyyzzzyyyyyyy{{~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{zzz{{~~~~~~~~~~~~~~}}~~~~~}}}}~~~~}}}}}}}~}}}}}}}}}~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~}}}{{{{{{{{{{}}}}}}}}{{{{{zzzzzz{{zzzz{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzyyyyyyy{{{{{{{{{{{{zzyyyyy~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}zzzzzz{zz{{zzz{{{}}}}}{}}}{{}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{zzz{{{{{zz{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}zzz{}}~~~~~~~~}}}~~~~~~}}}}}}{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyy~~}~~~~~~~}}~}}~~~~~~~}~~~~~~~~~~~~~}~~}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{zzzzzzzzyyyyyyyyzzzzzzyyyyzzzzzzzzzzzzyyyyyyyyyzzzyyyyyy{{{~~~~~~~~~{{{z}}}~}}{{{{{{{{{{{{{}}{{~~~~~~~~~~~~~~}}}~~}}}}~~~~~~~}}}~~~~}}}}}}}}}~~~~}}}}}}~}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~{{{{{{{{{{}}}}}}}}}}{{{{{{zzzzzz{{zzzyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}}{{{{{{{{zzzyyyy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}zzz{zz{{{{{{{zzz{{{}{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~y~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~{{{{{{zzz{{{{{z{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}zzz{~~~~~~~~~~~}}~~~~~~~~}}}}zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyy~~}}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}{{{{{{zzzzzzzyyyyyyyyyzzzzzyyyyzzzzzzzzzzzzzyyyyyyyyyyzyyyyyy{{{{{{{~~~~{{{zzz{{~}}}}}}}}{{{{{{{}}}~~~~~~~~~~~~~~~}}}~~}}}}~~~~~~~}}}~~}}}}}}}}}}}~~~~}}}}}~~}}{{{{{{{{{{{{{{{{{{{{{{{{}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~}{{{{{{{{{{}}}}}}}}}{{{{{{{{{zzzzzzzzyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}}{{{{{{{{zzzzzyy~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}{{{{{{{{{{{{{{{{{{{{{{{{zz{{{}}}~~~~~~~~~~~~~~~~~~~~~~yyyy~~~~~~~~~{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~{{{{{{{zzz{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~}}}}zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzyyyyyyyzzzzzzzzzzzzzyyyyyyyyyy~~}{}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{zzz{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{}{{}}}}}{{{{{{{{{{{{{}}{}{{{{{~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}~~}}~~~~~~~~~~~}}}}~~~~~~~~~~}{}}}}{{{{{zzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy{{{{{{{~~~{{{{zzz{{~}}}}}}}}}}}{{{{}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{~~~}}}}}~~}}}}{{{{{{{{{{{{{{{{{{}{{}}}{{{{{{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}~~~~~}}}}{{{{{{{{{{~~}~~~~}}{{{{{{{{{zzzzzzzyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz}}{{{{{zzzzzzzzzz~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}~~{{{{{{{{{{{{{{{{{{{{{{{z{zzz{{{}}~~~~~~~~~~~~~~~~~~~~~~yyyyy~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~}}{{{{{{{{zzz{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}~~~~~~~~~~~~~~}}}}}}}{{{{~~~~~~~~~~~~~~~~~~~~}}}}}yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzyyyyyyyyzyyzzzzzzzzzyyyyyyyyyy{{{{{~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{zz{{{}}}{{{{{{{{{{{{{}}}}}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zz}}}~~~~~~~~~~~}}~~~~~~~~~~~{{}}}}{{{{zzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyy{{{{}}~~z{{{{zzzzzz{{}}}}}}}}{{{{{}}}}~~~~~~~~~~~}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{~~}}}}}}~~}}}}{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}~~~~~}}}}}{{{{{{{{{~~}~~~~{{{{{{{{{{zzzzzzzyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}{}}zzzzzzzzzzz~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}~{{{{{{{{zz{{{{{{{{{{{{{zzzz{{{{~~~~~~~~~~~~~~~~~~~~~zzzyyyyyyyyyy~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~}}{{{{{{{{zz{{{{{{{{{{{{}}}~~~~}}~~~~~~~~~~}}}{{}}}z~~}}}}~~~~~~~~~~~~}}}}}}}}{{{{{{{{{~~~~~~~~~~~~~~~}}}}yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzyyyyyyyyyyzzzzzzzzzyyyyyyyyyzz{{{{{~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{}{{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{}}{zzzzzz}}}{{{{{{{{{}}}}}}}}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{}}}{{{{zzz{{~~~~~~~~~~~{{{{{{~~~{{z~zz}yy}z{{{{zzzzzzzzyyyyyyyyyzzzzzzyyzzzzzzyyzzzzzzzyyyyyyyyyyyyyyyyyy{{{}}zzzz{{{zzzzzz{}}}}}}}}}{{{{{}}}~~~~~~~~~~~~}}}}}~~~~~~}}}~~~}}}}}}}}}}}}}{{{{{zz}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}}}}}}}{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}~~~~~~~}}}{{{{{{{{{{~~~~~~{{{{{{{{{{zzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}}yyyyzzzzzz~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}{{{{{{{{{zz{{{{{{{{{{{{zzzz{{}}}~~~~~~~~~~~~~~~~~{{zzzzzyyyyyyyyyy~~}}}}{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{}}}}~~~}}}~~~}~~{{{}}}{zzzzzz~{{}}}~~~~~~~~~~}}}}}}}}}{{{{{{{{{{~~~~~~~~~~~~~~~zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzzzyyyyyyyyyyyzzzzzzyyzyyyyyyyyzzzz{{{~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}}zzzzzzzzz}{{{{{{{{{}}}}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{}}{{{{zz{{{{~}}}~~~~~~~{{{{{{~~~{zzzzzyyyyz{{{{zzzzyyzzyyyyyyyyzzzzzzyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyy{{{zzzzzz{{zzzzyyyz}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}~~~~~}}}}~~}}}}}}~}}}}}}{{{{{{zz}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}}}}}}~~~~}}}}}{{{{{{{~~~~~~{{{{{{{{{{{{{zzzzzzzyyyyzzz{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzyyy{{{{yyyyyzzzyyyzzz~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}{{{{{{{{{{zzzz{{{{{{{{{{zz{{{}}}}~~~~~~~~~~~~~~~~{{{zzzyyyyyyyyyyyyy~~}}}}{{}}}~~~{~~~~~~~~~~~~~~~~~~~~~}}}}}}~}~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{}}}}}~~~}}}~~~}}{{{{}}}{zzzzzzy{{{zzzz~~~~~~~~}}}}}}}}}{{{{{{{{{{~~~~~~}}~~~~~~zzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzzz{{{~~~}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{}{{{{{{{{{{{{{{{{{zz{{{{}}}{{{{{{{{{{{zzzzzzzzzzzzzz{{{{{{{{{}{}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{zz{{{~~}}}~~~}}}{{{{{{zzzzzzzzzzyy{{{{{{{yyzzyyzzyyyyyyyzzzzzzzzyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyzz{{zzzzzzzzzzzzyyyyzz~~}}}}}{{}}}}}}}}~~~~~~~~~~~~{}}{{{{~~}}}}}}}}}}~~~~}}}}}{{{zzzzzzz}}{{}}}}}}}{{{{{{{}}{{{{{{{{{}}}}}}}}}}{{{{{~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}~~~}}}}{{{{{{{{}}~~~~{{{{{{{{{{{{{zzzzzzzzyyyzzz{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzy{{{{{yyyyzzzzyyyzzz}}}~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{zzz{{{{{{z{{{zzz{{{}}}~~~~~~~~~~~~~~~~{{{zzzzzyyyyyyyyyyyyy}}}}}}{{{{{~{{{~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zz{{{}}}}}}}~~~~~~~~}}}{{{}}}}{{zzzzyyzzzzzzz~z~~zz}~}}}}}}}}}{{{{{{{{{~~~~~~}}}~~~~~~zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyzzz{{{{~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzz{{}}}}{{}}}{{{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{}}~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zz{{{~}}}}~~~}}}{{{{{{zzzzzzzzzzzz{{{zzzyyyyyyyzzyyyyyyyyzzzzzzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzzzyyzzyyzzyyyyzz~}}}}{{{{{{{}}~~~~~~~~~~~~~{{{{{{{{~~}}}}}}}}}~~~~}}}}}{{{{zzzzzzzz{{zzz}}}}{{{{}}}}}}{{{{{{{{}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}}~~~}}}}{{}{{{{{{}}~~~{{{{{{{{{{{{{zzzzzzzzzyyyzzz{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{yyyyyyyzzzzyzzzzz}}~~~~~~~~}~~}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{z{{zz{{{{{{{{zzzzz{{{{{}}}~~~~~~~~~~~~~~{{{{{zzzzzyyyyyyyyyyyyy}}}}}}{{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{zz{{}}}~~~~}}}~~~~}}}}~~{{}}}}{{zzzzyzzzzzzzzzzzzz}}}}}}}}}}}}{{{zz{{{}}~}}~~~}}~~~~{{zzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzzzzzzzzyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzyyyyyyyyyyyyzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{}{{{{{{{{{{{{{{z{{}}}}{{}}}}{{{zzzzzzzzzzzzzzzzz{{{{{{{{{{}}}~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{zz{zzz}}~~~~~{}{{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzyyyyyyyzzzzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzyyyyyyyzzyyyyyy}}{{{{{{{~~~~~~~~~~~~~{{{{{{{{{{~~~}}}}}}}}~~~~}}}}{{{{{{zzzzzzzzzzzzz}}}{{}}}}}}}}{{{{{{{~~~}}}}}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}}~~~~}}}}}}}}}{{{{{{{}}~~{{{{{{}}{{{zzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyzzzzzzzzzzzz~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~{{{}}}}}}}{{{{{{zzz{{z{{{{{{{{zzzz{{{{{{}}}~~~~~~~~{{{~~~{{{{{{{zzzzzyyyyyyyyyyzz}{}}}}{{{{zzzzzzz{{~~~~~~~~~~~~~~~~~~}}}~~~}~~~~~}~~~~~}}}}}}}{{{{{{{{{{{{{}}}~~~~}}}}~}}}}}}~{{}}}}zzzzzzzzzzzzzzzzzzz}}}}}}}}}}}}}{zzz{{{{}}}}}~~~}}~~~~{{{yyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzzzyyyyyyyyyyyyzyyzzyyyyyyyyyyyyyyyyyyyyyyy{{{zz{{{{~~~~~~~~~~~~~~}}~~~}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{}{{{{{{{{{{{{{}}}}}}}}}}}}zzzzzzzzzzzzzzzzzz{{{{{{{{{{}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{zzzzzzzz~~{}}{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzyyyyyyyyzzzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyy}}{{z{{{~~~~~~~~~~~}}{{{{{{{{{{}~~}}}}}}}}~~~~}}}{{{{{{{zzzzzzzzzzzzz{{}{{}}}}}}}{{{{{{{{~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}}}}}}}{{{{{}}}}}}}}}}}}}}}}zzzzz{{{zzzzzzzzzzz{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyzzyyyyyyyyzzzzzzzzzz{{{~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}{{{}}}{{}}{{{{{{zzz{{{{{{{{{{zzzz{{{{{{}}}}~~~~~~~~{{{}}{{{{{{{{zzzzzyyyyyyyyyyzz{{{}}}{{{{zzzzzz{{{~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}~~~~~}}}}}}}{{{{{{{{{{{{{{}}~~~~}}}}}}~~~}}}}zz}}}zzzzzzzzzzzzzzzzzz{{}}}}}}}}}}}}{zzz{{{{{}}}}}~}}}}{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzzzzzyyyyyyyyyyzzzzzyyyyyyzyyyyyyyyyyyyyyyy{{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}}}}}}}}}zzzyyzzzzzzzzzzzzz{{{{{{{{{{{{~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzzzzz~~{{}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}zzz{{~~~~~~~~~~}}}{{{{{{{{{}}}~}}}}}}}}}~~~}}}{{{{{{{{zz{zzzzzz{{{{{}}}}}}}}}}}{{{{}}}~~~~~}~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~}}}}}}}}}}}{{{{}}}}}}}}}}}}}}}zzzzzz{{{zzzzzzzzzzzzz{zz{{{zzzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzz{{{{~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}}{{{{{{{}{{{{zzzzzz{{{{{{{{{{zzzz{{}}}}}}}}}~~}}}~~{{{}}{{{{{{{zzzzzyyyyyyyyyzyzzzzzzz{{{{{zzzzzzz{{~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}~~~~}}}}}}}}}{{{{{{{{{{{{{}}{~~~~}}}}}~~~~}}}zz}}zzzzzzzzzzzzzzzzzzz{{}}}}}}}}}}}}zzzzz{{{}}~~}}}}}}}{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzzzyyyyyyyyyzzzyyyyyyyyyzzzzzzyyyyyyyyyyyy{{{{{{{{~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{}}}}}}}}}}}zzzzyyzzzzzzzzzzzzz{{{{{{{{{{{{}}~~~~}}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}}}}}z{{z{{zzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{}}zzzz}}~~~~~~~~~{{{{{{{{{{{{{{}}}}}}}}}}}}~~~}}}{{{{{{{{{{{zz{{zzz{{{{{{}}}}}}}}}}{{{}}}~~}~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~}}}}}}}}}}{{{{}}}}}}}}}}}}}}}zz{{{{{{{{zzzzzzzzzzzzzzz{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{zzzzzz{{{zzz{{{{{zzzz{{}}}}}}}}}~~~}}~}}{{{{{{{{{{zzzzzzzyyyyyyyzzzzzzzzzzz{{zzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}}}}}}}}{{{{{{{{{{{{{yy{{~~~}}}}zz~~{}}{{zzzzzzzzzzzzzzzzzz{{zz{{{}}}}}}}}}}}zzzzz{{{}}~~~~~}}}}{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{yyzz{zzzzzyyyyyyyyyyzyyyzyyyyyyzzzzzzyyyyyyyyyyy{{{{{{{{}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}{{{{{{{{}}}}}}}}}}{{zzzzyyyzzzzz{{zzzzz{{{{}{{{{{{}}}~~~~}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}}{zzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}{}zzzy}}}{~~}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}~~}}}{{{{{{{{{{{{zz{{zzz{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~~~}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~}}~}}}}}}{{{{}}}}}}}}}}}}}}zz{{{{{{{{{{{zzzzzzzzyyzz{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{zzzzz{{{zzzz{{{{{zzzz{{{}}}}}}}~~~~}}}}}}{{{{{{{{zzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}}~~~}}}}{{{zz{{{{{{{zyyy{{~~~~}zzz~{{}}{{zzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}zzzzz{{{~}~~~~~~{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzzzzzzzzzzzyyyyyyyyyzzzzyyyzzzzzzyyyyyyyyyyyyyy{{{{{}}}~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}{{{{{~~~}}}}}}}{{{{zzzzyyyzzzz{{zz{{zz{{}}}}{{}}}}}~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~{{{}{zzzzzzzzzz{{{{{{{{{{{{{{{{{zz{{{zz{zzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}yyyyyy}}}{{}}{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~}}}}{{{{{{{{{{zz{{zzzz{{{{}}~~~~~}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~}}}}}}{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzyyyzz{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{zzzzzzz{{zzzzz{{{{zzzz{}}}}}}}}}~~~~~}}}}}}}{{{{{{{{zzzzzzzyyyzzzzzzzzzz{{{zzzzzzzyyyzzz}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~}}}{{{{{z{{{{{{zzyyyyyzz~~zzyy{{{{{{{{zz{{zzzzzzz{{{{{{{{{{{{{}}}}}}}}}}}zzzzzzzz~~~~~~~~{{{{zyyyyyzzzyzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzzzzzzzzzzzzzzzzyyzzzzzyzzzzzzzyyyyyyyyyyyyzyyyyyy}}}}}~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}{{{{}~~~~~}}}}}{{zzzzzzyyyyzzz{{{z{{{{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyy}}}{{{}{{{{{{{{{{{{{{{{{~~}}}}}}}}}}}~}}}}}}}}}{{{{{zzzzzzzz{{{{{}}~~~~~~{}}~}}}}}~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~}}}}}}{{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzyyyyy{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyzzzzzzzzz{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{zzzzzz{zzzzzzz{{{zzzz}}}}}}}}}}~~~~~}}}}}}}{{{{{{{{zzzzzzzzyzzzzzzzzz{{{{{{{zzzzyyyyzzz}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~}}}}{{zz{{{{{{{{zzzyyyyzzzzzyyy{{{{{{{{{{{{z{{z{zz{{{{{{{{{{{{{}}}}}}}}}}}zzzzzzzz~~~~~~~~zzzzzyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzyyyyzz}}}}~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}}~~~~}}}}}}{zzzzzyyyyyzz{{{{{{{{}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{zzzz{{{{{{{{{{{}}{{{{{{{{z{{{{{{{{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyy}}}{{{{{{{{{{{{{{{{{{{{{~~}}}}}}}}}}}}}}}}}}}}}}{{{{zzzzzzzz{{{{{{{}}}~{{{{~~~}}}}~~~~~}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~}}}}}}}}{{{{}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyzzzzzz{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{zzzzzzzzzzzzz{{{zzzzz}}}}}}}}}}~~~~}}}}}}}{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{z{{zzzyyyyzzzz~~y~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}zz{{zz{{{{{{{zzzzzyyzzzzzzyyyy{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{}}}}}}}}}}}}zzzzzzzzz~~~~~~zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzz~~}~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~}}}{{{zzzzzyyyyyz{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}~~{~}}}{{{{{{{{zzzz{{{{{{{{}}}}}{{{{{{{zzz{{{{{{{zzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{zzzz{{{{{{{{~~~}}}}}}~}}}}}}}}}}}}}}}{{{{zzzzzzzz{{{{{{{}{{{{{{~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}~~~}}{{{{}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyzzzzzzzzzyyyyyyyyyyyzzz{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{zzzzzzzzzzz{{zzzzzz{{~~}}~~}}}~~~~}}}}}}}}}{{{zzzzzzzzzzzzzzzzzyzzz{{{zzzzzzzyyyyzzzzyyyyyyy~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}zzzz{{zz{{{{{{zzzzzzyyyyyyzyyyyy{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}zzzzzzzz~~~~~~zzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{zzz{{zzzzzzzzzzyyzzyyyyyyyzz~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~}}{{{zzzzzzzyyy{{{{{{{{{{{{{~}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}}}{{{{{{{{zzzzz{{{{}}}}}}}}{{{{{{zz{z{{{{{{{{zz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyzzyzz{{{{{{{{{{{zzzz{{zz}}{{{~}}}}}}~~~}}}}}}}}}}}}}}}{{{zz{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}~~~~}}}{{{}}}}}}}}}}}{{{{{}}{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyzzzzyzzzzzyyyyyyyyyyzzz{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{zzzzzzzzz{zzzzzzzzz{{~~~~~~~}}~~~~}}}}}}}}}{{{{zz{zzzzzzzzzzzzyyyyy{{{yzyyzzyyyyyyzzyyyyyyyyy~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{zzzzzzzz{{{zz{zzzzzzzyyyyyyyyyyy{{{{{{zzz{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}zzzzzz{{~~~{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzz{{{zz{{{zzzzzzzzzzzzzzzzyyzzzzz~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~}}{{{zzzzzzzyyy{{{{{{{{{{}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{}}}{{{{{{{{zzzzz{{{{}}}}}}}}}{{{{{z{{{{{{{{{{{zz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzyyyyyyyzzzzzzzyyyyyyyyyyyyzyzzzzz{{{{{{{{{{{{zz{{{z}}}}{~~}}}}}}}~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}{{{}}}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}{~~~}}{}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzzzzyyyyzzzyyyyyyyyyzzzz{{{{{{{}{}}{{}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{zzzzz{{{zzzzzzzz~~~~~~~~~~}}}}~~}}}}}}}}{{{{{{{{zzzzzzzzzzzzzyyyy{{yyzyyzzzzyyyyzzyyyyyyyy~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{zzzzzzzzz{zzzzzzzzzzyyyyyyyyyyy{{{{{{{zzz{{{{y{{{{{{{{{{{{}}}}}}}}}}}}}}}}zzzzz{{{~~{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{zzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}}}}}}}}}}~~~~~~}{{{{{zzzzzyyzzz{{{{{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}{{{{{{{{{{{zzzzz{{{{{}}}}}}}}{{{{{{{{{{{{{{{{{z{{{{{{z{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzzzzyyyyyyzzzzzzyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{{{{{{{{{}}}~~~}}}}}}~~~}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}zz}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}{~~~}{{}}}}}}}}}}}}}}}}}{{{{{{zz{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzzzyyyyyyzzzyyyyyyyyzzzz{{{{{{}}}}}}{}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{zzz{{{zzzzzzzzz~~~~~~~~~}}}}~~~}}}}}}}}{{{{{{{zzzzzzzzzzzzzyyyyyzzzzzzzzzzyyyzzzyyyyyyyy~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}zzzz{zzzzzzzzzzzzzzzzzzyyyyyyyyyy{{{{zzzzzz{{{{y{{{{{{{}}{{}}}}}}}}}}}}}}}}}zzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzzzzz{{{{zzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzz~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}}~~~~~}}{{{{zzzzzzzzzzz{{{{{{{{~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~}}~~~~~~~}}}}}}}~~~~}}}}{{{{{{{{{{{{z{{{{{}}}}}}}}}}}{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzyzzzzyzzzzzzyyyyzzzzzzyyyyyyyyyyyyyzzzzzzzzzz{{{{}}{{{{{{{{{{{{~~~{yyy{{~~~~}}}}}}}}}}}z}}}}{{{{{{{{{{{{{{{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzyzzzyyyyyyyy{{z{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{zzz{{{zzzzzzzzz{~~~~~~~~}}}}~~~}}}}}{{{{{{{{{{zzzzzzzzzzzzzyyyyyzzzzzzzzzzzyyzzyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~}}}}}}}{{z{{{{zzzzzzzzzzzzzzzzzzyyyyyyyyyyz{{{{zzzzzzzzyy{{}}{{}}}}}}}}~~~}}}}}}}}}}}zzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzz{{{{zzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~}}}}}}}}}~~~~~}}}{{zzzzzzzzzzz{{{{{{{{{~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~}}}}}}~~~}}}}}}}}}}~~}}}}{{{{{{{{{{{{{{{{{}}}}}}~}}}}}}{{{{{{{{}}}}{{{{zz{{{{{z{{{{{{{zzzzzzzzzzz{{zzyyyyyyyyyyyyyyyyyzzzzyyyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzz{{{}}}yy{{{{{{{{{{}}{{yyy{{~~~~}}yyy}}}}}zzzz}}z{{{{{{{{{{{{{{zzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzzzzzyyyyyyyyy{{{{{{{{{}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}{{{{{{{{{{{{zz{{{zzzzzz{{{{{zz~~~~~{}}}}}~~~{{}}{{{{{{{{{{{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyy~~~~~~~~~~~~~}}~~}}}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyzzzz{{{{{{{{zzzzy{}}}}}}}}}}}}}~~~}}}}}}}}}}}zz{{{{{{{{{{{{zzzzzzzz{{{{zzzzzz{{zzzzzzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{zzzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzz{{{{~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}~~~~~}}{{{zzzzzzzzzz{{{{{{{{{}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}}}~~~}}}}}}}}~}}}}}}}}}{{{{{{{{{{{{{{{}}}}}}~~}}}}}{{{{{{{{}}}}{{{zzz{{{zzz{{{{zz{zzzzzzzzzzz{{yyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzyyyzzyzzzzzzzzzzz{{{}}}}yyyyz{{{{{{{}}{{yyy{{y}}}}yyyy}}yy}yyzz}zz{{{{{{{{{{{{{{{{{zz{zzz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{}}}}}}}}}}}}}~~}}}}{}}{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzyyyyyyzzzzyyyyyyy{{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~{{{{{{{{{{{{{{{{zzzz{zzzzzz{{{{{zz~~~~~{{{{}{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzz~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzz}}}}}}}}}}}}}}}}}}}}}}}}}}}zz{{{{{{{{{{{{zzzzzzz{{{{{zzzz{{{{{{{zzz{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}~~}}}~~~~}}~~~~~~~}}{{{zzzzzzzzzz{{{{{{{}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}~}}}}}}}}~~~}}}}}}}}}{{{{{{{{{{{{}}}}}~~{{{{{}}}{{{{{{{{}}}}}{{{zzzz{{zz{{{{zzzzzzzz{{zzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzz{{{{zz{{{}}}zzzyyzzz{{{{{}}{{yyyyyy}}}}yyy{{}yyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{zz}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{}}}}}}}}}}}}}{{~~{{}}{{}{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyzzzzyyyyyyy{{{{{{{{{}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzzzz{{{zz{{{{{zzzzzzzzzzz{{{{zz{{{~~~{{{{{{{{{{{{{{{{}{{{{zzzzzzz{{{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzz~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzz}}}}}}}}}}}}~}}}}}}}}}}}}}}{{{}}}{}}{{{{{{zzz{z{{{{{{{z{{{{{{{{{{z{{zzzzzzzzzzzzzzzyyzzzzyyyyyzzyyyyzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzz{{{{{{{{{{zzzzzzzzz{{zzzzzz{{{{{{~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}}}}~~~}}~~~~~}}}{{{{zzzzzzzzzz{{{{{{{}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~}}}}}}}{{{{{{{{{{{{}}~}}~~~{{{{{{}{{{{{{}}}}}}}{{{{zzz{{z{{z{{zzzzzzzz{{yzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{{z}zzzyyzzzzy{{yyy{yyyyyyyy}}}yyyyyyyyyyyyyyyz{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}~~}~~~}}}{{{~~{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyzzzzzz{{{{{{{{}}}~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{zzzyyyyyzz{{{zzzz{zzz{{zzz{{{{zz{{}}~~{{{{{{{{{{{{{}}}}}{{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyy~~~~~~~~~~~~}}}}}}}{}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}}}}}~~}}}}}}}}}}}}}}{{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzz{{{{{{{{z{{zzzzzz{{{{{{{{{{{{{{{zzz{{{{{{{{{zz{{{{{}}~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~}}}~}}~~~~~~~~~}}}{{{{{{zzzzzzzzz{{{{{{{}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~}}}}}}{{{{{{{{{}}}}}~}}~~~zz{{{{{{{{{{{}}}}}{{{{zzzzzzz{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}}~~~~~~}}}{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{}}~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzyyyyyyzy{{{zzzz{{{{{{{{{{{{{{z{{}}{{{{{{{{{{{{{{{}}}}}{{zzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyy{{~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzz}}}~~}}}}}}}~}}}}}}}}}}}}}}}{{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{zzz{{{{{{{{{z{{{{{}}}~~~~~~~~~~~~~~~}}}}}}~}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzzzzz{{{{{{{}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}~~~~~~}}}}}{{{{{{{}{{}}}}~~~~}}}zz{{zz{{{{{{{{}}}}{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{}}}}}}~~~~~}}}~~~{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzyyyyyyyyy{{{zz{{{{{{{{{{{{{{yyz{}{{{{{{{{{{{}{{{{{{{}}{{{zzzzzzzz{{{{zzzzzzzzyyzzzzzzzzzzyyyyyyyyyyyyy{{{~~~~~~~~~}}}}}}}}{{{{{{}{{{{{{{{{{{{{{{{zz{zzzzzzzzzzzzzzzzzzz{{zzzzz{{{{}}~~~~~}}~~~~}}}}}}}}}}}}}}}{{}}}}}{{{}}{{{{{{{{{{{{{{{{{{}}{}}{{{{{{{{{{{{{{zz{{{zzzzzzzzzzzzzzzzzzyzzzzzzzzzzzz}}{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{~}~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{zz{{{{{{{}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}{{{{{{{}}}}}~~~~~~~}}{{{{zzz{{{{{{{}}}}}{{{{{zz{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzzzyyyyyyyzzyyyzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}{}{{{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}}}}~~~~~}}}}~~}}}{{{{{{{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{~~~}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzyyyyyyyyy{{{{{{{{{{{{{{{{zzyyyyyy{{{{{{{{{{}}{{{{{{{{{{{{{zzzzzzzz{{zzzzzzzzyyzzzzzzzzzzzzyyyyyyyyzzz{{{~~~~~~~~~~}}}}}}}}{{}}{}}}}{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzz{{{{zzz{{{{{~~~~~~}}~~~~~}}}~~}}}}}}}}}{{}}}}{{{}}}{{{{{{{{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{z{{{{{zzzzzzzzzzzzzzzzyyyzyzzzzzzz{{{}}}}{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{~~~~~~~~~~~~~~~}~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~{~}}}{{{{{{{{{{{{{{{{{{{{{~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~{{{{{{{{{{{}}}}~~~~~~}}}{{{{{zzz{{{{{{{}}}}}{{{{{zz{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzyyyyzyzzyyyyzzzzzzzz{{{{{{{{z{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{}}}}}{{{{{{{{{{{{{{~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{}{{{~~~~~}}}}}}}}}}}{}{{{{{{{{{{zzzzzzzzzzyzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzz}}{{{{{~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{zzyyyyyyyyyy{{{{{{{{{{{{{{{zzzyyyyyyzz{{{{zzzz}}{{{}}{{{{{{{{{{{{{zzzz{{{{zzzyyyyzzzzzzzzzzzzzyyyyyyzzzz{{{~~~~~~~~~}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{zzzzz{{{{~~~~~~~~~~}}}}}}}~}}}}}}}}}{{}}}{{{}}}}{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyzyyyyyyyyzzzzzzz{{{}}}}}{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{}{{{{{~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~}}{{{{{{{{{{{}}{{~~~~~~}}}{{{{{zzz{{{{{{{}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyy{{zzzzzz{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{}}}}}}}{{{{{{{{{{{{{{{{{{{~~{{{~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{}}~~~}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzzyyyyyzzyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzz}}{{{{~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zzzyyyyyyyyyy{{{{{{{zz{{{{{zzzzyyyyyyzz{{{{zzzzzz}}}}}{{{{{{{{{{{{{zzzzz{{{zzzzyyyzzzzyyyzzzzzzyyyyyzzzzz{{}~~~~~~~~}}}}}}~~}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{zzzz{{{{{{{{~~~~~~~~}}}}}}}}}}}}}}}}}{{{}}}{{}}}}}}{{{{{{{{{{{{{{}}}}}}{{{{}}}{{{{{{{{{{{{{{{{{zzzzyzyyyyyyyyyyyyyyzzzzz}}}}}{}{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{}}}}{{{~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}~}~}~}}~~~}}{{}{{{{{{{{{}}}}}{{~~~}}{{{{{{{{zzz{{{{{{}}}{{{{{{{{{{{{{{{{zzz{{zzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyy{{{zzzz{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{}}}}}}}{{{{{{{{{{{{{{{{{{{{{~{{{{{{~~~~~~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{}~~~~}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzzzzzyyyyyzzzzyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyzzzzzzzzzz{{}}{{{~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{zzzzyyyyyyyyz{{{zzzzzzzz{zzzzzzzyzzyyyyy{{{zzyyyz{}}}}}{{{{{{{{{{{zzzzzz{{{zzzzzzzzzzzzyzzzzzzzzzzzzzzzzz{{}~~~~~~~~~}}}}}~~}}}}}}~}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{{{{{{{z{{{{{{{{~~~~~~~}}{{{}}}}}}}}}}}}}}{{{{{}}}}}}}}}}}{{{{{{{{{{{}}}}}}}}}{{}}}}{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyzz{{{}}}}{{{{{{zzzzzzzz{{{{{{{{{{{}{{{{{}}{{{{{{{{{{zzzzz~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~}}{{{{{{{{{{{{}}}}}{~~~~}}{{{{{{{zzzzz{{{{{{{}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{yzzzzzzzzzzzzzzzzyyzz{{zzzz{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zz~~~~~~~{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{~~~{{}}}}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyz{{z{{{{{{{{}}{{~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzyyyyyyyzzz{{zzzzzzzzzzzzzzzzzzzzyyyy{{yyzyyyy{{{}}}{{{{{{{{{{{{zz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{~~~~~~~~~~}}}}}}}}}}}}~~}}}}}{{{{}}{{{{}}{{{{{zzzzz{zzzzzzzz{{{{{{{{{{{{{{{{{{~~~~~}}}{{{{}}}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}{{{{{{}}}}}}}}}}{{}}}}}}}{{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyy{{{{{{{{{{{{{{{z{{z{{{{{{{{{{}}}{}}}{{}}}}}{{{{{{{{{zzzzzz}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~{{{{{{{{}}}}}}}}}}}~~}}}{{{{{{{{zzzzz{{{{{{}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{{{{{{yy{z{{{yyyzzzzzzzzzzzzzzzyyyy{{zyy{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{}}}}}}}}}{{{{{{{{{{{{{{{{{z{{yyzzz~~~~~{{{{}}}~~~~~~~~~~~~~~~~~~~~}~~~{{{{{zzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{~~{{zz{}}}}}}}}}}}{{{{{{{{{zzzzzzzzzzzzyzzyyyyyzzzzzyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyy{{{{{{{{{{{{{}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzzzyyyyyyyyzzzzzz{{zzzzzzzzzzzzzzzzzyzyy{{yyyyyyzzzz}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{~~~~~~~~~~~}~}~~}}}}}}}~~}}}}}{{}}}}}}}}}}{{{{{{zzz{{{zzzzzzz{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{}}}}}}}}}}}{{{{{{{}}}}}}}}}}}}}}}}}}}}}}~~}}}}{{{{}}}}}}{{{{{{{{{{{{{zzyyyyyyyyyyyyyyyyyyyy{{zzzz{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}{{{{{{{{zzzzzz}}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~{{{{{{{}}}}}}}}}}}~~}}}{{{{{{{{zzzzz{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyzzzzzzzzzzzzzzz{{{{{{yyyyzzyyyyyzzyyyyzzzzzzzzzyyyyyyyyy{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{}}}}}}}}}}{{{{{{{{{{{{{{{zzzzyyyzzz~~{{{zz{zz}}zz{{~~~~~~~~~~~~~~~~}}~{{{{{{zzz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{~~{{zzz{{}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyzzzzzzyyyyyzzyyyyyyyyyyzzzzzzyyyyyyyyyyz{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{zzzyyzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzzzyyyzzzyyyyzzzzzz}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{~~~~~~~~~~~~~~}}}}}}}~~~}}}}}}}}}}}}}}{{{{{{{{{{zz{{{zz{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}{{{{{{}}}}}}}}}}}}{{}}}}}}}}}}}}}}}{{{}}}}}}}}~~}}}}}}{{}}}}}}}}}}}{}}{{{{{zzyyyyyyyyyyyyyyyyyyyyyzzzzz}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}{{{{{{zzzzzz}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{zzzz{{{{{{}}}}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~{{{{{{{{}}}}}}}}}}}~~}}{{{{{{zzzzzzzzzz{{{{}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyzzzzz{{zzzzzyyyzz{{{{{yyyzzzzyyyzzzyyyyzzzzzzzzzyyyyyyyyy{{{{{{{{zzzzzzz{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{z{{{{}}}}}}}}}}}}}{}}}{{{{zzzzzzyyyyzzyy{{{zzzzzzzzz{{~~}}~~~~~~~~~~~~}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{~~zzzzzz{}}}}{{{}{{{{{{{z{{{zzzzzzzzzzzzyyyyyyyyzzzzzzyyyyyyzzyyyyyzzyyyzzzyyyyyyyyyyyyz{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{zzzzyyzzzzzzzzzyzzy{{zzzzzzzzzzzzzzzzzzzyzzzzyyyyzzzzz{{}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzz{{{}}}~~~~~~~~~~}}}}}}}~~~~~}}}}}}}}}}}}}{{{{zzzzzzzzz{zzz{{{{{{{{{{{{{{{{{{{{{{{{}}}{{{{{{{{{{~~~}~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{}}z}}~~~}}}}}}}}}}}}}}}}}}}}}}{{{{{zzyyyyyyyyyyyyyyyzyyyyyzzzz}}}}}{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}{{{{{{zzzzzyyy~~{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zz~~~}}}}}~~~~~}}}{{{{zzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{}~~~}}}}}}}}}}{{{{{zzzzzzzzzzzzz{{}}}}{{}{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyzzzzz{{{zzzyyyyzz}}zzyyyyyzzzyyyyyyyyyyyzzzzzzzyyyyyyyyyy{{{{{{{{zzzzzzz{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{}}}}}}}}}}}}}}}}}}{{{{zzzzzzyyyyyyyy{{{zzzzzzzzz{~~~}}~~~~~~~~}}}~~}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{zzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyzzyyyyyzzzyyyyyyyyyyyyyzzzyyyzzyyyyyyyyyyyyzz{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{zzzzzzyyzyzzzyyzyyyyyyyyzzzyyzzzzzzzzzzzzzzzzzzzyyyyzyyy{{}}}}}}}}{{{{{{{{{{zz{{zzzzzzzzzzzz{{{zzzz{{{zzzzz{{{}}{~~~~~~~~~~~~~}}}}~~~~~}}}}}~}}}}}}}}{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}}}}}}}~}}{{{{{zzzzzzz~~~}~~}}}}}}}}}}}}}{{{{{{{{{{{zyyyyyyyyyyyyyyzzzyyyyzzyyyy}}}}{{{{{{{{{}}}{{{{{{}}}}}}}}}}}}}}{{{{{{{zzzzzyyyy{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{zz~~~}}}}}~~~~}}}}}{{{zzzzz{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{{{{}}~~~~}}}}{{}}}{{{{{zzzzzzzzzzzzzz}}}}}{{}{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzyy{{}}zyyyyyyyzyyyyyyyyyyyyyzzzzzzyyyyyyyyyzz{{{{{{{{{zzzzz{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{}}~}}}}}}}}}}}}}}}{{zzzzzzzzyyyyyyyy{{zzzzzzzzzzzzz}}}}~~~~~}}}}}}}}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{zzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyzzzyyyyyzzzyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyzz{{{{{{{}{{}}}}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{zzzzzzzyzyyyyyyyyyyyyyyyyyyzyyzzzz{zzzzzzzzzzzzzzzzzyyyyzz{}}}{{}}}{{{{{{{{{{{z{{{zzzzzzzz{zz{{{{{{{{{{{zzzz{{}~{{{{~~~~~~~~~~~~~}}~~~~~~~~~~~~~}}}}}}{{{zzzz{z{{{{{{{{{{{{{{{{{{{{{{{{{}}{}}{{{{{{{{{{{{{{~~~~~~~}}}}}}}}}}}}~~~}}~~}}{{{{{zzzzzz{{~~~~~}}}}}}}}}}}}}}{{{{{{{{{{zzyyyyyyyyyyyzzzyyyyyyyyyyyy}}}}{{{{{{{{{}}}}{{{{{{}}}}}}}}}}}}{{{{{{{{{zzzzzyyyy{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{zzz~}}}{{~~~~}}}}}}}{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~}}}{{{{{{{{{}}}~~~~~}}}{}{{{{{{{{zzzzzzzzzz{zzz}}}}{}}}}{{{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzyy{{}}yyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzz{{{{{{{{zzzzzz{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{~~~}}}}}}}zz}}}}zzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzz}}}}~~~}}}}}}}}}}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{z{{zzzzzzzzzzzzz{{zzzzzzzzyyyyyzzzzzzzzyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyzz{{}}{}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzzzzzzzzzzzzzzyyyzzyyy{{{{}{{{{zzzz{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{zzz{{}}~}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzz{{{{{{{{{{{{{{}}{}}}}}}{{{{}}}}}}{{{}}{{{{{{{{{~~~~~~}}}}}}}}}}}~~~~~}}}}}}}{{{zzzzz{{}}}~~}}}}}}}}}}}}}}}{zzz{{{zzzzyyyyyyyyyyyzzzzyyyyyyyyyyy}}}{{{{{{{{{z{}}}}}{z{{{zz{{{~~~~}}y{{{{{{{{{zzzzzyyyzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{~~~~~{{{}}zzzzz}}{{{{~~~{{{z}}}{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~{{{{{{{{{{{}}}~~~~~}}}{{{{z{{{{{zzzzzzz{{{{{{{}}}{{}}}}}{{}}}{{{{{{{zzzzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzz{{{zzzzzzz{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{~~~~~~~}}}zzz}{{{zzz{zzzzzzzyyyyyyyzzzz{zzzzzzzzzz{{{~~~~{}}}}~}}}}{{{}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{zz{{{{{{zz{zzzzzzzzzzzz{{{zzzzzzzzyyyyyyzzzzzzzyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyz{{}}}}}}}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzz{{zzzzzzzzzzzzzzzzyyyyyyyy{{{{{{{zzzzzz{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{}}~}}{~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{zz{{{{{{{{{{{{{{}}}}}}}}}}}{{}}}}}}}}}}}}{{{{{{{{{{{~~~~~}}}}}}}}}~~~~~}}}}}}}}{{{zzzz{{{}}}}}}}}}}~~}}}}}{{zzzzzzzzzzzyyyyyyyyyzzzzzzyyzzzzzyyyyyy}}{{{{{{{{{zz{{{}}zzz{{zz{{{~~~~yyy{{{{{{{{{zzzzyyyyzz~~~~~~~~~~~~~~~~~~~~~~~~~~~zz{{yy~~zzz{{{zzzzzz{{{{{{~~}}}{zzz{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}~~~{{{{}}}}}}{{~~~~~~}{{{{{zzz{{zzzzzzzzzz{{{{{{{}}}}{}}}}}}}}}}}}{{{{{{zzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{zzzzzzz{{{{zzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{~~~~~~~}{{zzzz{{{{{{{zzzzzzyyyyyzzzzyy{{{{{{{zzzz{{{{~~~~{{}}}~~}}}{{}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~{{{{{{{{{{{{{zz{{{{{{zzzzzzzzzzzzzzzz{{{zzzzzzzzzzyyyyzzzzzzzzzyyyyyyyzzzzzzzzzyyyyyyyyyyyyyy{{}}}}}}}}}}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyz{{{{zzzzzzzyzzzzzzzyyyyyy{zz{{{zzzzz{{{{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{}}}}{~~~~~~~~~~~~~y~~~~~~~~~~~}}}}}}}}{{{{{{{{{yyy{{{{{{{}}}}}}}}}}{{{}}}}}}}}}}}}}}{{{{{{{{{~~}}}}}}}}}}}}~~}}}}}}zz{{{{{{{{{{{{{{}}{}}}}}~~~~~}}{{{{zzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz}zz{{{{{{zz{{}}}zzz{{zzzzzzz~zyyzz{{{{{{{yyyzzyyyyzz{{{{~~~~~~~~~~~~~~~}~~~~~~}}zzyyy~~zzz{{zzzzzzz{{{{{{~~{{{zzzz{{{{{{{{{}}}}~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}~~~{{{}}}}}}}{~~~~~{{{{{{{{{zzzzzzzzzzzzzz{{{{{{}}}}}{{}}}}}}}}}}}}{{{{{zzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyy{{{zzzzzzzz{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{~~~~~}}{{zzzzz{{{{{{{zzzzzzyyyyzzzzyyy{{{{{{{{{zz{{{{{~~~{{{{{}}{}{{{}}}{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zzz{{{{{{{{{zzzz{{{{{zzzzzzzzzzzzzzzz{{{zzzzzzzzzzyyyzzzzzzzzzzyyyyzzyzzzzzzzzzyyyyyyyyyzzzzzz}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~z{{{{z{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zzzzzyyzzzzzzzyyyyyyyyy{{zzzzzz{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}{{~~}{~~~}}}~~~yyy~~~~~~~~~~~}}}}}}}}{{{{{{{{{yyy{{{{{{{}}}}}}}}}}}{{}}}}}}}}}}}}}}}}{{{{{{{~}}}}}}}}}}}}~~~}}}}}}zz{{{{{{{{{{{{{{{{}}}}}}~~~~~}}{{{zzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz}}zz{{{{{{zz{{}}zzz{{{zzzzzzzzzzzzz}{{{{{{yyyyyyyyzz{{{{z~~~~~~~~~~~~~~}}~~~~{{}}yyyyyyzzzzzzzzzzzzz{{{{{{{{{{{zz{{{{{{{{{{{}}}}~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}~~~~~~~~~~~~~~~~}}}}}}}~~~~}}{}}}}}}}}~~~}}{{{{{{{{{{zzzzzzzzzzzz{{{{{{{}}}z{{{}}}}}}}}}}}}}{{{{yyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{}~~~}}{{zzzzz{{{{{{{zzzzzzzzzzzzzzyzz{{{yyzz{{zz{{{{{~~}}{{{{}}{{{{}}}}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzz{{{{{{{{zzzzz{{{{zzzzz{{zzzzzz{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzyyyyyyzzzzzzzz}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{zzz{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzyyyzzzzzzzyyyyyyyy{{{zzzzzz{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{}}{{{}{{{}}}{{{{}}{{{}}}}{yyyyy~~~~~~~~~~~~}}}}}}{{{{{{{{{{yyyy{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{}}}}}}}}}}}}~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{}}{}}{~~}}{{{{zzzzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzz}}{{{{{{{zzz{{{zz{{{{{zzzzzzzzzz}}}{{{{{zyyyyyyyzzz{{{zzz~~~~~~~~~~~~~~}~~~~~{{}yyyzzzzzzzzzzzz{{{{{{{{{{{{{{{z{{{{}{{{{{{{}}}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}~~~~~~~~~~~~~~~~~}~~~~~~~~~}}}}}}}}}}}~~}}}}}{{{{{{{zzzzzzzzzzzzz{{{{{{{zz}zz{{{{}}{}}}}}}}{{{{zzyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{z}}{~}{{{{zzzz{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyzz{z{{{zz{{}}}}{{{{{{zzz}}{}{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}zzzz{{{{{{{zzzzz{{{{{zz{{{{{zzz{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyyyyyzyzzzzzzzzzzzzzzyyzyzzzzzzzz}}}}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~{{~{{{{{{{zz{{{{{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyy{{{zzzzyyyyyyyzzzzyyyyyyy{{{{{zzzzz{{{{{{{{{{{zzzz{{{{{}}}}{{}{{}}{{{}}}{}}}}{{{{}}{{{z}{{{yyyyy~~~}}}~~~~~~~}~~}{{{{{{{zzzzyyzzz{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{}{}}}}}}}}}}}~~~~~~}~~}{{{{{{{{{{{{{{{{{}{{{{{{{{{}}}}{{{{{zzzzzzzyyyyyyyyyyyyzzzzzzzzyzzzyzzzzzzzzzzz{{{{{{zzz{{{yyy{{{{zzzzzzzzzzz}}{{{{zzyyyyyyyzzzz{zzzz~~~~~~~~~~~~}}~~~}}~yyyyyyzzzzzzzzz{z{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{zzzzzzzzzzzz{{{{{{{zzzz{{{{{{{{{~~}}}}}}}{yyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{zz{{{{zzz{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyy{{{{{{zz{{}}}}{{{{{{zzzyyy}}{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{zzzzzz{{{{{{{{zzz{{{{{{{{{{{{{{z{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzz{{zzzzzzzzzzzzzzzz{}}~~~~~~~~~~~~~~~~}}}}~~~~~~~{{{{~~{{{{{{{{{{{zzz{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyy{{zzzzzyyyyyyyyyyyyyyyzz{{{{{{zzzz{{{{{{{{{{{{{zz{{{{}}}}}}}}}}}}}{{{}}}}}}}}}{{{{}{{{zz{{{yyyyy~~~}}}}~~~~~~~~}}}{{{{{{zzzzzzzzz{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}{{{{{{{{{{{{{{{{{}}}{{{{{{{{}}}}{{{{zzzzzzzzyyyyyyyyyyyyzzzzyyyyyyyyyzzzzzzzzzzzz{{{zzzzz{zzzyyy{{{{zzzzyyzzzzzyyy{{yzyyyyyyy{{zzzzz{{~~~~~~~~~}}}}}~~~}}}yyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}{{}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzz{{{{zz{{{{}}{{zzz{{{{{{{{{}~~{{{{}}zzyyyyyyyyyyyyyyyyyyyyyyyzzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{zzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyy{{{zzz{{{}}{{{{{{zzzzzzyyy{{zz{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~{{zzz{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyzzzzzyyz{zz{{zzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~}}}}~~~~~}}{{{{~{{{{{{{{{{{{zz{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyy{zzzzzzyyzzyyyyyyyyyyzz{{{{{{{zzz}{{{{{{{{{{{zzzz{}{}}}{}}}}}}}}}}}}}}}}}}}}}}}{{{{{{zzyyyyyyyy~~~}}~~~~~~~~~~}}}}{{{{{zzzzzzzzz{}}}}}~~~~}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}{{{{{{{{{{{{{{{{}}}}}{{{{{{{{{}}{{{{zzzzzzzzzzzyyyyyyyyyzzzzyyyyyyyyyzzzzzzzzzzzzz{{zzzzzzzzzzyz{{{{{zzzyyyzzzzyyyyyyyyyyyyyy{{zzzzz{{~~~~~~~~}}}}}{{~~zzyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{{{zz{{{{{{{}}}}}}{{zzyy{{{{}}{{}}{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{zzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyzzzzzz{{}}}}{{{{zzzzzzzzyyyzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyy{{{{zzzzzzzzzzzzzzzzz}}~~~~~~~~~~~~~~~~~}}~~~~~~~}}}{{{{{{{{{{}}{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyzz{{{{{{{{{}}}{{{{{{{{{{zzzz}}{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}zzzzzzyyyyyyy~~}}}~~~~~~~~~~~~}}{{{{{{{zzzzzzzz{}}}}}~~~~~}}}}~~~~~}}}}}~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzyyyyzzzzzzzzz{{{{{zzzzyyzzyyyyyyyyyyyyyyyyyyyyyzzzz~~~~~~~~~}}}{{{yyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~}~~}}}}}}}}}}{{{{{{{{{{{{{{{{{}}{{yy{yyyy{{{{}}}}}}{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{z{{{{{zzzzzzzz{{zz{{}}{{{{{{{z{zzzzzzzzzzyyyyyyyyyzzzzzzz{{{{{}}}}{{{{zzzzzzzyyyyzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{yyzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzyy{{{{zzzzzzzzzzzzz{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}}{}{{}}}{{{{{{{{{zz{yzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyzyzzzz{{{{{{{}}}}{{{{{{z{yyzzz{{{{{{{{}}}}}~}}}}}}}}}}}}}}}}}}zzzzzyyyyyyyyy}}}~~~~~~~~~~~~~~}}{{{{{{zzzzzzzz{{}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}{{{{{{}{{{{{{}}{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzz{{zzzyyyzzzzyyyyzzzzzzzzz{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz~~~~~~~~{{{{}}}yyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{}}}{zzyyyyyyyy{{}}}}}}}{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{z{{{{{zzzzzzzz{{zz{{}}{{{{{{z{{zzzzzzzzzzzyyyyyyyyzzzzzzz{{}}}}}}}{{{{zzzzzzzyyyyy{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{yyyyzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{z{{zzyyyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyzzzzzzzz{{{{{{{}}{{{{{zzzyyyzz{{{{{{{{}}}}}~~}}}{{{}}}zzzyyzzzzzzzzyyyyyyyyy}}}~~~~~~~~~~~~~~}}{{{{{{zzzzzzz}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{}}}{{{}{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzz{zzzyyzzzzyyyyzzzzzzzzzz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz}}~~~~~~{{{}}}}yyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{{zzzz{}}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{}}}}zzzzyyyyyyyy{{{{}}}}}}{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{zzzzzzzzzz{{{{{}}{{{{{{{zzzzzzzzzzzzzzzyyyyyzzyzzzzz{{}}}}}}{{{{zzzzzzzzyyyy{{{{~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{}}{{{{yyzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{}{{{{{{zzzzzyyy{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyzzzzyyyyyyyzzzzzzzzzz{{{{{zz{zz{{zzzzyyzz{{{{{{{}}}}}~~~~}}{{{{{{zzzyyzzzzzzzzzyyyyyyy}}~~~~~~~~~~~~~~~~}}{{{{{{{{{zzzz}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}}}}{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzz{{zzyzzzzzzzzzzzzzzzzzz{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}~~~~~{z}}}}yyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{zzzz{{{}~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{}}}}zzzzzyyyyyyz{{{{}}}}}}{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyzzz{{{{{}}{{{{{{{zzzzzzzzzzzzzzyyyyyzzyyzzz{{{{}}}}}}{{{{zzzzzzzzyyy{{}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{zz{{{{{{}}}}}}}{{{{{{{{{{{{{{{{{{{{}{{zzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{zz{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{zzzzzzzzz{{{{{zyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyzzzyyyyyyzzzzy{{zzzz{{{{{zzzzz{{zzzzyyy{{{{{{}}}}}}}~~~~}}{{{{{{zzzzzzzzzzzzzzyyyyyy}}}~~~~~~~~~~~~~~}}}}}{{{{{{{{zz{{{{}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{}}}}}}}}{{{{{{{{{{{{zzyyyzzzzzzzyyzzyyyyyzzzzzzz{{{{{{yzyyzzzzzzzzzzzzzzzz{{{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}~~~~{{zzyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{zzzz{{{{~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{}}}}}zzzzzzzyyyzzzz{{{{}}}}{{zzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyzzz{{{y{{}}yy{{{zzzzzzzzzzzzyyyyyyyyzyyyyyy{{{{}}}}}}{{{{{zzzzzzzyyyz}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{zzz{{{{{}}}}}}}}{{{}}{}{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}{{{{{{{zzzzzzzzz{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzzyzyyyyzzzzy{{zzzzz{{{{{zzzzzzzzzzyzzz{{{}}}}}}}}~~~~}}{{{{{{zzzzzzzzzzzzzzzzyyyyzzzz~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{}}}}}}{{{~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}{{{{{{{{}}{}}}{{}{{{{{{{{{{{zzyyyzzzzzzzzzzzzyyyyzzzzzz{{{{{yyyyyzzzzzzzzzzzzzzzzzzz{{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}~~}~{{zzyyyyyyyyyyyyyyyyyzzzzz{{{{{{}{{{{{{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{}}{{{{{{{{{}}}}}zzzzzzzzzzzzzz{{{{}}}}zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyzzzzzzyyy{yyyy{{{zzz{{z{{zzzzyyyyyyyyyyyyyyy{{{{}}}}}}zz{{{zzzzzzzyyzzz}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{zzzz{{{{}}}}}}}}}{{}}}}}{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{}}~~~~~~~{{{{~~~~~~~~~~~~~~~}}}}}}}~~~}}}}}}{{{{{{{{zzzzzzzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyzz{{zz{{{{{zzzzzzzzzzzzzzz{{}}}}}}}}~~~~}}{{{zzzzzzzzzzzzzzzzzzzyzzzzzzz~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{}}}}}}{{~~~~~~~~~~}}~~~}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}{{{{{{{{}}}{{{{{{{{{{{{{{zzyzzzzzzzzzzzzzzyyyyzzzzz{{{{{yyyyyyyzzzzzzzzzzzzzzzzzz{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}}{{zzzyyyyyyyyyyyyyyyyzzzzzzzzz{}}{{{{{{{zzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}{{}}}}{{{{{{{{}}}zzzzzzzzzzzzzz{{{{{}}}}zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyzzzzzyyzzyyyy{zzzzzz{z{{{zzzyyyyyyyyyyyyyyz{{{{}}}{{{{zzzzzzzzzzzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{zzz{{{{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzz{{{{{{{{{{{{{{{zzzzzz{{{zzzzzzzzzzzzzzzzzzzz{{{{{}}~~~~~~~{{{{{~~~~~~~~~~~~~~}}~~~}}~~~~}}}}}{{{{{{{zzzzzzzzz{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyzz{{{{{{{{{zzzzzzzzzzzzzz{{{}}}~}}}}}}}}}}}{{zzzzzzzzzzzzzzzzzzzzzzzzzzz~~~~~}}~~~~~~~}}}}}{{{{{{{{{{{{{{{{}}}}}{~~~~~~~~~}}}~~}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyzzyy{{yyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}}}}zzzzzyyyyyyyyyyyyyyyyyzzzzzzzzz}}{{{{{{{zz{{zz{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{zzzzzzzzzzzzz{{{zz}}z}}zzzzzzzzzzyyyyyyyyyyyyyyyzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyzzzyyzzyyyyzzzzzzzz{{{zzzzyyyyyyyyyyyzzzzz{{{}}}}{{{{zzzzzzzzzzzzzz{{{~~~~{{~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{zzzzzz{{{{zzzzzzzzzzzzzzzzzzz{{{{{}{{~~~~{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyzz{{{{{{{{{zzzzzzzzzzzzzz{{{{}}~~~~~}}}}}}}}{{{zzzzzzzzzzzzzzzzzzzzzzzzzz~~~~}}}}}~~~~~~}}}{{{{{{{{{{{{{{{{{{{}}{{{~~~~~~~~}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~}}~}~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyy{{{yyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}yyyzzzzzzyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{z{{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}}}}{{{{{{{{{z{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyzzyyzzzyyyzzzzzzzzzz{{zzzzzyyyzzyyzzzzzzzz{{{{}}}{{{zzzzzzzzzzzzzzz{{{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{{~~~}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{zzzzz{{{}}}{{}{{{{zzzzzz{{{{zzzzzzzzzzzzzzzzzzz{{{{}}{{~~}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyzzzzzzzzzzzzyyzzzzzz{{{{{zzzzz{{zzzzzzzz{{{}}}}}~~~~}}}}}}}}{{zzzzzzzzzzzzzzzzzzzzzzzzzz~~~}}}}}}~~~~~~}}}}{}}}}{{{{{{{{{{{{{{{{{{}~~~~~{{}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{zzzyyyyyyyyyyzz{{yyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{}}}}}{{{{{{{{{{{zzzzz{{zzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyzzzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzyyyyyyzzyyzzzyyyyzzzzzzzzzzzzzzyyyzzzzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzz{{{}}}}}}}{{{zzzzzz{{{{zzzzzzzyzzzzyyzzzz{{{{{}}{{{{z}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyzzzzz{zzzzzzzzzzzzzzzzzzz{{zzzz{{{{zzzzzzz{{{{}}}}~~~~~}}}}}{{{zzzzzzzzzzzzzzzzzzzzzzzzzzz~~~}}}}}}~~~~~~~}}}}}}}}{{{}}{{{{{{{{{{{{{}~~~~~{{{{~}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzz{{zzzyyyyyyyyyyyzz{{yyyyyyyyyyyyyz{z{zzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{}}}}}}}{{{{{{{{{{zzzz{{{{zz{zzzzzzzzzzzzzzzzzzzzzzzyzyyzyyyyyzzzzzyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzyyzzzzzzzzzzzzz{{{{{}{{{{{{{zzzzzzzzzzzzzzzz{{{{{{}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{~~~~}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{{{{zz{{{{{{{zz{zzzyyyyyyzzzzzz{{{{{{{{zzzz}}{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{zzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{zzzzyyyzzzzzzzzzzz{zzzz{{{{{{zzzzz{{{{{{}}{~~~~~}{{{}{{{zzzzzz{{zzz{zzzzzzzzzzzzzzz~~}}}}}}}~~~~~~~}}}}}}}}{{{}}}}{{{{{{{{{{{{{~~}}{{{}~~}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~}}~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzzzzz{zzzyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{{{{{z~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}}}}}}}{{{{{{{{{{{zzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyzzzzzzzzzz{{{z{}}}}}}{{{{zzz{{zzzzzzzzz{{{{{}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{~~~~}}}}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}{{{zz{{{{{{{{{{{{{{zzzzyyyyyyyzzzzz{{{{{{zzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}{{{{{zz{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{zzzzyyzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{~~}}}{{{{{{{{{zzzz{{zz{{{zzzzzzzzzzz{{~~~}}}}}}}}~~}}~~}}}}}}}}{}}}}}}{{{{{{{{{{{{{~~}}{{}}~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~}}}}~~~}}}}}}}}}}}}}}}}{{{{}}{{{{{{{{{zzzzzzzzzzzzzzzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyzyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{z{{{{zzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyz{zzzzzyyyyyyzzzzzzzz{{zzz}}}}}{{{{{{zz{{zzzzzz{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{}}{{}}{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{{{{{zz{{{{{{{{z{{{{{zzzyyyyyyzzzzzzz{{{{{{zzzzzz{}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}{{{{{zz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{~~}}}}{{{{{{{{zzz{{{{{{{zzzzzzzzzzz{{{{~~}}}}}}}}~~}}}}~~~}}}}}}}}}}}}}{{{{{{{{{{{{~{{{{{}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~}}~~~~}}}}}}}}}}~}}}}}}}{{}}}{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyy{{}}z}}}{{{zzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{zzzz{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyy{{zz{{yyyyzyyzzzzzzz{{{{zzz}}}}{{{{{{zz{{{zzzz{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~}}~}}}}}}}}}{{{{{}{{{{{{{{}}{{{zz{{{{{{}}{{}}{{{{{{{}}}}}{{{{{zzz{{{{{{{{zzz{{zzzzyyyyyyzzzzzzyyyyy{{zzzzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~}}}}}{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{~~~}}}}}}}{{{{{zz{{{{{{{zzzzzzzz{zz{{{{{}}}}}}}}}}~~}}}}}~~}}{{{}}}}}}}}}{{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}{{{}}}{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{z{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}}zz}}}{{{{zzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{{zzzz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyy{{z{{{yyyyzzzzzzzz{{{{{{zz{}}}}}{{{{{zzzz{{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~}}~~~}}}}}}}{}{{{{{{}{{{{{{{{{zzzz{{{{{}}}}}{{{{{{{}}}}}}{{zz{{{z{{{{{{{{zzzzzzzzzzyyzyzzzzzzyyyyyyzzzzzzzzzz}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~{{}}}{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzzzzzzzzzzzyyyyzzzzzzzzz{zzzzz{{{}}{{{{{{{{{{{{{}}}~~}}}}}}}}{{{{{{{{{{{{{{{zzzzzzz{{{{{{{}}}}}}}}~~~~~~}}}}~~}}}{{}}}~}}}}}{{{{{{{{{{{{{{}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~}}}}}}~~~~~~~}}}}{{{{}}{{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{zzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}zz}}}{{{{zzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{{{{{{{zzz{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{z{{zzzz{{}}zz{{{{{{{zz{{{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{}}{{}}{{{{{{{zzzzz{{{{{}}}}}{{{{{{{}}}}}}{{zz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzzy}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}{{~~{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzyyyyzzzzzyyyyyzzzzzzzzzyyyyzzzzzzzzzy{{{{{{{{{}}}}{{{{{{{{{}}}}~~~}}}}}{{{{{{{{{{{{{{{{{{{zzzzz{{{{{{{}}}}}}}}}~~~}}~}}}}~~}}}}}}~~~}}}}}{{{{{{{{{{{}}{}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~}}~~~~~~}~~}}}}}}~~~~~~~~~}}}{{{{}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzyyyyzyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{z{{{zzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy}zzzz{{zzzzzzzzzz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{{{{{z{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{yzzz{{}zzz{{{{{{{{z{{{{zzz}}{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{}}}}}}{{{{zzzzz{{{{{}}}}}}{}}}}}}~~}}{{{z{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~~z{{{}~~~~{{{{}{{zz{zzzzzyyzyyyyyyyyyyyyyyyyyyyzzyyyzyyyyyyyyyzzzzz{{{yyyyyyzzzzzzzzyy{{{{{{{{}}}}{{{{{{{{}}}}}~~~~}}}}{{{{{{{{{{{{{{{{{{{zzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}{{{{{{{{{{{}}}}}~~}}~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}}}~~}}}}}~~}}}}}}}}}~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzz{{{{{{{{{{{zzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{zzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}}}}}}}~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyzzyyyyyyyyyyyyzzzzzzzyyyyzz{{{{zzzz{{{{{{{{{{{zzz{{}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}{{{zzzzz{{{{}}}}}}}}}}}}}}~~{{{{{{{{{}}}{{{{{{{{zzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyyyyyy~~~~~~~~~~~~~~~~~~~~~~~}}zz{{}}~~~}}}}}{{{{{{zzzzyyyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzzyzyy{{yyyyyyyzzzzzzzzzzz{{{{{}}}}}{{{{{{}}}}}}}}}~~}}}}}}}{{{{{{{{{{{{{{{zz{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}{{{{}}}{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzz{{{{{{zzz{{zzzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyzzz{{zzzzzzz{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}~~~}}}}}}}}}}{{{{{{{{z{{{{zzzz{{{zzzzzzzzzzzzzzz{{{zzzyzzzzzzzzzzzyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyzzzzyyyzzzzzzyyyyzzz{{z{zzzz{{{{{{{{{{{zzz{{}}}}}}}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{{{zzz{{~~}}}}}}}}}}}}}}}~{{{{{{{{}}}}{{{{{{{{zzzzzzzzzzzzz{zzzzzzyyyzzzzzzyyyyyyyyy{~~~~~~~~~~~~~~~~~~~~~~}}z{{{}}yy}}}}}}{{{{{{zzzyyyyyzzyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{{}}}}}{}{}}{}}}~~}}}}}~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{}}}}}}}}}}{{{}}}}}}}}}}}}}}~}}}}}}}}}}{{{}}}}}{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}{{{{{{{{}}{{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyy{{{z{{{{{{zzz{{zzzzyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyzzzzzzzzz{{{{{{{{}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}~~~~~}}}}}}}{{{{{{{{zz{{zzzz{{{{zzzzzzzzzzzzzz{{{{{zzyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzyyzzzzzzyyyyzzyyyzzzzzzz{{{{{{{{{{zzz{{}}}}}}}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}{{{{{{{zzz{{~~}}}}}}}}}}}}}}}{{{{{{{{{{}}}{{{{{{{{zzzzzzzzzzzzz{{zzzzzyyyyyyyzzyyyyyyyy{{~~~~~~~~~~~~~~~~~~~~~~{{z{{{{yyy}}}}}}}{{{{{zzzyyyyyzzyyyyyyyyyyyzzzyzzzzyzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}~~}}}}~~~}}}}}}}}{{{{{{{}{{{{{{{{{{{{{{{}}}}}~~~}}}{{{{}}~~}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}{{{{{{{}}}}{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzz{{{{{{{{{zzz{{zzzzzzyzzzyyyyzzzyyyyyyyyyyyyyyyyyzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyzzzzyyyyy{{{{{{{{{{~~}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}}}}{{{{{{{zzzzzzzzz{{{{{{zzz{zzzzzzzzzzz{{zzzzyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyzzzzyyyyzzzzzzzzzzzzzzzzzzyzzyyyyyyyyyzzzzzz{{{{{{{yyyyzzz{{}}}}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}{{{{{{{{zz{{~~}}}}}}}}}}}}}}}{{{{{{{{{}}}{{{{{{{{{{zzzzzzzzzzzz{{zzzzzzyyyyyyyyyyyyyyyy{{~~~~~~~~~~~~~~~~~~~~~~{{{{{{{yyyyy}}}}}}{{{{{yyyyyyzzzzzzyyzzyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{}}{}}}}}}}}}}}}}}~}}}}}~~}}}}}}}}}}{{{{{}}{{{{{{{{{{{}{{{}}}}~~~~}}}{{{zzz~}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}{{{{{{}}}}}{{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzz{{{{{{{{zzz{{zzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyzz{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyzzyyyyyy{{{{{{{{{{~~}}~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~}~~~~}}}~}}}}}}}}}}}}}~~~~}}}}{{{{{{zzzzyyzzzz{{{{zzzz{{{zzzzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzz{{y{{{{yyyyzzz{{{{{}~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{~~~~~~~}}~}}}}}}}}{{{{{{{{}}}}{{{{{{{zz{zzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyy~~~~~~~~~~~~~~~~~~~~~}zz{{{{yyyyyyzz}}}}}{{{{yyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzz{zzzzz{{{{{{{}}}}}}}}}}}}}}}}~~~~}}~~}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}}}}}}~~~~~{{{{{{zz}}}}}}}}~~~~~~~~~}}}}}}}}}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~}~}}}}}{{{{{{}}}}}}{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{zzzzzzzzzzyyyyzzzzyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}~~~~~~}}}}}}}}}}}}}}}~~~~~}{{{{{{zzzzzzyyzzzz{{{{zzz{{{zzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzyyyyzz{yyyy{{{{{{{{{}~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}}}{{{{{{{{{{{{~~~~~~}~~~}}}}}}}}}}}}}}}}}}{{{{{{{zzzz{zzzzzzzzzzzzzzzzzzzzyyzzzzyyyyyyyyyyy~~~~~~~~~~~~~~~~~}}}}zzz{{{yyyyyzzz}}}}}}{{zzyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{{{{{{}}}}}}~~}}}}}}}~~~~~}~~~~~}}}}}}}}}}}}}}}{{{{{{{{{}}}}}}}}}}~~~{{{{{{{{}}}}}}}}}~~~~~~~~~~}}}}}}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}{{{zzzz}}}}}{{{{{{{{{{{{zzzzz{zzzzzzzyyyyyyyyyyyyyyzzzzzzzzzz{{{{{{{{{{{zzzzzzzzzyyzzzzzyyyyyzzyyyyyyzyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzzz{{{{{}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~}}~}}~~~}}}}}}}}}}}}}~~~~~~~}{{{{{zzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzyyyyzzyyyyyy{{{{{{{{{{{}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{zzz{{zzzzzzzzzzzzzzzzzzzzyyzzzzyyyyyyyyyyyyy~~~~~~~~~~~}}}}{{zzzzyyyyyyyy{{{}}}}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{}}}}}}}~~~}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{zzz}}}}}}}}}~~~~~{{{{{{{{{}}}}}}}}~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~}~~}~~}}}}z{zzzzzyz}{{{{{}}{{{{{{{zzzz{{zzzzzzzzyyyyyyyyyyyyyzzzzzzzzzzz{{{{{{{{{zzzzzzzzzzyyzzzzzyyyzzzzzzyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyy{zzzz{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~}}{{{{{{zzzzzzzzzzzz{{{{{{{{{{{z{zzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyyzzyzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzz{z{{zzzyyzyyzzyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyzzzzzzzzzyyyyzzyyyyyy{{{{{{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}{{{zzzz{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyzyyyyyyyyyy~~~~~~~~~~~}}}}{{{zzzzyyyyyyyy{{{}}}}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzz{{{{{{{{{{{}}}}~~~~~~~~~~}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}{{{{zzz}}}~~~~~~~~~~{{{{{{{{{{}}}}}~~~~~~~~~~~~}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}~~~}}zzzzzzyyz{{{zz{}}{{{{{{{{zzz{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{{{{{z{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyy{{{{z{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~}}{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzz{{{{{zyyyyyyyyyyyzz{{zzzzzzzzzzzzzzzzzzzzzyyyzzzzz{{zzyyyyyyyyzzyyy{{{{{{{{{{{}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{}{{{{~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}{{{zz{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyy~~}~~~~~~~~}}{{{{{zzzzyyyyyyzzz{{}}}zzzzzzzzzzzzz{zzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyz{{{{{{}}}}}}}}~~~~~~~~~~~~}}}}~~~~~~~~~~~}}}}}}}}}}}}}}{{{{{zzzz}}~~~~~~~}}}}{{{{{{{{{~~}}~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}~~~~}zzzzzzzyzz{{{zz{{{{{{{{{{{{zz{{{{zzzzzyyyyyyyyyyyyyyyyzzzzzzz{{{zzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzz{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~}}{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{zzzzzzzzzyyzz{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzz{{{{{{{yyyyyyyyyyyyy{{zzzzz{{{zzzzzzzzzzzzzzyyyyy{{{{{yyyyyyyyzzzzyyy{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{}}}}{~~~~~}~~~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyyyyy}}}~~~~~~}}}{{{{{zzzzzyyyyzzzzz{}}}zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzyyyzzyyyyyyyyzz{{{{{}}}}}}}}}~~~~~~~~}}}}}}}}~~~~~~~~~~~}}}}}}{}{{{{}}{{{{{zzzz}}~~~{~~~}}}{{{{{{{{{{~~}}~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}~~{{zzzzzzzzzz{{{{{{{{{{{{{{{{zzzz{{{zzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyzz{{{{{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~}}{{{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{{{zzzzzzzzzyzz{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzz{{{{zzzyyyyyyyyyyyyyzzzz{{{{{{zzzzzzzzzzzzzyyyyyy{{zzyyyyyyyzzzzzzzyy{{{}}{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~}}}~~~~~~~~}}}}}~~}}}}}}}}{{{{{{{{{{{{{{{{zzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyyyy}}}}}~~~~}}zz{{{{zzzzzzzyyzzzzz{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzyyyyyyzzzz{{}}}}}}}}}}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{zzz}}~~{{~~~}}{{{{{{{{zz{{{~~~~~~~~~~~~~~~~~}}}~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}~~{{zzzzzzzzzzzz{{{{{{{{{}{{{zzzzz{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzyzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzz{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~}}}z{zz{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzyyyzzyyyyyzzzyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzz{{zzzyzzyyyyyyyyyyzzz{{{{{{{{{zzzzzzzzyzzyyyyyyzzzzyyyyyzzzzzzzzzzy{}}}}}}}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~}}}}~~~~~~~~}~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzyyyyzzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}~~~~~}zzzy{{{zzzzzzzyzzzzz{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyzzzzzzzzz}}}}}}}}}}}}~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{zz{{{{{~{{{~~}}{{{{{{{{zzz{{~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}{{{{zzzzzzzzzz{{{{{{{{}}{{{zzzzz{{{{zzzzzyyyyyyyyyyyyyyzzzzzzyyyzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~}}}}zzzzz{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{zzyyzz{{zzzzzzzzzzzzzzzzzyyyyzzzzyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{zzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzyzzyyyyyyyyyyyyy{{{{{{{{{zzzzzzzzyyyyyyyyzzzzzyyyyzzzzzzzzzzz{{}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}~~~~~~}}}~~~~~~~}}~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzyyyyzzzzzzzzzzyyzzzzzzzzzzzzz}}}}}}~~~zzzyyyyyzzzzzzzzzzzzz{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzz}}}}}}}}~~~~~~~~~~~}~~}}}}~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{~~~~~~}~~~~~~~~~~}}}~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{zzzzzzzz{{{{{{{{{}}{{{{z{zz{{{zzzzzzyyyyyyyyyyyzzzzzzzzzyyyzzzzzz{{{{{{zzz{{{zzzzzzzzzzzzzzzzzzzzzzy{{{{{{zzzzzzzzzzyyyyyyyyyzzzyyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}}}}~}}}}}}}}~~~~~~~~}z}}zzzzzz{{{{{{yyy{{{{}}{}{{{{{{{{{{{{zzzzzzzz{{{{{{{{{zzyzzz{{zzzzzzzzzzzzzzzzzzyyyyzyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{zz{{{zzzzzzzzzzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyy{y{{{{{zz{{zzzzzyyyyyyyyzzzzzyyyyzzzzzzzzzz{{{}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~}}}}{{{{{{{}{{{{{{{{zz{{zzzzzyyyyzzzzzzzyzzyyyzzzzzzzzzzzz{{{}}~~}}zzyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz}z}}}}~~}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~~}~~~~~~~~~~~}~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{zzzzzzz{{{{{{{{{{{{{{{{{{zz{{{zzzzzzyyyyyyyyyyzzzzzzzzzzyyyzzzzz{{{{{{{{{zz{{zzzzzzzzyyzzzzzzzzzzzzy{zz{{{zzzzzzzzzzyyyyyyzzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzz{{{{}}{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~zzzzzzzzzz{{{zzyyyy{{{{}}}}}{{{{{{{{{{{{{zzzzzz{{{{{{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{zzzzzzzzzzzzzyyyyyyzzzzzzzzzyyyzzzzzzzzyyyyyyyyyyyyyy{{{{yzz{{{{zzzzyyyyyyyyzzzyyyzzzzzzzzzzzzzz}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}{{{{}}}}}{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzz{{{{}}~}}}yyyyyyyyzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzz}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~}}}}~~~~~~~~~~~~}}~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~}}}}}}}}}}{{{{{zzzzzz{{{{{{{{{{{{{{{{{{zz{{{{zzzzzyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{zz{{{{zzzyyzzzzzzzzzzyy{zz{{{zzzzzzzzzzyyyyyyzzzzzzyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{~{{{{{zz}}~}~~~}}}~~~}}~~}~~~~}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~{{zzzzzzzzzz{{zyyyzz{{{{}}}}}}{{}{{{{{{{{{{z{zzz{{{{{{{{zzzzzzz{{z{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{zzzzzzzzzzzzzyyyyyzzzzzzzzzzyzzzzzzzzzzyyyyyyyyyyyyy{{zzyyzz{{{zzzzyyyyyyyyzyyyyyzzzzzzzzzzzzzzz}{}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~}}}}}}}{{{{}}}}}{{{zzzzzzzzzyyzzzzzzzzzzyyyyyyyyyyzzzzzzz{{{{{}}}{{{yyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~}~}}}}~~~~~~~~~~~~}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~}}}}}}}{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{zzzyyzzzzzzzzzyy{{zzz{{zzzzzzzzzzyyyzyyzzzzzzzyyyyyyyyyyyyyzzzzzzzzz{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{zz}}~~~~}}}}}~~}}}}}~~~}}}~~~~~~~~~~~~~~~~}}}}~~~~~~~{{{zzzzzzzzzzzyyyyyzz{{{{{{}}}}}}}}{{{{{{{{{{{{z{{{}}{{{zzzzzzzzzzz{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{zzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyy{{{zzzzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}}}}}}}}~~}}~}}}}}}{{{{{}}}}}{{zzzzzyzzyyyyzzzzzzzzzzyyyyyzzzzzzzzzzz{{{{{}}}{{zzyyyyyyyyzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}{{}{{{{{{{{}}}}}}}}~~~~~~~~~~~~~}~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}}}}}}{{{{{{{{zz{{{{{}}}{{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyzyyz{zzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{zzzzyyzy{{yyzzzyyyyyzzzzzzzzzzzyyyzyyzzyzzzzzzzyyyyyyyyyyyzzzzz{{zzzz{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{{{{{{{}}~}~~}}}~~~~~}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zzzzzzzzzzzyyyyyzzzz{{{{{{{}}}}}{{{{{{{{{{{{{{{{}}{{{zzzzzzzzzzz{{{{{{zzzzzzzzzyyyyyyyyyyyyzzzzzzzz{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{{{{{z{{{yyyzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzyyyyyyyyyyy{{{zzyzzzzzzzzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzz{{{{}~~~~~~~~~~~~~~~~~~~~~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}~~~~~~}}}}}}{{{{}}}}}}zzzzyyyyyyyyzzzzzzzzzzzyyyyzzzzzzzzzzzz{{{{{}}}}{zzzyyyyyyyyzzzzzzzz{{{{{{{{{{{{{{{{{{{}zzz{{{{{{{{{{{{{z{{{{{{{{zzzzzzzzzzzzzzzzyyzzzzz{{{{{~~~}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{}}}}}{{}{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{zz{{{{}}}}{{{{{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyy{{zzzzzzzzzzz{{{{{{{}{{{{{{{{{{{zzzzzyyyy{{yyyyyyyyyyyzzzzzzzzzzyyyyyyyyyzzzzzzzyyyyyyyyyzzzzzz{{{zzzz{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{}}}}}~}}~~~~~~}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zzzzzzzzzzyyyyyzzzzz{{{{{}}}}}}}}{{{{{{{{{{{{{{{}}{{{{{zzzzzz{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzz{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{{{zz{{{{yyyzzzzzzzzzzzzz{{{zzzzzzzzzzyyyyzzzyyyyyyyyyyyzzyyyzzzzzzzzzzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzzz{}}}}~~~~~~~~~~~~~~~~~{{{{{~{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}{{zz}}}}}zzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{}}{{zzyyyyyyyyyyzzz{{{{{{{{{{{}{{{{{{{{{{}}zzz{}}}}{{{{{{{zz{{{{{{{zzzzzzz{zzzzzzzzyyyzzzzz{{{}~~~}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}}}}}}}}}}}{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{z{{{{}}}}{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{}}}}}}{{{{{{{{{{{zzzzzzzy{{yyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyzyzyyyyyyyyyyyyzzzz{{{{{{{z{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{{{{~~}}}}}~~~~~~}}~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{zzzzz{{{{yyyyyyzzzzz}}}}}}}}}}}}}{{{{{{{{{{{{{{{}{{{{{zzzzz{{{{{{{{{{{zzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zz{{{zz{z{{yyzzzzzzzzzzzzzzz{zzzzzzzzyyzyyyyzzyyyyyyyyyyyyzzyyyzzzzzzzzzzzzzzzzzzyyyzzzzzzzz{zzzzzzzzzzzzzz}}}{~~~{{~~~~~~~~~~}}{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}}{{{zz}}}}zzzzyyyyyyyyyyzzzzzz{zzzzzzzzzzzzzzzz{{{{{{{{{{{{}{{zyyyyyyyyyyzzzz{{{{{{{{{{{}{{{{{{{{{{{{{{{{}}}}}}{{{{zzz{{{{{{zzzzzzz{{{{{zzzzzyyyyzyyzz{{}}~~}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}{{}}{{{{{{{}}{{{}}}}}}}}}}}}{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}}}}{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzzzzzzz{{{}}}}}}{{{{{{{{{{{zzzzzzzyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{~~~}}}}~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzz{{{{yyyyyzzzz{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{zzzzzzzyyyyyyyyyzzyyyzzzz{{zz{{zzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{yyy{{{{zzzzyyzz{{{zzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzyyyzzzzzzzzzzzzzzzzzzzyyzzzzzzz{{{zz{{{zzzzzzzz}}{{zz~{{~~~~~~~~~~}}}{{{zz{{~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}{{zzzzzzzzzzyyyyyyyyyyyzz{{{{{zzzzzzzzzzzz{{z{{{{{{{{{{{{{{{zyyyyyyyyyyzzzz{{{{{{{{{{{{{{{{{}}{{{{{{{z}}zz}}}}{{{zzz{{{{{{zzzzzzzzzz{{zzzzzzzyyyyyzzzz}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{}}}}}}}}}}}}}}}}}}}}{{{{{}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}{{{{{{}}{{{{{{{zzzzyyyyyyyyyyyyyyyzzzzzzzzzzzzz}{{}}}}}}}}}{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{{{{}}}~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{{}}}~~~~~}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{zzzzzz{{zzzyyyyzzzz{}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzyzyyzzzyyyyzz{{{{{{zzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{zzzy{{{{{zzzzzzz{yyyzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzzyzzzzzzzzzzzzzzzzzzzzzz{{{{zz{{{zzzzz{{}}zz{zzzz{~~~~~~~~~~~}}{{{zzz{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~}}~~~~{z}zz}yzzzzzzzzzzzyyyyyyyyyyzzz{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{zzyzyyyyyyyyzz{{{{{{}{{{{{{{{{{{}}{{{zzzzz}zzz}{{}{{zzzz{{{{{{{{zzzzzzz{{{zzzzzzzyyyzzzzzz}}}}}}}}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}{}}}}}}}}}}}}}}}}}}}}}}}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}}}}}~}}}}}}}}}}{{{{{{{{{{}}}}{{{{{}}}{{{{{{{{zzzzyyyyyyyyyyyyyyzzzzzzzz{{{{{}}}}}}}}}}}}{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{{{{}}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{}}{{{{{{}}}~~~~~~}}~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{zzzzzzzzzyyyyyyzzzz}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzyyzzyyyyzz{{{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{zzyzzyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzz{{{}zzzzzz{{{~~~~~~~~~}}}{zz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~}}}}}{{~{{zzzzyyyzzzzzzzyyyyyyyyyyyyyzzz{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzyyyyyyzz{{{{}}}}}{{}}{{{{{}}}}{{{zzzzzzzzz{{{{{zzzz{{{{{{{{{{{{zz{{{{zzzzzzzzzzzzzzzz}}}}}}}}~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}{{{{{{{{{{}}}{{{{}}}}{{{{{{{{zzzzzyyyyyyyyyyyyyyyz{{yyzz{{{{{}}}}}}}}}}}}}{{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{{{{{{{}{{}}}~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}{{{{{{{{{}}}}}{{{{{}~~~~}}}}~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{zzzzzzzzyyyyyzzyy}}}}}~}}~~~}}}}}}}{{{{}}}}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzyyyyz{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{zzyyyyyyyyyzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzz{zzzzzzzzzzzzzzzzz{{{{{{{{{zzzzz{{{{{{zzzzz{{{~~~~~~~~~~}zzzz{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~}}{{{{{{{{zzzzyyyyyyzzzzyyyyyyyyyyyzzzzz{{{{{{{zzzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzyyzzzzz{{}}}}}}}}}}}}{{{{}}}}{{{{{{{{{zz{{{{{{{{z{{{{{{{{{{{{{zzzz{{zzzzzzzzzzzzzzz}}}}}}}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}}{{{}{{{{{zz{{zzzzzyyyyyyyyyyyyyyyy{{{yyyy{{{{}}}}}}}}}}}}}}{{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{{{{{}}}}}}~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~{{{{{{{{}{{{}}}}{{{{{}~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{zzzzzzzzyyyyyyyyy{{}}~~}~~~~}}}}}}{{{{}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzyyyyz{{{{{{{{{zzzzyyyyyyyyyyyyzzzyyyyyyyyyyyyyyyyyyyyzzzz{{{{zzzzzyyyyyyzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyzzz{{zzzzzzzzzzzzzzzz{{{{{{{{zzzzzz{{{{{{zzzz{~~~~~~~~~~~}{}}zzz{{{{{~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~}}}{{{{{{{zyyyyyyyyyyzyyyyyyyyyyyyyyzzzzzzzzz{{zzzzzzzzz{{z{{{{}}{{{{{{{{zzzzzzzzzzzzzzz{{}}}}}}}}}}}}}}{}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzzzzzzzzzzzzzz{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}{{{{{{}}}}}}}{{{{{{zzzz{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyzz{}}}}}}~~}}}}{{{{{{{{{zzzzyyyyzzyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{}}}}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{}}}}{}}}{{{}}}{{{{}}~}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{zzzzzzzzzyyyyyy{{{}}zz{{~~~~}}}}}}{{{{}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{zzzzzzzzzzyyyzzz{{{{{{{{{zzzzyyyyyyyyyzzzzzzzzyyyyyyyyyyyyyyyyyyzzzz{{zzzzzzzzyzyyzzzzzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyz{{{yzzzzzzzzzzzzzz{{{{{{{{{zzzzz{{{{{{{{zz{{~~~~~~~~~~~{{{{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}~~}}}}}~~~~~~~~~}}}{{{{{{zyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{zzzzzzzzyyz{{{}}}}{{{{{{{{zyyzzzzzzzzzzz{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzz{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~~~}}}}~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}{{{{{{}}}}}}{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzz{{}}}zz~~~}}}{{{{{{{{zzzzzyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzz{{}}}}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{}}}}{}}}{{{}}}{{}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{{{zzzzzzzzzzyyyyy{{{}}zz{{~~~~zz}}}}{{{{}}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzz{{zzzzzzzzzzzzzzz{{{{{{{{zzzzzyyzzzzyzzzzzzzzzzyzzyyzzyyyyzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyy{{yyyzzzzzzzzzzzzz{{}{{{{{{{zzzzz{{{{{{{{{{{~~~~~~~~~}}{{{{{{{{{{{{{}}}~~~~~~~~~}}~~~~~~~~~~~~}}}~~}}}}}~~}}}~~~~~~~~~}}}{{{{{{yyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyy{{{{{{{{zzzzzzyyzz{{}}}}}{{{{{{zzyyzzzzzzzzzz{{}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{{{{zzzyyyyzzzzzzz{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}~~}}}}}~~}}}}}}}}}~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~}~~}}}}}}{{{{{{}{}}}}{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzz}}zzzy~~}}{{{{{{{{{zzzzzzyyyyyyyyyyyyyyzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{}}}}}}}}}}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~}}}{{{{}{{}}}}{{}}{{}}}}}}}}~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{zz{{{{{{zzzzzyyyyy{{{}}{{{}}{{~zzzzz{{{{{zz{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzyyyyyzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyy{yyyyzzzyyyzzz{{{z}}}}{{{{{zzzzzz{{{{{{{{{{{~~~~~~~~}}{{{{{{{{{{{{}{}}~~~~~~~~~~~}~~~~~~~~~~~~~}}}~}}}}}~~~~~~~~~~~~}}}}{{z{zzyyyyyyyyyyyyyyyyyyyzzzzzzyzzzzyy{{{{{{{{{{{yyzzzyyyyyy}{{{{{{{{{zzzzzzzzzzzzzz{{~~}~}}~}}}}}}}}}{}}{{{{{{{{{{{{{{{}}}{{{{{{{{}}{{{{{{{{{{{{{{{zzyyyyyzzzzzz{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}}}}}~}}}}~~~}}}}}}~~~}}}}}~~}}}}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}~}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}{{{{{{{{}}{{{{{{{{{zzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzyyzzyyy}}{{{{{{{{{zzzzzzyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~}}~~~}}}{{{}}}}}}}{{{{{}}}}}}}}}}}~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{zzzz{{{{{zzzzzyyyyyzz{{{{{{}}{{zzzyzzz{{{{zzzzzzz{{{{{{{{{{{{{{{{{{{{{{zzzzz{{zzzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyyyyyzzyyyzzyzzzzzzzzzzz{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyy{{{{{}}}}{{{{zzzzzz{{{{{{{{{{{{}}}~~~~}}}}{{{zz{{{{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~}}}}}zzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyy{{{{{zz{{{{yyzzyyyyyyyyy{{{{{zz{{zzzzzzzzzzzzz{{~~~~~~~}}}}}}}}}}}{{}}}{{{{{{{{{{{}}}}}{{{{{{}}}}}{{{{{{{{{{{{zzyyyyyzzzz{{{{}{{{{~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~}}}~~~~}}}}~~~~~}~~~~}}}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}{{{{{{{{}{{{{{{{{{{zz{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzyyy{{{{{{zz{{zzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{z{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}~~}}~~~~}}{{}}}}}}}{{{{{{{}}}}}}}}}}}}~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{}{{{{{zz{{{{{{zzzzzyyyyzzz{{{{yyyyyyyzyyyzz{{{zzzzzzzz{{yyy{{{}}{{{{{{{{{{{zzz{{{{{{zzzzzzzzzzzzzzzz{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyzyyyyzyyzzzzzzzzz{{{{zzzzzzzzzzzyyyyyzzzyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyyyyyyyyy{{{{{}}}{{{{{zzzzz{{{{{{{{{{{{{{}}~~~~~}}}{{{zzzzz{{}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~}~~~~~~~~~~~~}}}zzzzzzzyyyyyyyyyyyyyyyyyyyzzzyyzzzyzzzzzz{{{{zz{zzzzzzzyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzz{{{~~~~~~}}}}}}{{}}zz{{}}}{{{{{{{{{{}}}}}}{{{{{}}}}}{{{{{{{{{{{{yyyyyyyzz{{{{{}}{{{~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~}}}}~~~~}}~~~~~~~~}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyzyyzzzyyyyyy{{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz{{{{{{}}~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}}}~~~~}}}}}}}}}}}}{{{{{{}}}}}}}}}}}~~~~~}}}}~~~~~{{~~~~~~~~~~~~~~~~~~~~~}{{}}}{{{{{{{{{{{{{{{zzzzzzzzzzzzzz{{{{yyyyyyyzzyyzz{{{zzzzzzzzzzyy}}}}}}}{{{{{{{{{{zz{{{{{zz{{zzzzzzzzzzzzzzz{{zz{{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyzyyyyyyyyyzzzzzzz{{yyzzzzzzzzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~}}{{{zzzz{{{}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~}{{zzzzyyyyyyyyyyyyyyyyyyyyyzzzzyyzzyyyzzzzz{{{{{zzzzzzzzzzyyyyyyyyyyyzzz{zzzzzzzzzzzzzzz{~~~~~~}}~~}}}}{{{{zz{}}}}}{{{{{{}}}}}}}}}}{{{{}}}}}}{{{{}{{{{{{yyyzzyzzz{{zz{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzyyyyyyyyyzyyyyyyyzzyyzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{}}~~~~~~~~~~~}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~}}}}}}}}}}}}{{{{{{{{}}}}}{{{{~~~~~~~}}~~}~~{{{~~~~~~~~~~~~~~~~~~~~}{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzz{{{yyyyyyyzzyyyz{{{{{zzzzzzzzyyy}}}}}{{{{{{{{{{{{z{{{{{zz{{zzzzzzzzzzzzzz{{{zzz{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzyyzyyyyyyyyyyyyyyyyyyyyzzzzyyy{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~~~~~~}}}}{{{{{{{{{}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~zz{{{zzzyyyyyyyyyyyyyyyyyyyyyyzzzyyyzyyyyzzzz{{{{{zzzzzzzzzyyyyyyyyyzzzzz{{zzzzzzzzzzzzz{{{{~~~{{}}~~}}}}{{{{zzzz}}}}{{{{{}}}}}}}}{{{{{{{}}}}}{{{}}}{{{z{{zyzzzzz{{{{z}}}}}}~~}}}~~~~~~~~~~~~~~~~~}~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}~~~~~~}}~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}{{{{{{}}{{{{{zzzz{{{{{{{{{{zzzzzyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{{}}~~~~~~~~~~}}}}}~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}}}}}}}zzz}}{{{{{{{}}}}}{{{{}}}~~~~}}}}}~~zz~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyzz{{zzzzzzzzzzy}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{zzzzzzzzzzzzyyzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyy{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyy{{{{{{{{{{{{{{{{{{{{{{{}{{{~~~~~~~}}}}{{{{{{{{}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz{{{{{zzzzzzzzyyyyyyyyyzzzz{{{zzzzzzzzzzz{{{{{{{~{{{}}{{{{}}{{{{zzzzzz}yy{{{}}}}}}}}{{{{{{{{}}}}{{{}}}}{{zzzzzzzzzzz{{{{{}}}}}~~}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~}}}}}}~~~~~~~~}}~~~~~~}}}}~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}{{{{{}}}{{{{zzzzz{{{{{{{{{zzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{{{{}}~~~~~~~~~~}}}}}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zz~~~~~~~~~~~}}}}~~~~~~~~~}}}}}{{{{zzz}}{{{{{}~~}}}}{{{{{}}~~~~}}}}}{{zzz~~~~~~~~~~~~~~~~}}}}{{{{{{{{{{{{{{{{{{{{{zzz{zzzzzzzzzzzzzzzzzyyyyyyyyyzzzzzzzzzzzzzzzz}}}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{zzzzzzzyyzzyyzzzzzzz{{{{zzz{{zzzyzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyy{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyz}{{{{{{{{{{{{{{{{{{{{}}}}}}~~~~~~}}}}}{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}~~~~}}~~~zz~zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{zzzzzzzzyyyyyyyyzz{{{{{zzz{{zzzzzz{{{{{{{{{zzz{{{{{{{{{{{zzzzzz}yy{{{}}}~~}}{{{{{{{{{}}}}{{{}}{{{{{zzzzzzzzzz{{{{{{}}}}~~}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~~~}}}}}}~~~~~~~}}}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}~~}}}{{{{{{}}}{{{{{{{zzzz{{{{{{{zzzzzyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzz{{{{{{{{}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{~zzzz~~~~~~~~~~}}~~~~~~~~~~~~~}}}{{{{{{{}}{{{}}}}~~}}}{{{{~~~~~~~~}}}}{{zzz~~~~~~~~~~~~~~~~}}}}}}}}{{}{{{{{{{{{{{{{{{z{{zzzzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzzzzzzzzz}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{zzzzzzzyyyyyzzz{{{{{{{{{{z{{{zzyyzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzz{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyzz}}}}}{{{{{{{{{{{{{}}}}}}}}~~~~~~}}}}{{{{{{{}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz{{{{{{zzzzzzzzzyyyyyzzzzz{{{{{zz{{{zzzzzzzz{{{{{zzzzzz{{{{{{{{{{zzzzzzzyy{{{}}}}~~}}}}}{{}}~~}}}}{{{}{{zzzzzzzzzzzz{{{{{{{}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~}}~}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}{{{{}}}}}{{{{{{{zzzz{{{{{{{{zzzzzyyyyyyyyyzzzzzzzzzzzzzzzyyy{{zzzz{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{{}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{zzz~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{}}}}}}}}}}}}}}{{{{~~~~~~~}}}}{{zzzz~~~~~~~~~~~~~~~}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyzyyyyyyyzzzzzzzzzzzzz{{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyyzyyzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzyyyyyyyyyyy}}}}}}{{{{{{yy{{{{}}}}}}}}~~~~~~~}}}}{{{{}}}}}}~~}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}~}~~}}{{}}}{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzyyzzzzzzzz{{{zz{{{zzzzzzzzz{{{{{zz{zzzz{{{{{{{{zzzzzzzzzz}}}}}~~~}}}}}}{{}}~~}}}{{{{{{{{zzzzzzzzzzz{{{{}}~~}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~}}}}}~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}~~~~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{}}{{{{{{zzzzzyyyyyyzzzzzzzzzzzzzzzzzyyyz{{{{{z{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzzzz}}{{}}}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{zz~~~~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{}}}}}}}}}}}}}}{{{{}}~~~~}}}zz{{zzz{{{~~~}}~~~~}}}~}}}}}}}}}}}}}{{}}}}{{{{{{{{{{{zzzzzzyyzzzzzzzzzzzyyzyyyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzyyzzzzz{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzyyyyyyyyyyyyyzzyyyyyyyzzzzzzzzzz{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyy}}}}}}yyzz{{yy{{z{}}}}}}}}}~~~~}}}}}}{{{{}}}}}}~~~}}}}~~~~~~~~~~~~~~~~~~~~~~}}}~~~~{{{{{{{{{{{{zzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{zzz{{zzzzz{{{zz{{{zzz{{{{{zzzzzzzzzzzzz}}}}}~~~}}}}}}}}}}}}}}{{{{{{{{{{zzz{zzzzzz{{}}}}~~~~}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~}}}}}}}}}}}}~~~~~~~~~}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{}}}{{{{{zzzzzzyyyyyzzzzzzzzzzzz{zzzzyyzz{{{{{{{{{{z{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzyzzzyyyyyyyyyyyyzzzzzzz}}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~}}{{{{{{{{}{{{{{}}}}}}{{{{}}~~}~}}}zzzz{{{{{~~~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzyyzzzzzzzzzyyyyzzyyzzyyyzzzz{zzzzzzz{{{{{{{{{{{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzyzzzz{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzyyyyyyyyyzzzzzzzzzz{zzzzzzzzzyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyy}}}}}yyyzz{{yy{zz}}~~~}}}}~~~~~}}{{{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~{{{{{{{{{{{{{zzzzzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzz{{{{{zz{{{zzz{{{{zzzzzzz{{{{{zzzzzz{zzzzzzz{~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{z{{{zzzzz{{}}}}}~~~}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~~~~~~~}}}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{}}}}{{{{zzzzzzyyyzzzzzzzzzzzzz{{zzzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyzyyzzzzzzzzzzzzz}}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}{{{{{{{{{~~~~~~~~~~}~~y~~~~~~~~}{{{{{{{}{{}}{{{{{{}}}}{{{{{}}}}}{{{{{zzz{{{{~~~~}}~~~~~~}}}}}}}}}}}}}}{}}}}}}}}{{{{{{{{{zzzzzzzzyzzzzzzzzzzyyzzzzzzzyyyzzz{{{{zzz{{{{{{{{{{}{{{{{{{{}}{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzyyyyyyyyyyzzyyyyyyyyyzzyzzzzzzzzzzzzzzzzzzzzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyy}}yyyyy{{{{zzzz}}}~}}}}}~~~~~~{{{{{{zz}}}}}~~~~~~~~~~~~}}~~~~~~~~~~}~~}}}}~~~~~~~{{{{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{zz{{{{{{{{{{{zzzzzz{{{{{zzzzzz{{zzzzz{{~~~~~~~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{zzzzzzz}}}~~~}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}}}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{}{{{{{zzzzzzzyzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{~~~~~~~~~}}zzyyy~~~~~~}}{{{{{{{}}}}}~~{{{{}}}}{{{{{}}}}}{{{{{zzz{{{~~~~}}~~~~~~~~}}}}}}}~~}}}}{{}}}}}}{{{{{{{{{{zzzzzzzzzyzzzzzzzzzyzzzzzyyzyyy{{{{{{{{{{{{{{{{{{}}}}{{{{{{{}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{{{{}}{{{{{{{{{zzzzzzzz{{{zzzzzzzzzzyyyyyyyyzzzzyyyyyyyyzyyzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyy{zz{{zz~~~~}}~~~~~~~~~}}{{{{zzz}}}}~~~~~~~~~~~}}}}~~~~~~~~~}}}}}}~~~~~~~}}}{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{{zzzzzzzzzzzzzzzz{zzzzzzzz{{{{{zz{{{{{{{{{{{zzzzzz{{{{zzzzzzzz{zzzzz{{~~~~~~}}~~}}~~}}}}}}}}}}}{{{{{{{{{{{{zzzzzzzz}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}~~~}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzyzzzzzzzzyyzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{~~~~~~~~}zzzzyy~~~~~~~}}}}{{{}}}}}}}~~~{{{}}}}{{{{{{}}}{{{{{{{{{{{}}~~}}}~~~~~~~~}}}}}}}~~~}}}{{}}}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzz{{{z{{{{{{{{{{{}}}}}}}}}{{{{}}}{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{}}}}}}{{{{{{{{zzzzzz{{{{{{zzzzzzzzzzzyyyyyzzzzzzyyyyyyyyyyyzzzzzzzzz{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyzzzz{{zz~~~~zz~~~~~yy}{{{{{zz{}}}}~~~~~~~~~~~}}}~~~~~~~~~~}}}}}}~~~~}}}}}}{{{{{{{{{zzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz{{{{zzzzzzzzzzzzzzz{{{{zzzzzz{{{{{{zzz{{{{{{{{{{{zzzz{{{{{zzzzzzzzzzzzz{{{~~~~~~}}~~~~~~~~~~}}}}}}}}}}{{{{{{{{{zzzzzzzz{~~~}}}}}}~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{~~~~~~~zzzzzzzzz~~}}}}}}}{{{}}}}}}}}}~~}}}}}{{{{{{{{}}{{{{{{{{{}}}}}}}}}}}~~~~~~}}}}}}}}~~}{{}z{zz}}}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzz{zz{{{{{{{}{{}}}}}}}}}}}}}}}}}{{}}{{{{{{{{{{{{{{{{{{{{zz{{{{}}}}}}}}{{{{{{{{{zz{{{{{{{{{zzzzzzzzzzzzyyyyyzzzzzyyyyyyyyzzzzzzz{zz{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzz~~}zzyyyyyyyy{{{{{z{{}}}}}}~~~~}}~}}}}}~~~~~~~~~~~~~}}}}}~~}}}}}}}{{}}{{{{{zzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyz{{{{{{{zzzzzzzzzzzz{{{{zzzzzzz{{{{{zzz{zz{{{{{{{{z{{{{{{{{{{{{zzzzzzzz{{{}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{zzzzzz{{~~}}}}~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}{{{{{}}zzzzz{{zzzzz{{{{zzzzzzz{{zzzzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzzyyyyzzzyyyyyyyyyyyyyyyyyzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{}}{{{~~~~~~~zzzzzzzzz~}}}}}}}{{{}}}}}}}}}}}}}}}}}{{{{{{{{}}{{{{{{{{{{}}}}}}}}}}~~~~~~~}}}}}}~~~}{{zzzzzz}}{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{zzz{{{{}}}}}}}}{{{{{zz{{{zz{{{{{{{{zzzzzzzzzzzzyyyyyzzzzzzzyyyzzzzzzzzzz{{{{{{{{{{zzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzz}}}yyyyyyyyyyyy{{{{zz{{{}}}}}}~~~}}}}}}}}~~~~~~~~~~~~~~~~}}~~}}}}}}}}}}}{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyy{{{{{{{{zzzzzzzzz{{{{{{zzzzzz{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{zzzzzzzzz{{}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}{{{{{{{{{{{zzzzz{~~~}}~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}{{}{{}}zzzzzz{zzzzz{{{{zzzzzzzz{zzzzzzzzzzzzz{{{{{zzzzzzz{{zzzzzzyyyyyyzyyyyyyyyyyyyyyyyyyyzzzzzz{{{zzzzzzzzzzzzzzzzzzzzz{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}}}}}}}{{}}}{{~{~~~~yyyzzzzzz~~~}}{{{{{{{{}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{}}}}}}}~~~~~~~~~}}}}~~~~}{{{zzzzz}}}{{{{{{{{{{{{{zzzzzz{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}{{{{{{{{{zzz{{{{{{}}}}}}{{{{{zzz{{{{{{{{{{{{z{{zzzzzzzzyyyyyyyzzzzzzyyzzzzzzzzzzzz{{{{{{{{zzzzz{{{zzzzzyyyyyyyyyyyyyyyyzyyzzzzzzzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzz}}yyyyyyyyyyyyy{{{{{{{{~~}}}}}~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{zzzzyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzzzzzz{{{{{{{{zzzzzzz{z{{{{{{{z{{{{{{{zzzzzzzzzzz{{{{{{{z{{{{{{{{yyyyyzzzzzzzzz{}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{{{{{{{{{{zzzzzzz~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}{{{{{zzzzzz{zz{{{{zzzzzzzzzzzzzzzz{{{{{{{{{{{{zzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzz{{{{{yyzzzzzzzzzzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}}}}}}}}{{{}{{{{{{{zzyyyzzzzzzz~~}}{{{{{{{}}}}}}~~~}}}}}}}}}zzz}}{{z{{{{{{{{{}}}}}}}}~~~~~~~~~~~}}{{~~~{{{{{zzzzz{{{{{{{{{{{{{{{{{{zz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{}}}}{{{{{{{{zz{{{{{{{{}}}}{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyyyyyzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{zz{{{{zzzzyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyzzzzzzzzzyyyyyyyyyyyyyyzz{{{{{{{~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}{{{{{{{{{{{{zzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyzzzzzzz{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{zzz{{{{{{{yyyyyzzzzzzzz}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{zzzzzz{~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}}{{{{{zzz{{{zz{{{{{z{{zzzzzzzzzzzz{{{{{{{{{{{zzzzyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzy{zyyyzzz{{zzzzzzzz{{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{{}{{{{{{{{{zzyyyzzzzzzzzz{{z{{{{{{}}~~~~~~~~}}}}}}}}zzz}}{{z{{{{{{{{{}}}}}~}~~~~~~~~~~~~}}{{{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{~~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}{{}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzyyyzzzzzzzzzzzzzzzzz{{zzz{{{{{{{{z{{zzz{{{zzzzyyyyyyyyyyyyyyzyyzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyzzz{{{{{{{~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyyzzzyyzyyyyyzzzyzzzzzzzz{{{{z{{{{zzzz{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{zzzz{zzzzzzzyyzzzzzzzzzz}}}~~~~~}}~~~~~~~~~~~~}}}}}}}}}{{{}{{{{{{{{{{{zzzzz{~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{zzzzzzz{{zzz{{{{{{{{{zzzzzzzyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyzzyyzz{{{{zzzzzzz{{{{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}{}}}{{{{{{{zzzyyyyzzzzzzzz{{z{{{{{{{}~~~~~~~~}}}}}}yyz}}zz{{{{{{{}}}}}}}}~~~~~~~~~~}}}}}}{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{zzzzzzzzz{{{{{{{{{{{{{~~~~~}}}~~~~~}}~}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}{{}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{zzzzzzz{zzzzzzzzyyyyyyyyzzzzzzzzzzzzzzzzzzzyyyzzyyyyyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyzz{{{z{{{{{{~~~~{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{{{{{{{{{{{zzzzzzyyyyyyyyyyyyyyyzzzzzzyyyyzzzzzzzzzzzzzz{{zz{{{{{zzz{{{{{{{{{{{{{{{zzzzzzzz{{{{z{{{{{zyzzyzzzzzzzzzzzzzzzzzzzzz}~~~~~~}}}}~~~~~~~~~~{{{}{{{{{{{}}}{{{{{{{{{{{{zzzz~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{z{{{{{{{{{zzzzzzzyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzzz{{zzzzzzz}}}}{{{{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}}}}}}}}}}}}}{{{{{zzzzzyyyyyzzzzzzzzzz{{{{{{{{~~~~zzz~}zz}}}yy{{zz{{{{{{{}}}}}}}}}}}~~~~~~~~}}}}}}}}{{{{{{{zzzzzzz{{{{}}}{{{{{{{{{{{{{{{{zzzzzzz{{{zzzz{{{{{{{{{{{{{}}{{{~~~~~~}}~~~~~~~~}}}~~}~}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{}{{{{{{{{{{{}}}}}}}{{{}{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{}{{{{{{{zzzzzz{{zzzzzzzzzzyyyyyzzzzzzzzzzzz{{{zzzzzyyzzzzyyyyyzzyyyyyyyyzzzzzzzzzyyyyyyyyyzzz{zzzz{{{{{~{{{{~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{{{zzzzyyyyyyyyyyyyyyyzzzzzzzyzzzzzzz{zzzzzzzzzzzzzz{{{zzz{{{{}{{{{{{{{{{{{zzz{{{{{{yyy{{{{zyyyyzzzzzzzzzzzzzzzzzzzz~~~~~~~~}}}}~~~~~~~~~~{{{{{{{{{{}}}}{{{{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}~~}}~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzz}}}}}{{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~}}}}}}}}~~}}}}}}}{{{{{zzzzzzzyyyzzzzzzzzzzz{{{{{{{{~~zzzzzzzz}}}yyyy{{{{{{{{{{{}}}}}}}}}}}}~~~~~~~}}}}}}}}{{{{{{{zzzzzzzz{{{}}}{{{{{{{{{{{{{{{{zzzzzzz{{{{{zz{{{{{{{{{{{{{}}}{{}}~~~~}}~~~~~~~~~~~~~~~~~}}}}~~}}}}}}}}}}{{{}}{{{{{}{{{{}}{{{{{{{{{{{}}}}}}}{{}}{{{{{zzzzzzzzzzzzzzzzzzzzzz{{zzz{{{{}}}}{{{{{zzzzzz{{zzzzzzzzzzzyyyyzzzzzzzzzzzz{{zzzzyyzzzzzzzzzzzzzyyyyyyyyy{{zzzzzzyyyyyyyyyyyyyzzzz{{{{{{{{{{{~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{{{zzzzzyyyyyyzzyyyyyyyzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{zzzzz{{{{}}{{{{{{{{{{{zz{{{{{zzyyy{{yyyyyyzzzzzzzzzzzzzzzzzzzz~~~~~~~~~}}}}~~~~~~~~~{{{{{{{{{{{}}}}}}}{{{{{{{{{{zzz~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}{}}{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzzzzzzzzzzzzzz}}}}{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~}}}}}}}{{{{{zzzzzzzyyyzzzzzzzzz{{{{{{{{{{~zzzzzzzzzyyyyyyy{{{{{{{{{{}}}}~~~~}~~}~~~~~~~~~}}}}}}{{{{{{{{zzzzzzzz{{{}}}{{{{{{{{{{{{{{zzzzz{zzz{{{{{zz{{{{{{{}{{{{{}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}{{}}}{{{}}}}}{{{{{{zz}}}}}{{{{}}{{{{{{{zzzzzzzzzzzzzzzzzzz{{{zzz{{{{{}}}{{{{zzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzyzzyyyyyyyyyyyzz{{{{{{{{{{~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}{{{{{{{{{{zzzzzzyyyyyyzzyyyyyyzzzzzzzzzzzzzz{{zz{zzzzz{zzzz{{zzzzz{{{}}}}}}{{{{{{{{{{{{{{{zzyyyyyyyyyyyyzzzzzzzzzz{{z{{zzz{~~~~~}}}}}}}}~~~~}}~~~{{}{{{{{{{{}}}}}}}{{{{{{{{{{{z{{~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~}}}}~}}}~~}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{}{{{{{{{{zzyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyzzzzzzzzzzzzz{{~~}{{{{{}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}{{zz{zzzzzzzyyyzzzzzzzzz{{{{{{{{{zzzzzyyzzzzyyyyyyy{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~}}}{{{zzzzzzzzzzzz{{{{{}}}{{{{{{}}{{{{{zzzzz{{{{{{{{{{{{{{{{{{}}{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{}}}}{{{{{{zz{{{}{{{{{{{{{{{{{{{z{zzzzzzzzzzzzzz{{{{{zz{{{zz{{}{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzyyyyyyyyyyzzzzzzzzzzzyyyyyyyyyyyzz{{{{{{{{{{~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}{{{{{{{{{zzzzzzzzyyyyzzyyyzyzzzzzzzzzzzzz{{{{{{{zz{{{{zzzz{{zzzzzz{{{}}}}zz{{{{{{{{{{{{{zzzyyyyyzzyyyyyyzzzzzzzzz{{{{{{{{{{{~~~~}}}}}}~~~}}}}}}}}}}}}{{{{{{{}}}}}}}{{{{{{{{{{{{{~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}~~~}}}}{{{{{{{{{{{{{{{{{z}}}{{{{{{{{{{{{{{{{}}zzzzz{zyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyzzzzzzzzzzzzzz{{~~~}}{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}zzzzzzzzzzzyyyzzzz{{{{{{{{{{{{{{zzzzzyyzzyzyyyyyy{{{{{{{{{{{}}}{~~{~~zzzz~~~~~~~~~~{{{{{{zzzzzzzzzz{{{{{{{}}}{{{{{}}}{{{{{{zzz{{{{{{{{{{{{{{{{{}}}}{{{}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}{{{zz}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{zzzzzz{{{{{{{{{{{z{{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzyyzzyyyyyyyyyyyz{{{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}{{{{{z{{{zzzzzzzzzzzzzzyzzzzzzzzzzzzz{{{{{{{{{{{z{{{{zz{{{{zzzzz{{{{{}}{zz{{{{{{{{{{{{zzzzzyyyyzzyyyyyyzzzzzzzzz{{{{{{{{{{{~~~~}}}}}}~~}}}}}}}}}}}}}{}{{{{{{{{{}}}}}{{{{{{{{{}}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}{{{{{{{{{{{{{{{{{}}}}}}{{{{{{{{{{{{{{}}}{{zzzzzyyyyyyzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyzzzzzzzzzzzzzzzz{{{~~~}}{{{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~}}}~~}~~~}}}zzzzzzzzzzzyzzz{{{{{{{{{{{{{{{{{zz{{{zzyyyyyyyyyy{{{{{{{{{{{{{{{{{{{{zzz~~~~~~~~~~~{{{{{{{zzzzzzzzzz{{{{{}}}}}}}}}}}}}}{{{{zz{{{{{{{{{{{{{{{{{}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}{{{zz{}}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzzzzzzzz{{{{{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{{zzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyzzzzzzyyyyyyyyyyyzzz{{{{{{{{{{{{}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}{{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{z{{{{{{{{{{{{zzzzzyyyzzzyzzzzzzzzzzzz{{{{{{{{{{{{{~~}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{}}}}{{{{{{{{{}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~