............................                                                                 ...,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..........................                                                             . .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
......................                                                                  . .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.....................                                                                     .......,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
....................                                                                       .....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
.................                                           .......,,,,,,........          .....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
................                                         ...,,,,********//////*/***,.       .....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
..............                                      ......,,***/*/////////////////////,   ......,.,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
............                                    ........,,**//////////////((((/((((/////*  . ..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.
.............                               .... .,,*****//////////((((((((((((((((((((///.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,..
...........                                  ....,,*////////(((((((((((((((((((((((((((((((*,..,,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..*
...                                            ...,*/(((((((((((((((((((((########(########((,,,,,,,..,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,.**
.... .....                                   ...,***/(((((((((((((((((#######################(,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,*,,,.,***
............                                 ..,,,//(((((((((((((((((#########################(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*,,,,,,****
....,,,,,*.                                ....,*/(((((((((((((#(##############################*,,,,,****,*,,*****,,*,*,,,,,,,,,*,,,*,,,,,,*,,,,,*,,*,,,.,*****
,,,*/(%@@@@,                     .    ... ...,*/(((((((((((((#((################################*****************************,,,**,*,*,,,,,*,,,,,,**,,,.,******
@@@@@@@@@@@.                  ..  .. .,...,*/(((((((((((((((((((##############################%&*//////////***************************,,********,,,*,,.,*******
@@@@@@@@@@(.                . . .........*/((((((((((((((((((#(((##################%%####%%%%%%&@@@@@@@@&#((/////(////////////*/******************,,,,,,*******
@@@@@@@@@@,                    ......,**/((((((((((((((((((((((((((((((#((#######%%%%%%%%%%%%%%&@@@@@@@@@@@@@@@@@@@@@@%#(((((((////////**************,,,,******
@@@@@@@@&/.                   ......,,*(((((((#(####((((((((((//*,**/,,,.,**/((###%%%%%%%%%%%&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&#((((((/////************,,,,**
@@@@@@@@@&.                 ........,*/(##########((((((((*,,,,,........   ...,*//(##%%%%&&&&&&&%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#(((///*************,
@@@@@@@@@#    .              .......,*(###########((#((//***,,....,,, .,%%#####%%,&(/(##%%%%%#/*/#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&////*********
(@@@@@@@@#                 ........,.*/#############(((/(//////*((/((/,*//,,*((((##%%&&##%%#@&*,*(#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(,,*****
.%@@@@@@@(.                ........,.*/(#############((((((///#(..... .,,,,,,,*/,*/#%%&%&%%*,,,,*&#((//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/..
 *@@@@@@@/.                ... ....,,,*(##############(((////((.*,,(,  ./((((/.*,,,**,*/#&#/(/%&#%&%((%##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&@@@
  (@@@@@&#,  ../(((/. .            ...,///*..,***/####((////&(*/.       ,...*,.,,,,,,,//#%%**#%(/(((((###%&(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  ,#&&@@@&.  (((/(####(*.............,*(#####(((#######((#&# #........          .,....,*%%%#.%**(((((((###%(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@
   *&&@&&%. ,((/*/(((###(/***,... ..,,*(############((((((((/,,...giotissl     ........%%%%%(#,,*/(((##(##(#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&@@@@
   .(@&&&%..(#//(###(/(((((((/*,....,,/(##############((((((*...               ...*..,(###%%%(/*//(//((#((##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&
    ,&@@@%,.((/((###((((((((((((/...,,/#################(((/......           .  ...,.(######%&/,*///*##//(((@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&&&&
     /@&@&#.(#/((######(/((((((((*,,,*/###################((,..           .   ...../(#######%%%***////(/*(#@@@@&&&@@@@@&&@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&%%%%%%%%
#    .%@&&&&##//###((/(///(((#(((/**/,*/####################(...       .      .../(##########%%%(*//((/*(&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&%%%%%%%%%%%%%
&     *&&&@&#((/##(/(##((((#####((*,//(((####################/...           .../(#############%%&#*(##*/%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@&&&%%%%####%%%
&#    .%@@@@&/((##((###((((######(/*((((#####################((( .       ...*(#######(((#####%%%&&&(/***@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&%%%%%%%
%%     /&&&&&%*((#(/(####((/(####(((/((((((#########%###%#%%####((,#..,*(########((######%%%%%%&&&@&**#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&@&&&&&&&&&&&%%%%%
@@%    .#&&&&%,/((##((((((((((##(((((((((((#############%#%%%%%%%#%####%%##%##((((##%%#######%%%&&&#&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&%%%
/((*.  ,%@@@@@(,/#/(##((######((((((/(/(((((#########%#%%%##%%%%%%%%%%%%%%%####(((###(*.,,,(#####%%,#&&@@@@@@@@@@@@@@@@@@&&&&&@@@@&@@@@@@@@@@@@@&&&&&&&&&&&&&&&
.      .....,,,*,,###((((((#(((((((((//((((((((##########%%%%%%%%%%%%%%%%%%######(((####(#(((#(#%&/,/%&&@@@@@@@@@@@@@@&&&&&&&&&&&&&&&&&&&&&@@@@@&&&&&&&&&&&&&&&
/((((//////**,..,../((##(((######(((//*//((((((#######%##%#%%%%%%%%%%%%%%%%#%%########(####%&&&&#(&,,(&&@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&&&&@&&&&&&&&&&&&&&&&&&
..   .,***///(//* .  ,(########(((((////((((###(((((#####%%%%%%%%%%%%%%%#%%%%%%##((#####%%%%%&#@&*&/,/%&&&@@@@@@@@@@&&&&&&&&&&&&&&%%&&&@@@@@@@@@&&&@@&&&&&&&&&&
               .,,....*////(((/**,/(*///(/((((#(##########%%%%%%%%%%%%%%%%#####((((/((((#%%#/%(#&*(@,,#&&&&&%%%%%&&&%%%%%%&&&&&&&&%%%%%&&&&&&%%%&&&&&&&&&&&&&&&
                  ..../((((((/((((/(/**//(((((#(############%%%#%%%%%%%####((((((((#(###%&%##&&/#**&/,/%%&&&&%&&&&&&&&&&&&%%&&&&&&&&%%%%%%&&&&&&&&&&&&&%%&&&&&&
                   *..(((((((####((((/////(/(###(#############%%%%%#%%#####(###(####%%%##%&&&&%&&///&,,(%%@@@@@@@&&&%%%#######%%%%%&&&&%%%%#%%%%%%%%%%%%%%&&&&&
              ,(//**../(((((#(#####((*////(//(##((########(######%%%%%############(((((#((###%#%&///%/,(%#@@@@@@@@&%%&&&&@@@@@&&&&&&&%%%%####%%#########%%%%%%%
           */**,,,,,, ((((((((#####(//*//////(/(#(########(#########%%#%####(***/(/(((#%%%%&&%#%%.,,/(,,. ...,,*/(#&@@@@@@@@@@@@@&&&&&&&&&&&%%%%%%%%&%%%%%%%%%%
          /...  ......(((((((#######(/****//*/(((((((###############%%#########((###%%&&&&&&@@&&,    (,.. ,////*,.........,,*/#&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&
          ....     .../(((((((#####(((/**/**///(((((((###(##(##############%##########%%%&&&%&&&     .*.. .(((////////////*,........,,,,,*(%@@@@@@@@@@@@@@@@@@@
      ///,/,..      ./(((((((((####(/(//,**,*////(((/(((((((((##(############%###(((((##((/(%&&       *.   .....,/((####(((((((/(((/*,......,.,,,,,,*/#&@@@@@@@
    ,.  ,.,  ..  .  ./(((((((########((/*/***/,*/(*//((((#(((#####################(/*//(/(%&%&,       ..    ...............,/(#####(((((((((((/,......,,,,,,,,,
   ,..    .    ###%#//((((((((#####(((/((**,,,******//(((((((##################%%%%%###%&&&&&(        ...          . ...............,/(######(((((#((((*,. ..,,
  ,..        .*,*/((#####(((((######(/((((//**,,*,**,*,**/(((((((############%%%%%%%%%&&&&@&@.         ..    .......           ..............,/(###############
 *..           .,*/(((###%%%%%#((##((((((((//***,,,******////((/((((((/(####%%%%#%##%%%%&&&%%.         ..      .  ...       ..           ............*/(#######
.....             ,//(###%%%%%%%%%%%((((((/((//***,*,..,,,,**//(/(/(//(((##((###(###%%%&%%%%%*          ..         ..    ..   ........           . .....,,..,//
.. .               ..((##%%%%%%%%%%%%%&%%(//////***,,**,.,...,,******/*////(((/((((##%#%####/           ..          .           . ..... . ..           ........
                   .  .(##%%%%%%%%%%%%%%&&&&&%(**/,,,,,,,,,,.....,,,,,,***/**//////((((##(#/            ..                               .  .. ..              
                     .   ,###%%%%%&&&&&&%&&&&&&&&&%#,,,,.*,,,,,,..,..,...,,*******///((///,              .           .                               .         
                        .. .#%%%%%%&&&&&&&&&&&&&&&&&&&&&%***,*,*,*,,,..,,..   ....,.......               ..                                                .   
                   .   ..  ...##%%%%%&&&&&&&&&&&&&&&&&&&&&&&&%(**///(/(((#%@....        ..                .                                                    
              .     .    .......#%%%%%%&&&&&&&&&&&&&&&&&&&&&&%%%%%&%#%%%&&&#**...       ..                .                                                    
                .  . ... ..... ...*%%%%&%&&&&&&&&&&&&&&&&&&&&#&&&%%&&&%&&&@...####.      .                .                                                    
.    ..       .         .. .. .... .*%%%%%%&&&&&&&&&&&&&&&&&#%&&%&%%&&&&&&@%@ ../...,(%((#*  ...                                                               
.    ....  ... ..   . .....  ... ......%%%%%&&&&&&&&&&&&&&&&%#@@&%%%&&&&@@#%&&/ ./. .,/*/#(,*#/                                                                
.  .  ......   . .   .  .,. *............(%%%&&&&&&&&&&&&&&&%%&&&&%%%&&&@@(#%%&@ ..#   ..*(/#(,,#                                                              
 . .......... ... ..  .......,.............*%%&&&&&&&&&&&&&%%%%&&&&&&&%&@@(##%%%&@..*(#*,,,*/*,(#./(            ....                                           
 .................... ....  ..,..............,%&&&&&&&&&&&&%%%%%%%&%&%%%%(/(##%%%&% .,#(#(/#.,*,.,%*(     .,     .......... ...                                
 ,,....  .....           . ....................,%&&&&&&&&@&&&&%%%%%&&%%%&@*/(###%%& ...((/####(#/..,#(                ............. .                          
           ..  .        .........,,...............%&&&&&&&&&&&&&&&&%%&&&&&.*/(##%%%& ...*,*((###(/#..,.                      .............. .                  
               ..     ..... .......*...............,%%%&@&&&&&&&&@&&&&&&&&(#,*((%%%@  ...,(,,(#//#### .(                           ................            
               .     . .. ..........,,..............,,%&@@@@&&@&&&@@@&&&&&&&&#*/(#%&, ....,(,,,#,/,.#  .(#.                               .............        
       .  ..        ..... ...........................,,,@@@@@@&@@@@&@@&&&&%&@@&(/(%&#. ....,/.,,(/(*,  ../#(*                                   .............  
        .......   .....................................,,*@@@@@@@@@@@@@%%&&%@@@@%((%&  .....,/*,,/(/.*,  ./( *,                                       ........ 
       .......   .....,..................................,,@@@@@@@@@@&@@%#%&@@@@@@(#&,.......,*(//*#/,.*.../,,//((                                          ...
.   .  ......   ,...,.......................,......,,....,,,%@@@@@@@@@@@@@%%&@@@@@@#%%/,.......*(*(/((/.,/.,*,/,,* (                                           
. ... ....  ..    ...*........................,..,.,.,,...,.,(@@@@@@@@@@@%%&%&%@((/%&(///*......,(,*/(((.,*#*,/.*. *((                                         
................    ...............................,,,.,,..,,*/@@@@@@@@@@&%%&&&@@@@(((((((/*.....,(***/(( .*(# ., .///(#.                                      
  ........ ........    .,,...,...............,.....,,.,,,,.,,,,/@@@@@@@@@@&(%&&@@@@##((###(//*....,((*//#/.,* /.  .*,,*/##/   ,/((                             
.....................    .,,............,,.,.,.,.,.,,.,,,,,,,,,,/&&&@@@@@@%,%&@@@@@@@@%(####(//, ..,((((/(/,,  .  .,,...*(/((    .** ,/                        
...... ...............  .  ,.,...,.....,....,,,.,,,.,,,,,,,,,,.**/&&&&@@@@(*#&@@@@@@@@@@@@%###(/* ..*((((((.   (   .(,. .,*///*   .*/   .(                     
...........................  ,.,..,,....,,.,,..,,,,,,,,,,.,.,,,,,**&&&&&@@&//&@@@@@@@@@@@@@@&(#((*..,///((((   #,   ,*. ..*,,,,.   ,/,    ,%                   
.............................. ,.,,,.,,..,,,,,..,,...,,,,,,.....,***(@&&&@@(/(@@@@@@@@@@@@@&&&&#/(/..,////(#(  *(   ./,. ..,,..    ,/*.    ,(%