~}|||||||}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}||||||||||||||||||||}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}|||}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}||||}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}|||}}}}}}}~~~~~~~~~~~}||||}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~}}}}||}}}}}}}}}}}~~}~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}||||}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}|||||}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}|||||||}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}|||||}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}~~~}~~~~~~~~}}}}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}||||||||}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}||}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}|||||}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}||||}}}}}}}~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~}||||||||||}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}~}}~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}||||}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}|||}}}}}}}}}}~~~~~~~~~~~~~~~~~}}|||||||||{z{{|||}}~~~~~~~~~~~~~~~~}||||||||}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~}||{{{{||||}}}}}}}~~~~}}|||||||||||}}}}~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~}}}~~~~}||||{{{{|||}}~~~~~~~~~}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~}||}}}}}}}}||||}}}~~~~~~~~~~}}}}}}~~~~~~~}}}}}}}~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~}||||{{z{{|}~~~~~~~~~~~~~~~~~~~~~~~~~}}||||||{{{{|||}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}|||||}}}}~~~}|||||~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}|||||||||{{{{{{{|||}}}~~~~~~~~~}||||||||||||}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~~~}}||||}}}}}}}~~~~~~~~~~~~~~~~~~~~}||||||}}}}}}}}}}}~~~~~~~~~~~~~~}}}||||||}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}||||||||||}}}}}}}~~~~~~~~~~~~~~~~~~}|||||}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}||||}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}~~~~~}}}}}}~~|{{|||}}~~~~}}~}|||||}}}~~~~~~~~~~~~~~~}}~~~~}||||||||||||||||||}}}}}}~~~~~~~~~~}|||}}~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}~~~~~~~~~~~~~~~}}}}}}}}}}~~}~~~~~~~~~~~~~~~~}}}}}}}}}}~~~~~~~~~~~~~~}}||||||}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}||||}}}}}}}}}}~~~~~~~~~~~~~~~~~~~}}|||}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}||}}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~}|||||||||||||||||}}}}}}}~~~~~~~~~}||||||||||||||||}}}}}}}}}~~~~~~~~~~~}}||||||||||}}}}}}}}}}~~~~~~~~~~~~~}}}}|||||}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~}}|||||}}}}}}}}}}~~~~~~~~~~~~~~~~}|}}}}}}}}}}}}}}}}}}~~~~~~~~}|||||||||||||||||}}}}~~}}}}~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~}}~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~}||||||||||||||||}}}}}}}}}}}~~~~~~~~}|||||||||||||}}~~~~}}}|{{{{{{{{|{{{z{{{{zz{{{{{|||||||}}}}}~~}}~~}}~|{{{{{|||}}}}~~~|{{|{{{{||||}}}}}~~~~}}|||||||||||||||||}}}}~~~~~~~~~~}||||||}}}~~}}}}}}}}}}}}}}~~~~~~~~}|{{{{{{{{{{||||}}}}}}}}}~~~~~~~~}|||||||||}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}|||||{{{{{zzzz{{{{||}}}}~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}||}~~}}||||||||||||||}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}||||{{{{{{{{{||{{|||}}}~~}}|||||}}}}}}}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}~~~~~~}||||||||||}}}}}}}}}}}}~~~~~~~~~~}||||||||}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~}}}||}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~}}}}}}}||||||||||}}}~~~~~~~}|||||||||||||||}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}||||}}}}}}}}}}}}~~~~~~~~~~~~~~~~}}}||}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}|||||||||}}}}}}}}~~~~~~~~~~~~~~~~}|||||||||||||||}}}}}}}}}~~~~~~~~~~~|||||||||||||||}}}}}}}}}}}}}}}}~~~~~}||||||||||}|||||}}}}}}}}}}}~~~~~~}||||||||||}}}}}}}}}}}}~~~~~~~~~}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}}||||||||||||}}}}}}}}~~~~~~~~~~~~}||||||}}}|}}}}}}}}}}}~~~~~~~~~~~}}||}}||}}}}}}}}}}~~~~~~~~~~~~~~~}||||||}}}|}}}}}}}}}}}~~}}}~~~~~~~}}||||||}}}}}}}}}}}}}~~~~~~~~~~~~}}|||||}}}}}}}}}}}}}}}}}}}}~~~~~~}}||||||||||||}}}}}}}}}}~~~~~~~~~}||||||}}}}}}}}}}}}}}}~~~~~~~~~~}|||||||}}}}}}}}}}}}}~~~~~~~~~~~~}}||}}}}}}}}}}}}}}}}}~~~~~~~~~~~~}|||||}}}}}}}}}}}}}~~~~~~~~~~~~~}}}||||}}}}}}}}}}}~~~~~~~~~~~~~~~}}}||}}}}}}}}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}||||||}}}}}}}}}}}}}}}}}~~~~~~~~~~|||||||||||||||||||}}}}}}}}}}~~~~~}||||||||||||}}}}}}}}}}~~~~~~~~~~}}|||||}}}}}}}}}}}}}}~~~~~~~~~~~~}|||||||}}}}}}}}}}}}}}}}}}}~~~~~~~}||||||}}}}}}}}}}}}}}}~~}~~~~~~~~}}||||}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}}}}}}}}}}}}}}}}}}}}}~~~}~~~~~~