95 92 45 63      1 78 885 88   28 39 29 8   48  6 34 958 1    22     5 16 89 612 267 26 525 54  696 99 41 84  5   27 9  155  7 26    1   56 4    95   1 56   7 574 713 784 936 28    69 3   466 6475 165 8    9641 88 71  74 67  799  97 34   7 13  8 3   714 78 581   4   9 42 27 18 278 46   4 786 644 24 478 142 12 53 76 369 58 7117 79  9 381 918 994 54 331 731 97  72 854 757 766 157 97   6 371 58 1331  76 24 46  147  28   6 31   663 52 86 84 9116 236 821   3 9    7 639  3 65  7  627 24    42 592 35  65  139 633 25   8  3 79  69 9  76 4742 23 58 38 115  613 4485 21 1  753 2  3722 36  43 8  66 7    5 27 919  6 196 86 3     1 72  51 835 83 5715 244 94 7126   1 793 3891 673 878 57 725 69  696 49 832 28 41  5 392  868  69 25  37   9 79  19 37   4 71  7 4   29 494 351   4  63 1656 1739 37 46 65 226 54  99   8 41  14  875 392   2 3  351 239   9 1   22 7743 375  534  4 26 257 811 44 4551 66 1123 99 96   952 83 891 694 177  95 87 2  216    9 37  872 187  1 9284  57    6 895 275 494 58 822 3519 81  9 67  6  4829 8  11 741 987  17 94 867  22 72 381 89   31 147 4679 8    3 7   54  69 64  9 52 831 63 943   9 467 521   6 8   5 39  19 1    7  66 21  3 65 18 99 325 71  7 83 32 98 177 415 5  366  6434 4  7998 52 114   6 37 163 453 17   895 274 5718 47 374 581 13 488 824 456 16  2  798 92 52  12   72 289 6444 58 52 821 2  6725 63 12 745 8874 94 19 5     14 623 99 415 644  53 73 187   45 582 9677  2 348 45  77 969 24   5  798 38 5125   56 7  56 469  91  7 885    8 746 355 28  921 44 7    6 56 935 239 371 45  775 75 52  11 2954 87 581 94  7 93 74 86 87 842 959 21 5167 2641 8   84 223 72 15   74 965 72 378 4   39  8 511 4521 9    264 54  983  39 16 5171 747 693 51 616 58 263 557  8  7  661   63 63  84 631 67 863 767  9 42 8432   7 97 9  776 48 435 7888 93    2 17 78 54  493 74 6615 21 858   7 68 45  75 41 51 46 36 187 5  59  29 53 81 95 457 9974 619 8    72 6379  2 538 84 71 84  46  273 1   86 76  3   8 242 472 2  89    4 47 993 91 82 64   6   51  4  93 484  9   91 56  38 835 231 55 234 438   94 8  67 33   717 7622 85 28 6735   5 178 8189  9 31 2553 623 855  8 7213 514 23 3   382 368   6 9334 36 3   3  644    4 28 8    591 53 88  49 768  2   45 88  47 46  96    86 273 33  7 3834 17 182 21  6273 12  74  565   77   9 4  86 49  98   55 15 533 19 431 532 16 48    9  8  32 5642  52 84   38 67 95 2  522 8   51  31   46  6 34 7   8    77 439 24    4 32    2  34 324 16 56 21  183 1  412  78   5 7  67 89 4971 1   34 758 64   12 292 783 2  7    7 88 99 9824 847 442 68 6349 4  195  17   99   3 72   697 596 39 86   3 2437 8   4  215 29 578 3    2 232 317 489 51   6 44  48 6   693 71 351 97  92 2   63 66 382 11 1867 1   762 86  6721 4848 44  986 4911 883 476 1663 81  6 37 7  954 5864  1 85 5224 66   8 773 4  6  7158 67  85  9 64  187 95  7  9  32  912 5547 52  53  3 5617 79  5 763 853 188  64   6 36 45 791 18 49  41 88   5 3233 919   3 79 3    254   6 965 27 378 22  8 18 25 62 7   37 24  669  35 989  6   5468  95 457 5   32  685 42   4 7  584 86  536 98 73   63 7   354 93 631 3178 48 279  566 75 6488 2  51 33 337 189 962 24 93   98 435 75  1 39 644 172 858 88 72 926 11  2292 26 84  6 53  227 21 91  19  9 382 7  26 28 565 741   75 7  1  633 3   312 14 79  1 693 9734   2 94 6729 914 1872 4    365 559 36 154 61 1  74 639 8871  73 391 55   147 2  7    6 62 449 3975 58 868 98 474 6182   9  94 9151 41  6 758 955  42  6   5 52 713 51   45 85   8 257 46   2  2 51 12 68 56  34 79 329 559  66 3358  86 54 868 75 47 21  12 75 16 98 67 25 49 68 968 99  22  29 95 1  975 374  36  6971   13 69 127 41 1    8 998   8   4 8   4  8 9    8  63 32 5838 6291 772 666   2 5    5 9446 933 884 845 177 493   3 32  364   25 3  432 939 21  84 536 9   55 7412 9729 746 7533 654 3238 92 213 53 23 8    386 824  4  59 17  9 148 3114 39  31 85 8  729   3 5  
41 29 61 65     99 57 924 77   95 69 51 265 46  1 33 326 3765 35    48 79 41 817  24 23 924 534 961 48 57 967 81  17 1  612  4 99 5125   34 73   4    4 38   5 776 686 373 651 923  283 347 113 7441 811 51   5323 14 398 79 25 8115  79 84 141 61 45 74  585 92 473 118 688 76 17 91 372 84  43 432 537 44 189 219 53 23 72 996 88 8249 33 86 941 137 69  95 721  67 53 427 366 78  133 873 16 398 693 93 2748  27 1  25  34   37 895 9358 118 15 11 88 9689 216 242 388 5  597  73 98 86  6  264 461  895 788 32  57  417 367 97  97 36 92  45 51 81 1136 52 55 28 935  13  2544 37 4  286 89 1699 81 174 44 61 6   56 62 275 49 452 48 387  86 912 79 724 53 8699 331 39 2115 978 614 9192 798 614 74 499 157 55  49 123 18 25 87 916  163 387 88  45  79 78  87 38 967 65 68 9   32 398 218  39 513 8854 6911 58 24 27 528 42  49 914 86 259 2959  87  36 58 212 823  84 2   33 3532 6219 343  8 25 925 639 85 7663 17 4651 89 661  899 93 549 58  841 233 28 43 995  241 45 2234 413 39 9368 277   13 632 344 277 81 893 4587 82 21 82  19 2835 3  47 774 371  43 91  82 734 83 194 2679 28 786 4985 145  4 77  793 85 62  8 66 531 65 845  87 811 618 776 2  53 83 642 81   2 164 23 87 52 34 88  51 71  2 69 82 42 989 664 5  8855 2139 54 5724 93 623  35 96 348 713 82   949 271 3731 22 977 812 44 218 875 19  382 96 372 12 42  47  816 534 6355 74 68 677 2  9979 21 67 874 7585 63 87 85   797 122 18  37 634 376 74 299  112 256 513   3 448 88 262 356 8187 8  413 31 8639  879 4  37 979 324  7 294 1214 322 542 74  544 96 49   1 78 494 226 73  45  147 59 15  19 1115 16 884 21 82  1 11 39 44 143 817 22 9629 1952 96  91 474 89 75  988 588 58 596 7   61  1 382 2332 27   557 244 423 513 82 2792 767 596 73 817 28  22 8538 62 9  429  764 946 89 389 35 727 428 42 28 7493  25 29 37 116 17 577 5884 629   1 31 12 672 159 49 4258 55 785  39 66 99 168 27 47 84 36 179 6  934 55 36 71 93 344 1522 792 69   17 3732  1 414 11 91 132 35 3932 76  38 86 68  29 795 579 45 68   35 26 637 68 17 97   4   43  8 236 393  9 7796 79  94 591 154 98 214 462 7325 8  43 5111 833  896 83 39 5828  66  38 173   3 51 6225 256 362 29 9114 679 61 9   433 455  23 6718 93 916 19 838  236 27 83   593 97 81 251 9865 33  23 69  29 56  58   168 443 27  3 9642 39 276 352   48 33  776 665  956 247 38 61 478 758  63 41 369 86 933 975 95 41  869  4 732 4229  44 715  59 72 34 18 584 73  895 13  478 62 52 526 2    29 288 662  65 98  719 538 296 77 22 24  422 2  3335 25 626 74 86 18 4882 58 186 282 21  325 719  33 3  86   9 33 32 1244 556  21 75 9762 37 2194 9715 14  46 119  525 913 17 72  94 4482 94  3  613 2  239 8   92  31  64 279 48 173 11  53 1   469 75 138 736 52 8   96 51 568 46 1547 67  245 88  1968 7941 41  778 9266 673 222 6481 48  4 71 4  734  857  1 18 1567 95  64 495 55 3  1995 554 95  6 36 4464 821 8  95 222 663 1984 714 51  8 1637 84 66 936  93 286 795   3 69 19 632 71 94  43 33  34  439 317 739 16 26   381   8 257 11 617 76  8 94 58 92 39  47 96  611  66 757  85   148  84 979 19 816 2143 36  77 72 146 296 43  55 44 2717 45   15 54 634 4345 21 3738 81  61 9529 1  39 46 336 243 987 25 67   88  72 73 72 12 111 963 533 68 14  81 422 6988 64 56  8 96  562 61 39 338 49 633 59 29 39 248 472 4791 5  4  815 954 119 72 84  2 258  848  84 85 8664 26   322 213 7282 437 64 296 94 4  32 695 7961  48 257 3771 881 6  24  25 78 646 9527 39 629 61 452 2436  56 245 7623 32 87 225 533  76 84  33 36  14 37   65 11  39 132 532 32  9 16 36 78 44  49 43 559 994 354 7258 892 46 777 32 8  977 6  45 24 53 36 74 56 46 453 95  63  45 41 51 56  198  685 1779  444 48 714 35 23  69 624  78 996 5   5 65 39   1  59 17 4148 8828 651 96    9 28  64 8613 117 436 873 746 147 376 982 436  797 78 742 622 638 55 686 861 97 3722 7518 293 1839  63 3728 23  38 42 27 27   952 264  1  18 36  9 849 2787 152 58 82 6   47  78 28 
 1 4  22 9416  987  3 134 84 9438 89 81 913 27 55 68 148 9998 867  165 59 85 639  93  7 725 873 5    4 19 257 226 28 34 99  38  7 1477 3622 81   1  655 537 75 796 323 731 75  3557 347 675 894 391  536 3835   39 93 447  6 55 2879  25  7 663 94 12 63   57  6 591 784 614 98 16 67  34 89  92 896 231 81 79  898 13 37 55 655 69  745 86 74  78 231 4   65 368  29 33 741 843 65  777 482 53 594  89 57 3886 222 9  838 2   639 571 7678 693 47 14 45  193 4   321 387 65 868   9 75 996 98 428 7924 998 46  124 73  653 678 15  54 15 519 54 42 24  456 36 55 75 7247 97  9326 41 91 513 59 5451 91 466 79 19 32  95 94 437 34 62  38 898 532 851 45 442 45 4975 132 91 8778 769 723 541  63  136 51 519 139 84  44 992 27 26 22  59 6855 264 733 53 721 26  39 74 124 28 98 52  73 725 216 432 432 2967 314  92 27 42   1 87 755 564 55 199 5378  56 839 69 78  493 818 45  41  319 2975  33 44 68 183 224 62 832  83 869  71 8384 458 68  34 44  121 841 44 46 569 1768 98 2793  31 28  447 175   12 863 293 599 22 958 9868 55 32 959 19 4591 1  76 854 365 431 91  92 427 61 552 7277 85 429   19 646 24 224 772 67 46  2  4 597 78 744 571 471 449 246 32 61 24 867 634 81 947 15 14 85 48 23  94 17 68 84 63 62   3 799 37 2611 1865 19 83   11  14 769  6 184 882 3387 12  485 8712 82 545 436 1  959 972 97  849 22  41 27 41 221 1528  96  885 89 63 62  3  7464 56 65 2    423 42 92 92  2819 567 18  77 57  734 16 362 1885 426 4     4 63  84 536 236 4924 4  998 48 7756 1395 51 89 7   987 34 114 3681 264 126 759 827 51 338 35 99 725 77  7   396 556 66 2  899 299  77  96 79 81  4 99 81 14   5 52  32 37    616 117 64 869 69 39  756 878 46 211 43  11 79 757 985  1992 125 619 662 842 41 433  114 291 22 959 94  69 4251 53 6  876 1147 412 41  35 94 838  52 66 17 1329 995 64 94 961 41  44  671 4841 45 12 83 621  32 23 2955 29 987  99 98 36 987 25 48 34 81 669 69 313 38 45 81 14 72  9235  17 721  18  583 41 953 8  46 446 9  7164 741 91  2 45 649 417 371 53 54 8956  6 759 33  7 7113 196 62 36 895 564 98 5511 47  21 18  413 71 58  649 6133 26 25 4516 544   52  7 48 8133 956  31 38   85 25 3153 847  81 11  839 332 26 623 982 761 681 6433 43 374 95 192 2892 9  115  93  22 49 692 8872 556 83 422 75 783 362 4234  44  8 74 7282 49 824 451   21 446 945 299 1334 431 55 72 272 5684 39 89 966 51 969 346 51 28  283 82 812 2818 487 681  76 82 83 54 588 699 777 47 7283 19 93 578 761 682 222 356 125 69 6136 589 69  54 75 24  744 38 9129 61 577 76 44  7 7199 17 741 436 29 7922 75    2 45 111  9 73 82 3277 655  54 15 3765 68 1214 9735 77 399 191   78 222 83 16 781   89 169 55 24  2  316 9  481  89  69 797 77 943 84 564 991 568 25 4   312 24 281 66 98 941 5  5925 787 692 781 5583  326 24  623 2679 626 832 3735 97 42 57 89 254  965 12 11 2492 94  71  74 59 39  739 443 47 36 56 2357 974 99 14 859 521  459 938 81 92  475 46 59 19   86  24 367  37 28 18 565 12 93 474 12 787  899 534 719 97 342  369  78 525 44 296 64 32 66 67  2 18  48 356 534 331 6745 131  998 594 393 17 366 5859 877 45 12  33 815 29  59 69 6966 415  32 79 119 529  45 6791 87  63 353  9   6 45 88  375 76  76 2474 45  32 55 26 66  26 272 262 75 52  32 818 7458 65 26  8 641 551  7  7 288 46 544 93 94 51 285 273 8693 65 62 778 448 236 42 97  2  97  624  11 21    2 6    511 876 7453  61 66 533 14 32 47 364 4372 275 896 9832 752 93 92  17 32  92 819  93 717 55 689 7411 757 126 2773  5 69 472 122 123 77 345 35  99 2287 46 25 245 81  879 98 24 67 33 98 26 138 14 242 944 638  756 629 37 548 17 2  781 7  39 35  3  8 23  2 94 891 679 12 262 38 89 4   7453 392 279  7371 65  52 51 67 193 374 138 952 5  33 27 2654 3  95 73 4773 9835 55  6   715 464 51 6434 712 28  934 596 318 358 395 455 3148 72 947 817 223 67 873 516 58  534 85   416  648  77 46   29  55 71 34 9763  44 7186 8  52 59 93 472 596  781 97  5 56  46 555 176
 4 3  68 8629 4961  5 737  4 2221 93 77 599  7 89 5  942 6993 9558 913  7 64 156   3  6 957 537 4    7 65 121 429 81 66 37  93  2 5133 1979 1818 4  575 874 34 252 528 854 42  5372 296 736 428 8     12 5426    4 4  376  1 68 3134 672  3 229 38 62 126  21  4  89 515 345 94 31 5    3 866 94 881 671 2  9   8   64 14 26 889 18   39 31 72  55 131 6   1  27   67 28 762 979 5   164 371 48 698   2 7  7162 525 5  784 3   932 892 3926 615  2 36 89   64 8   51  412 13 912   4 75 722 15 987 2663 466 98  477 153 23   71 78 717 27 514 78 23 51   47 76 74 56 8697 81  8167 32 87 171 46   85 23 466 17  1 156 93 63 46  74 88  6  567 281 165 31 276 95  891 313 88 5969 393 549 274  56  73   2  98 773 85  69 517 6  28 85   4 8224 426 314  8 368 59 175 58 247 18 74 611 75  36 578 861 785   21 467   2 11 23   8 1  956 341 18 977 5584   1 644 28 4   272 483 517 2     7 6719   4 75 32 67  884 4  77   11 17   7  6595 43  48  77 8   9   725 83 88  47 4166 99 5624   9 34  965 739 3537  99  69 143 61  36 787   7 86 888 69   66 28 72  25 655 929 9    7 171 95 1   3928 85 234   74 937 61 692 228 6   7 45  2  67 17 965 541 394 796 212 25 79 3  639 727 93 931 83 57 42 77 54   7 77 77 66  9 8    7 615 26 4116 6346 35 68   95   2 529  7 7   974 3118 71  638 768  2  8   647 4   72  58 74  171 23   9 18 4  672 2818   7   26 4  94 18  53 5685 5  34 1    581 87 26 335 8348 25  86   2 61  565 24  78 4512 337 4    51 2   62 218  96 7811 51 22  27   21 8382 79 34 9   116 15 657 3189 7     7 598   8 33 713 96 45  88 86  9   944  46 53 3  468 58   41  98 49 36  4 11 23 93   3 2   71 3     556 223 24 665 73 59 9277 763  3 576 434 2  75 98  64   3498 459 837 66  969 16 42   174 5   3   22  7  64 9621 16 45  91 6399 633 65  14  2 235  36 13 64 83   895 6  62 883 55  11  517 2519 94 55 97 696  74 93   41 11   8 928 67  4 163 28 93 92 59 156 11 328 37 85 95 22 4   148   95 5465 57  423 97 28  2  62 554 8  3788 335 2   8 62 957 357 31  91 82 1968  3 29  44  6 1782 983 6  88 245   9 86 7243 55 499 6   838 56 93  355 9817 11  7 8295 6      7  3  1 8337 963  54 5    35 49 2887 376  25 34  889 34  84 639 95  416 876 713  38 318 62 532 9487 8  4233 2   71 88 949 7749 436 27 889 3  236 596 4655  52  7 13  543 79 421 678   11 441 153  86 2891 767 12 72 116 3142 42 96 162 71  44  22 98 882 636 84 623 7474 433 8328 63 86 37 38  41 272 492 68 2497 95 88 899 146 214  21 248 542 53 1493 265 83  27 14 475 852 64 2873 17 947 53 11  2 2263 69 524 422 66 3528 84    5 46 697 28 94 75 162   38  12  6  555 87 3388 9367 12 893 4141  18 494  1 58 138   77 441 49 9   5   47 64 747  17  81   4 82 417 41 249 381 618  4 7   588 5  874  3 66   1 3  8521 238  21 495 2646   29 682 634 2133 52    4 3844 63 49 44 92 658   83 47 84  922 57 379  25 86 24    2 536 72 42 39 8169 491 72 67 169 1      7 743 81 81   17 5  99 54   49  26 754 956 29 8  326 77 56 759 84 191  828 232 592 25 6745 214 171 536 85 458 31 61 73 82  3 669 17 714 75  232 7897 277   36 722 613 78 988 3293 563 76 58   4 343 1   23 72 4649 692  97 11 597 71   61 4796 8   11 77   31  8 89 7   262 14  75 5165 28   5 9  94  9  36 1   187 23 53   6 579   36 5  49 68 824 534  7  7 921 66 67  79 27 99 178 165 4528 12 18 596 689 55   8 24 32  22   16 494  8    3 8    444 779 8478  48  5 934 62 55 11  91   24 331 786 5854 452 77 85 871 3   78 35   87 962  8 648 346  877 766 4441  6 91  47 26  125 51 879 53   6 3937 28 54 122 76  479 44 17 7  86 73 71 357 25  31 26  481   58 484 44 713 8  8  819 9  97 34  4  6 48  5 55 559 926  6 758 14 95 1   4733 774 518  3795 68  77  7 89 143 3   594 125 12 54 36 8913 26  3  2   75 4285 2   2   188 616 85   65 67  3   539  34 634 289 369 524 4761 28 613 54  448  7 849 186 52   43 18   648   49   7 5    46  92 39 67 5531  67 2617 91 86 27 17 212 873  446 85  3 33   5 942 294
