YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY           
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY           
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY           
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY           
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY           
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY           
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY++++++...  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.. 
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY22222$$$$$2222YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2%%++++...+..+......+%%$22YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%+.............. .   .......+%$2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY$++.........      ......       .....+%2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY$++.........................    ........+%2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2%+++...+........                    .......+$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY$%%++++%%+++++++++...                  ........+2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY$%%%%+++++.....   .....                    .......%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$$%++++....... .                             .....+%2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$%%+++.......                                 .....+%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYY2$$%%%++.......                                  ......+%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYY$%$$$%++.......                                     .....+%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYY2$$$$$%%++........                                  ........+%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYY2$$%$2$%+++..........                                 ........+%$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYY$$$$2$$%++...........                                  ........++%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYY22$$$22$%++++...........                                 ......++++%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYY$$$$$Y2$%%++++............                         .  ..........++%+$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYY2$$$Y2$$%++++...............                      ............+++%%%2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYY22$2Y22$%%+++...............  .                      .........+++%+%$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYY22YY22$%%+++............................              ......++++%%%%YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYY222YYY2$$%%+++............. ......  .............      .......++%%%%%2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYY222YYYY2$%%++++.....                                 .......+++%%%%%$2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%+++++....   .  ..                         .......++%%%%%%%$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++++++....                              .........+%%%%%$%$$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2%%+++++.....                           ...........+%%%%%$$$2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY$%+++++++...                           ...........+%%%%$$$$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++++........         ...            ............+%%%$$$%2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++++..........        ......      ............++++%%$$%$YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++...........+...       ...........      ......++%%$%%$Y2YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$%++++++++++++++++...........++++++++++++........++%%%%%%..+2YYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYY2$2YYYYYYYYYYY$$%$$$%%%%%%%%$%$%%%+++......+%%%%%%%%%%%%%%%++++++%%%%%%+.%$%2YYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$$$$%%%%%%$$$$$222$%%+....+%%$$$$$%$$$$%%%++++++%%%%$%$+$2$%2YYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$$%%$$2$$2222222222$+....+$$22$$$$$2$$$$$%%+%%%%%%%%$%%%+%$222YYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY22$%$$2$%%+...+%$$2222$+.  .+%$$$$$$%++....+%$$%%%%%%%%$%$%%%%2222YYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYY22YYYYYYYY22Y222222$%+++...+%$22$%%+.   ...+.+++......+++++++%%%%%%$$$$%+%2222YYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$$$%%+.+++++++.......+++.   ..       ..++++........++%%%$%+++222YYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++++......      .....++.    .             ........+%%%+...+%22YYYYYYYYYYYYYYYYYYYYYYYY22YY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++++......     ...+++++.    .              .......+%%%+ .+.222YYYYYYYYYYYYYYYYYYYYYYYYY222%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%+......       ..+%%%%+..   ....              ...++%$%....$22YYYYYYYYYYYYYYYYYYYYYYYYYY222%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY$$%+....      ...++$2$%+.    ...++....         ...++%%+.+++2222YYYYYYYYYYYYYYYYYYYYYYY2222Y%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY22%++.....   ...++%+..++.     .  .+++...    .....++%$+++%+$2222YYYYYYYYYYYYYYYYYYYYYY22222Y%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2%++++......++++%%++++..    .. ..+%++.........++%$$++++$2222YYYYYYYYYYYYYYYYYYYYYYY2222YY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY222$%%++++..++++.+$$%%%++......++++..%%+++....+++%$$$++.%222Y2YYYYYYYYYYYYYYYYYYYYY222222YY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2YY2$%%%++++%+++..$2222$%+++++%$$%....%%++.+++++%%$$+..+222YYYYYYYYYYYYYYYYYYYYY2Y22222YYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYY22YYY22Y2$%%%++%%++....%22222$%++%$$%+......%%++++++%%$$$%%%22222YYYYYYYYYYYYYYYYYYYY2Y22222YYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%++%%++%%++++%$2$$$$$$$%+.........+%+++++%$%%22222222YYYYYYYYYYYYYYYYYYYY222222YYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%+..+++%%%%%++%$$$$$$$$+. .........++++++%%%$2222222YYYYYYYYYYYYYYYYYYYYY222222YYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%+.. .+%$$$$%%%$$$$$$%%....++++%%+.....+%%%%$22222222YYYYYYYYYYYYYYYYYYYYYYY2YYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$%+.....%%%%%++%$$$$%%%+%%++...+.+%+....+%%%%22222222YYYYYYYYYYYYYYYYYYYYYYYYYY2YYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY222$+......+++.++++%%%%.......  .... .....+%%%$22222222YYYYYYYYYYYYYYYYYYYYY2222YYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY22222%+.  ..++++++++++++.............  ....%%%%222222222YYYYYYYYYYYYYYYYYYYY22222YYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY222$$%+.. ...+%+++++++...++........   ...+%%%$2222222YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2222$$%+...........         ......    ..+%%%%$2$22222YYYYYYYYYYY2YYYYYYYYYY22YYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$$$$%++.......                  ....++%+%%+.+$22222YYYYYYYYY222222YYYY2YYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY2$$$$$$%++.....               .....+++++%$+..+%%22222YYYYYY2222222222YYYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY22$$$$$$%+++++.......         ...++++++%$$+ .++++%$2222Y22222222222222YYYYYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY222$%$%%%%%%%+................+++++%%%$$$...++....+%22222222222222222222YYYYYYYYYYYYY%%%%%%++.  
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY22$$$$%%%%%%%++++++++.....+++++%%%%$$$$+...++.......+$$2222222222222Y222YYYYYYYYYYYY%%%%%%++.  
YYYYYYY2222YYY22$$2YYYYYYYYYYYYYYYYY222YYY2$$$$$$%%%%++++++++++++++++%%%$$$$$$%....+. .........++$222222222222Y2YYYYYYYYYYYY%%%%%%++.  
YYYY222222222$%++++%2YYYYYYYYYYYYYYY2222YYY222$$$$%%%%%%++++++++++%%%$$$$$$$%%+......  .     .....+%$2222222222222YYYYYYYYYY%%%%%%++.  
YYY222222$$%++++....+$YYYYYYYYYYYYYY222222YYY22$$$%%%%%%%%%%%%%%%$$$$$$$$$$%%%+.....             . ...%$222222222222YYYYYYYY%%%%%%++.  
Y22222$%++++.........+2YYYYYYYYYYYYY22$$2222YY22$$$$$$$$$$$%%$$$$$$$$$$$$%%%%+.....                 ....+%$$2222222YYYYYYYYY%%%%%%++.  
Y2$%%+++..............+2YYYYYYYYYYYY22222$$$$222$$$$$$$$%%%%%%%%$$$$$%%%%%%%%+....                       ...+%$2222222YYYYYY%%%%%%++.  
%%++++............   ..%22YYYYYYYYYYY22222$$$$$2$%%%%%%%%%%%%%%%$$$$%%+%%%%%+...                          .....+%$$2222YYYYY%%%%%%++.  
++++..............     .+$2YYY2YYYYYYY222$$$$$%$$%%%%%%%%%%%%%%%$$%%%%%%%%%++.                               ......+%$22YYYY%%%%%%++.  
++............           .%2222222YYYYY222$$$$%$$%%%%%%%%%%%%%%$$%%%%%%%%%%+.                                  .......+%22YY%%%%%%++.  
............               .%$2222222222222$$$%$$$$$$%%%%%%%%%$$$%%%%%%%%+.                                          ....+%$%%%%%%++.  
..........                  ..+$2222222222$$$$$$$$$$$$$$$$$$$$$2$%%%%%%%+                                              ....+%%%%%%++.  
.........                   .. .%22222222$$22$$$$$$$$$$$$$$$$$2$%%$$$$%.                                                ....%%%%%%++.  
.......                     .    +$$2222$$$22$$$$$$$$22$$$$$$$$$$$$$$$%                                                  ...%%%%%%++.  
.......                            +%$$$$$$$$$$$$$$$$2$$$$$$$$$$$$$$$$%                                                  ...%%%%%%++.  
.......     .                        +$$$$$$$$$$$$$$$2$$$$$$$$$$$%%%%.+                                                    .%%%%%%++.  
......     ..                         .%$$$$$$$$$$$$$2$$$%%%$%%%%%%+. +                                                     %%%%%%++.  
......   ...                            $$$$$$$$$$$$$2$$$$$%%%%%%+.   +                                                     %%%%%%++.  
.....   ..                              %$$$$$$$$$$$$2$$$$%%%%+.      +                                                     %%%%%%++.  
....   ...                              .+%%$$$$$$$$$$$%%+%%+.        +                                                     %%%%%%++.  
....   ...                                 .+%$%%$$$$$+.              .                                                     %%%%%%++.  
....                                          .+++%%%%  .             ..                                                    %%%%%%++.  
.......                                              .                ..                                                    %%%%%%++.  
........                                                              ..                                                    %%%%%%++.  
........                                                               .                                                    %%%%%%++.  
........                                                               +                                                    %%%%%%++.  
.......                                                                +                                                    %%%%%%++.  
......                                                                 .                                                    %%%%%%++.  
......                                                                                                                      %%%%%%++.  
.....                                  .            .                  .                                                    %%%%%%++.  
.....                                  ....          .                ..                                                    %%%%%%++.  
..+.                                                                   .                                                    %%%%%%++.  
....                                                                   .                                                    %%%%%%++.  
.+.                                                                    .                                                    %%%%%%++.  
...                                                                    .                                                   .%%%%%%++.  
...                                                                    .                                                    %%%%%%++.  
..                                           ..++.++++    ......                                                            %%%%%%++.  
..                                                   .                  .                                                   %%%%%%++.  
..                                                                      .                                                   %%%%%%++.  
..                                                                      .                                                   %%%%%%++.  
..                                                                      .                                                   %%%%%++..  
..                                                   .                  .                                                   %%%%%++..  
.                                                    .                  .                                                   %%%%+++.   
         .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%%%%+++.   
         .%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%++..  
         .%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%++..  
         .%%%%%%%%%%%+++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%+++%%%%%%%%%%%%%%%%%%%%%%%%%%%%++..  
         .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++..   
          ........................................................................................................................