*  *  *  +    +    *  +   +  +    *  +  +   +  +  *  *   +    +    *   *  *  +   +   +  *   *   *   +  *  +   *   +  *  *   *  +  +    +    +    *  +   +   +  +   +   +   +   +    +   +   *   +    *   +    +    *  *   *  *  +    *   +  *   *  *  *   *   *  *   *   *   +  *  *  *   +   *  +   +   +  *   *   +  *  *  *   +  +    *  *  *   +   *   *  +   *   +  +   +   *   +   *   *  *   *   +  +    *   *  +   +   +   +   +    +   *  *  *  +    +   +   *   *  *   +   *  +   +  +   +    +   *   +   *   *   *   *  *   +  *   *  *  +  +    *  +  *  +    *   +    *  +  +   +  +    *  *   *  *  *   +  +  *   *  +   *  +   +   *   *  *   +  +    *   *  +    *   *   +    +   *   +  *   *   *   +  *   +  *  +  +   +    *   +   +  +   +  *   *  +   *  *  +   *  *   +   *   *   +    +    +  +  *  *   *  +   *   +  *   +    +   *   +  *   +   *   *   +  +    +    *   *  *  *   +   *  +    *  +    +  +    *   +  +   +   +   *   +  *  +   +    *  +    *   *  +    *   +    +   +   *   *  *   +    +  +  +   *  +    *  +  +   *   +   *  *   +   *  *   +    *  *   +    +   *  +   +   *  +  *  *  *   +  +   *   +   *   *   +  *  *  +   *   *  *   *  +  *  *  +  *   *  +  *  *  +  *   *   *  +    +    *  +    *  +   *   *  +   *   +    *   *   +    *  +   *   +  *   +   *   +   *  *   *  +  +   +    *   +    *  *  *   *  +    *  *  *   +    *  +  *   +    +   *  *   *   +   *  +   +    *   +    +  +   *  +   +   +    *  +   *  +    +    *  +  +   *   +  +   +    *   *   +   *   +  +   *  *  +   *   +   *   +   *  +  +   +    *  *   *  *  *  +  +  *  *   +   +  +    +    *   *  *   +  *  +    +   *  *   *   *  *  +   +    +    +   *   *   +   *  +    +   +   *  +   *  +   +    +  *  +   +    *   *  +   *  *   *   *  +  +    *   *  +  +   *  +   +    +    +  +  *  *   +   *  +    *  +   +   +  *  +   +  +  +  +  +   +  +   *  *  *  *  *   +    *   +    *  +    +  +   +  *  *   +  +    *   *  *  *  *   *   *   +  *  +    +  +   +  *  +    *   +  *  *   *   +  +    +  *   +   *   *  +   *   +    +  *  +    *   +    +  +  +    +   +   +    *  +  +    +   *   *  +    *   +  *   *   *   +   +    *  *   *  +   +    +  +    *   +  *  *   +    +   +  *   +  *   +   +    *   *  +  +    *  *   +   +    +   *   +   +    *   +  *  *   +    *  +  *   *  *   *   +  +   *   *  +   +    *   +    +  +  *  *  *   *   *   +  +    +  *  *   *   *   +   *   +   *  +    +   +   +  *  *   *   +  +    *  *   +  +  +  +    +  +   +   *  +    +   +   *  +   *  +  *  +    +   *   *  +    +  +    +    *  *   +    +   +   *  *  *   +    +   *  *   +  *   *  +   +   +   +   +  +   *  +   *   *   +  *   *   +  +   +  *  *   +  +    *   *   *   +    +    +   *   +    *   +   +    *  +  +  +  *   +    +  +  +    *  *   *   +  *  +    +   +  +  *  +    +   +  *  *   *   +    +   *  +  +    +  +  +   *   +   +   +   *  +  *   +  +  +   +  +   +    *   *   +  +    *   *   *   +  +   +  *  +  *  *  +   +  +   *   +   +    *   +    +   *   +  *   +    +   *  +  +   *   *   +  *  +    *   +   +  +   +    *  +    +   *  +    *  *  +  +   +   *   *  +    +  *   *  *  *  +   *   +   +  *  +   *   +    *  +  *  *   +   *  *  +   +  +   *  *  *  +   *   +    *  *  +   +   *   *  +  *  *   +    *   +  +    *   +    +   +    +   +  *   +  *  +  +   +    +   *   +    *   *  *  *   *  +   +    +  *   +  *   +    +   *   +    *  +  +   *   +   *  +   *  +   +    *  *  *   +   *   +  +  *  *  *  +  *   *  *   *   +   +    +   *  +   +  *  +   +  *  *  *  *  +  *  *  *   *   +  +   *  +  +   +    *   +    +    +  +   +  +  *   *   *   *   +  *  +  +    +  *  +  +    +    +   +   *   *   +  +    +   +   +   +   *   *   *   *   +    *  +   *   *   *  *   *   +  +    +    *   +    *   +    *  +   +  *  +    *   +    *  +  *  +  *   +    +   *  +  *  *   *   +  