Problem Statement
In Magic: the Gathering, some cards have the ability "cascade" that allows the player to play another cheaper card for free. Without using too many terms specific to this card game, we can rephrase this ability as follows:
- When you play a card X with 'cascade', reveal cards from the top of your deck of cards until you either reveal a card C with a strictly smaller cost than card X, or reveal the entire deck.
- If you revealed the entire deck without finding a card cheaper than card X, terminate the process.
- Shuffle all the revealed cards other than card C, and place them onto the bottom of the deck.
- Play card C. (This card can also have cascade. If it does, resolve it in the same way.)
Your deck contains N cards. Each of those cards has three properties: it has some non-negative integer cost cost[i], it has some non-negative integer power power[i], and it may have cascade (cascade[i] is either true or false). In the beginning, the entire deck is shuffled and you know nothing about the order of cards in the deck.
(Note that already after you resolve the first cascade you know which cards were put to the bottom of the deck and thus the order of the cards in the deck is no longer completely random. E.g., if there is a second cascade, the cards revealed first will be the cards that weren't revealed during the first cascade.)
You have just played another card (not from your deck). The cost of this card is greater than the cost of any card in your deck, the power of this card is 0, and it does have cascade. Calculate and return the expected total power of cards you will play. More precisely, the answer is a rational number P/Q. Return PQ^(-1), where Q^(-1) is the inverse element to Q modulo 10^9 + 7.
Please use the following pseudocode to generate the arrays cost, power, cascade:
L = len(costPrefix) for i = 0 .. L-1: cost[i] = costPrefix[i] power[i] = powerPrefix[i] cascade[i] = (cascadePrefix[i] == 'Y') state = seed for i = L .. N-1: state = (state * 1103515245 + 12345) modulo 2^31 cost[i] = state mod CM state = (state * 1103515245 + 12345) modulo 2^31 power[i] = state mod PM state = (state * 1103515245 + 12345) modulo 2^31 cascade[i] = (state < CT)
Definition
- Class:
- Cascade
- Method:
- expectedPower
- Parameters:
- int, int[], int[], String, int, int, int, int
- Returns:
- int
- Method signature:
- int expectedPower(int N, int[] costPrefix, int[] powerPrefix, String cascadePrefix, int seed, int CM, int PM, int CT)
- (be sure your method is public)
Notes
- "Shuffle" means "rearrange into a permutation chosen uniformly at random from all possible permutations". All shuffles are mutually independent.
- It can be shown that for each valid test case the answer P/Q (as a reduced fraction) has the property that Q and 10^9 + 7 are relatively prime.
Constraints
- N will be between 1 and 100,000, inclusive.
- L will be between 0 and min(N, 500), inclusive.
- costPrefix, powerPrefix and cascadePrefix will each have length L.
- seed will be between 0 and 2^31 - 1, inclusive.
- CM will be between 1 and 10^6, inclusive.
- PM will be between 1 and 10^6, inclusive.
- CT will be between 0 and 2^31 - 1, inclusive.
- Each element of costPrefix will be between 0 and 10^6 - 1, inclusive.
- Each element of powerPrefix will be between 0 and 10^6 - 1, inclusive.
- Each character of cascadePrefix will be either 'Y' or 'N'.
Examples
2
{10, 20}
{100, 200}
"NN"
0
1
1
0
Returns: 150
Two cards: one has cost 10 and power 100, the other has cost 20 and power 200, neither has cascade. When we resolve the initial cascade, we will reveal the top card of the deck and play it, and that's all. The expected total power of the cards played is therefore (100 + 200) / 2 = 150.
2
{10, 20}
{100, 201}
"NN"
0
1
1
0
Returns: 500000154
The same test case as before, but now the expected total power of the cards played is 301/2, which is not an integer. The returned value is (301 * 2^(-1)) mod (10^9 + 7) = (301 * 500,000,004) mod (10^9 + 7) = 500,000,154.
2
{10, 20}
{100, 200}
"NY"
0
1
1
0
Returns: 200
The same test case as Example 0, but now the more expensive card has cascade. If we reveal that one first, we will also cascade into the cheaper one. Thus, with probability 1/2 we will just play the cheaper card (power 100) and with probability 1/2 we will play both cards (total power 100+200 = 300).
6
{1, 1, 1, 2, 1, 0}
{10, 20, 30, 40, 50, 60}
"NNNYNY"
0
1
1
0
Returns: 666666712
The fact that the last card (cost 0, power 60) has cascade does not matter - if we play this card and resolve its cascade, it certainly won't do anything because there are no cards cheaper than this one. The exact answer as a reduced fraction is 122/3.
10
{4, 7}
{47, 42}
"YN"
474747
10
100
1250000000
Returns: 487500069
The full test case should look as follows: cost: 4, 7, 0, 9, 0, 5, 8, 5, 6, 5, power: 47, 42, 49, 60, 15, 22, 85, 32, 87, 34, cascade: true, false, true, false, false, false, true, true, true, false, The exact answer as a fraction is 5247/80
1
{}
{}
""
368938
65563
451083
1073741824
Returns: 300352
2
{}
{}
""
580534
475709
598518
1073741824
Returns: 500327660
3
{}
{}
""
360155
269933
537337
1073741824
Returns: 334180380
4
{}
{}
""
405335
411478
645463
1073741824
Returns: 500331005
5
{}
{}
""
42896
833705
438864
1073741824
Returns: 400271999
6
{}
{}
""
690621
24810
107433
1073741824
Returns: 347305058
7
{}
{}
""
657
276622
988440
1073741824
Returns: 657679681
8
{}
{}
""
830729
504945
759020
1073741824
Returns: 354801658
9
{}
{}
""
573244
9580
961968
1073741824
Returns: 838735545
10
{}
{}
""
855336
942396
330908
1073741824
Returns: 481155261
99299
{}
{}
""
988044144
56300
6
2507971
Returns: 26398708
95944
{}
{}
""
1085916001
93
94494
2114419151
Returns: 955407480
94147
{536068, 852131, 652752, 573429, 499657, 820338, 840822, 456773, 383336, 963096, 796056, 34793, 637314, 277886, 942872, 675588, 638199, 542078, 989430, 706855, 953674, 494728, 958841, 742586}
{669331, 837262, 998004, 330294, 869824, 23313, 604945, 254824, 221631, 362769, 452604, 908921, 725393, 192954, 185259, 492613, 965701, 208327, 134088, 103198, 143298, 765900, 823240, 597291}
"NNYNNYYNYNYNYYYNYNNYYYYN"
200513682
133
51
2147440970
Returns: 11356625
99010
{}
{}
""
346617440
6
19
55885287
Returns: 767564239
98830
{}
{}
""
467288229
13
93141
15810
Returns: 820587011
94907
{}
{}
""
1891726748
1003
1
102
Returns: 0
92029
{779350}
{76321}
"N"
3240676
58
129166
2143039924
Returns: 181872278
96464
{638638}
{246679}
"N"
458337118
1240
44775
2147482963
Returns: 211262991
92710
{617727, 412913, 904152, 365232, 127711, 434809, 309198, 575934, 671651, 230209, 712076, 962404, 363768, 805969, 94476, 672581, 329415, 106865, 37524, 211626, 850454, 586244, 142052, 346247, 981945, 95308, 874214, 334840, 806084, 750149, 695619, 984106, 990987, 960512, 449804, 530809, 572481, 600392, 789475, 807200}
{713092, 944458, 369259, 836234, 546647, 544714, 446168, 668835, 460452, 457221, 709039, 433181, 763124, 514494, 23776, 204277, 342291, 51455, 628797, 983951, 449342, 945021, 106023, 460423, 810916, 611112, 130057, 100970, 887740, 350921, 458390, 774664, 955519, 61878, 349914, 826045, 791280, 196581, 958305, 852729}
"NNNYYYYNNYYNYYNYYNNYYNNYYNYNNNYNNNNNYNYN"
1741737939
8
21
2147453432
Returns: 951401529
97743
{263303, 559312, 223345, 558160, 390772, 493890, 960974, 224666, 348571, 419917, 955572, 40197, 705701, 677871, 614964, 434865, 341259, 850335, 843437, 563714, 361470, 938607, 7845, 114596, 21555, 326077, 830212, 50948, 638554, 229296, 862915, 861087, 885506, 549703, 906440, 641637, 3523, 36609, 914223, 581598, 616711, 51650, 402072, 936445, 800139, 486578, 200245, 94133, 290723, 986754, 707910, 975551, 666704, 930246, 414638, 534998, 364761, 39646, 929735, 68437, 318811, 630652, 749012, 326305, 54558, 639849, 961335, 463207, 485921, 426527, 763911, 755322, 348771, 754434, 94300, 265509, 894369, 934934, 993606, 440844, 391642, 983865, 102995, 742712, 395724, 395807, 184990, 310055, 31239, 31959, 603048, 709001, 604808, 851512, 929429, 200684, 132102, 588415, 233626, 90495, 7986, 443484, 448406, 436483, 741435, 443585, 606404, 769180, 133777, 161469, 810712, 756706, 775819, 996595, 777566, 893516, 393961, 565067, 672543, 950667, 482428, 275398, 671466, 865266, 672539, 154731, 78730, 41546, 618505, 253203, 852631}
{766500, 616320, 134497, 73929, 951811, 18383, 143628, 128597, 543688, 817744, 133465, 641878, 895755, 976578, 991042, 306305, 597634, 631962, 923196, 438637, 573955, 781652, 511776, 642217, 895341, 609164, 912898, 24599, 175536, 819874, 843990, 626828, 568291, 606352, 863723, 664094, 759365, 152944, 975147, 242460, 889782, 122980, 158873, 939380, 952300, 298990, 646692, 507855, 941077, 846110, 681992, 513856, 482999, 864129, 895412, 634411, 324234, 429622, 790457, 970915, 471554, 634983, 192394, 13414, 448734, 847868, 826341, 979682, 914565, 511028, 513420, 767606, 427859, 360167, 393153, 582719, 316554, 838564, 940930, 322227, 413634, 872614, 867974, 394757, 37283, 654037, 800070, 551913, 281777, 148523, 490069, 411441, 106265, 876444, 924840, 808554, 691544, 112873, 621610, 35596, 385634, 983417, 669519, 860590, 934170, 356726, 696090, 710649, 599490, 787888, 154657, 1149, 273031, 368304, 167765, 650951, 900982, 41707, 835602, 844274, 432346, 504288, 752035, 339192, 154683, 278571, 988888, 268598, 346832, 428601, 689135}
"YYYYNYNNYNYYYYNYYYNNYNYYNYNNYNYYYNNYNNYNNYNNNYYNNNYYYNNNYNYYNYYNNYNYYYNNYNYYYYYNNNNYYNNYYYNNYYNNNNYYNNYNNNNYNYYYYYYNNYNNYNNYYNYYNNN"
1263893249
24
1519
2135232430
Returns: 754393268
95062
{9678, 660968, 298201}
{287144, 579746, 435995}
"YNN"
227225975
35776
1512
109708
Returns: 597670193
98603
{256417, 722435, 772715, 923417, 970582}
{747249, 980590, 469657, 771614, 748930}
"YNYNY"
1117747418
284148
60
102
Returns: 867504780
93200
{}
{}
""
618455383
258713
7770
2134945016
Returns: 488937296
96577
{261744, 247127, 3706, 269512, 568359, 857660, 26616, 840559, 353435, 415887, 901797, 557240, 317591, 747604, 207634, 265915, 70958, 711627, 53085, 254704, 183101, 640039, 369711, 363083, 87656, 717660, 523430, 273568, 294237, 806199, 626555, 385883, 214299, 852968, 50279, 864558, 273096, 510913, 244087, 696792, 114672, 553804, 879575, 320510, 193547, 416061, 294832, 776575, 620476, 958066, 747449, 211413, 553698, 293878, 796806, 168238, 169289, 335652, 160677}
{291743, 505497, 103507, 299572, 727836, 274102, 158343, 410037, 707220, 230001, 232578, 840672, 789640, 828258, 186766, 90420, 964511, 304156, 541936, 152825, 855705, 487726, 815324, 309539, 33107, 990608, 111766, 930571, 712708, 581868, 231601, 217399, 111464, 206508, 523652, 401872, 317121, 751414, 267744, 12761, 898161, 351711, 377880, 440373, 101389, 92214, 345598, 972517, 272692, 559217, 875209, 242995, 609248, 987420, 754325, 723612, 946210, 144428, 257893}
"NYYYYNYNYYNNYNYNYYNNYNYNYNYNYYYNYNNNNNYYYYNNNNNYNNYNYNNNYYY"
226763001
20751
39721
2138233078
Returns: 70193910
92377
{800421, 269022, 9917, 661951, 579996, 292674, 559407, 280618, 487517, 550019, 643104, 489666, 922463, 157871, 381149, 141499, 703657, 900003, 218021, 20664, 102996, 56776, 403088, 517885, 216039, 688788, 707366, 554514, 704522, 603893, 165490, 663006, 734615, 385581, 60867, 584835, 779723, 190588, 921568, 576639, 249946, 504913, 812398, 502739, 447649, 59805, 736575, 521268, 727141, 737000, 913794, 722147, 812376, 912206, 245668, 537478, 604020, 340427, 534555, 230697, 407208, 777615, 478251, 142319, 671081, 178054, 180154, 921125, 207735, 843455, 348678, 1963, 620762, 548756, 771650, 209708, 575067, 890534, 469580, 171527, 305765, 547063, 673245, 455601, 686481, 495293, 581314, 457235, 905074, 719916, 22504, 174906, 610791, 449018, 418245, 998632, 33840, 584621, 51815, 63528, 635329, 723356, 106794, 217629, 505519, 197436, 837533, 578299}
{936219, 33611, 827822, 559561, 940585, 807054, 125993, 17326, 347887, 271359, 502903, 291760, 103347, 955237, 794486, 774601, 691241, 122687, 376230, 506777, 9488, 291980, 599203, 482468, 918753, 964525, 467672, 194651, 129258, 981651, 271289, 386574, 488474, 56523, 515901, 725888, 34363, 446546, 672692, 85888, 722419, 939764, 797177, 733092, 220247, 388710, 205698, 241661, 759215, 613786, 150163, 215938, 519535, 539015, 780879, 111847, 304719, 807907, 635352, 668741, 774974, 718683, 566640, 796665, 902646, 104268, 831857, 881765, 513811, 203599, 39629, 157507, 772010, 530793, 792841, 271043, 155354, 294122, 391136, 153999, 890207, 348867, 957595, 903388, 833619, 696671, 875517, 955968, 557657, 388295, 942584, 133254, 948454, 150345, 449051, 426489, 598522, 848584, 333041, 711141, 188542, 634295, 856241, 814929, 393316, 19867, 956490, 109689}
"NYYYYYYYYYNYYNYYYNYYNYYYNYNYYYNYNYNNYYNYYYNNNNYNNYYYYNYNNNYYNNYYNYNNYYNNNYNNNYNYNNYYNYYYYNYNNYYYNNYNNNNYYNYN"
2005272623
48562
6
166013
Returns: 8566077
96819
{556069, 951915, 188013, 730794, 761519, 640139, 788635, 190332, 632159, 116712, 410436, 339562, 281328, 7341, 992199, 937569, 722768, 835796, 925573, 975034, 725578, 524697, 560992, 286251, 755289, 185429, 535020, 900682, 8966, 660567, 540167, 616883, 322275, 910405, 601827, 311957, 703953, 429606, 603862, 612117, 392781, 346684, 256239, 295297, 224370, 713832, 962303, 723705, 353239, 422981, 861896, 829343, 864619, 732773, 389980, 718288, 775224, 870305, 221889, 143374, 799437, 372102, 538879, 30395, 486813, 155334, 572464, 368900, 934094, 414878, 93799, 90236, 77294, 582094, 440057, 903019, 820377, 829188, 528780, 898199, 161597, 701981, 194202, 854996, 176530, 475061, 72682, 223942, 384248, 707473, 401458, 201909, 521836, 734240, 73906, 658490, 584626, 520642, 208157, 58924, 21002, 338832, 589457, 204082, 399086, 13300, 145293, 583091, 702920, 412127, 988868, 385596, 243176, 114078, 261989, 209249, 405473, 270194, 617700, 483354, 850946, 765719, 819269, 900137, 415503, 441419, 507181, 36187, 173837, 162712, 203194, 372622, 986764, 958914, 624744, 817048, 757720, 558125, 919228, 367876, 900171, 154686, 727065, 49453, 899334, 677234, 870110, 38148, 133593, 664516, 192893, 188297, 52865, 12470, 733637, 374650, 955006, 221116, 925880, 24391, 530825, 916623, 139746, 31946, 766458, 360173, 782779, 265221, 316609, 434523, 888945, 851067, 779196, 865973, 150144, 469465, 836668, 758908, 465218, 169050, 696044, 167631, 556161, 911180, 447116, 13783}
{134725, 967766, 190372, 515977, 939808, 851694, 132850, 938126, 437310, 388183, 26284, 8979, 610273, 481088, 213724, 317384, 869704, 175983, 292726, 541480, 759530, 808032, 320841, 688892, 640457, 435556, 192838, 893710, 336793, 949393, 106080, 613513, 386034, 920723, 846571, 580361, 690602, 805258, 233605, 757828, 955925, 220889, 646099, 479733, 465453, 916211, 196283, 236599, 831040, 684690, 288275, 25202, 864986, 796517, 662033, 100388, 414222, 50293, 382028, 595470, 663781, 64336, 459236, 40842, 111463, 922692, 268163, 357974, 690896, 221196, 385358, 895744, 10580, 363138, 232450, 221512, 205334, 194409, 938691, 354032, 246018, 407035, 917413, 62846, 696402, 121618, 135478, 834260, 639638, 532961, 650244, 991491, 439504, 342227, 381256, 470456, 509619, 483993, 834126, 520121, 621690, 177404, 932448, 794699, 38121, 437268, 621638, 920339, 532290, 855305, 572322, 487207, 338195, 388586, 454233, 178743, 545131, 680271, 954310, 580800, 560541, 240424, 520577, 431275, 813717, 783256, 48681, 368531, 909246, 319100, 654603, 258099, 843966, 492105, 256494, 842383, 213954, 96380, 522840, 996849, 694728, 395475, 608848, 227669, 522077, 24746, 336221, 260645, 203039, 346542, 765865, 614996, 542304, 870314, 891179, 234939, 18252, 413977, 742793, 892443, 42564, 534984, 611177, 350575, 582307, 568793, 343040, 362357, 664031, 535708, 481827, 828662, 654577, 36665, 606027, 624375, 193620, 791058, 99097, 217055, 66250, 971821, 262596, 604778, 279054, 401006}
"YYNNNNNYNYYNNYNNNNYNNNNNYYNNNYNNYNNYYYYYNNNYYNYNYYNYYNYYYNYNYYNYYYYYYYYYNNNYYYYNYNNNNYNYNYNNYYNYYYYYNYYYYNNYYYNNNNNNYNNNNYNNNNYYYYNNNNNYYYNYNNNNNYYYYYYNNNYNNNYYNYYYNYNYYYYYYNNYYYNNYYNYNN"
1237799168
735
75671
2147430827
Returns: 556815619
96015
{}
{}
""
704908780
1105
999
3792
Returns: 793741066
99886
{395187, 198043, 234358, 417948, 727886, 858744, 826376, 840011, 43678, 156006, 68923, 874756, 807105, 638801, 188829, 985936, 962508, 387100, 896032, 370200, 682598, 451429, 295050, 899718, 751281, 631297, 62215, 475085, 455708, 917149, 751255, 24142, 922760, 749315, 755485, 810756, 579620, 38158, 16514, 732853, 53479, 635629, 123666, 42611, 109069, 572289, 933297, 117334, 932066, 907409, 562594, 936014, 255552, 15048, 568840, 996404, 150379, 316299, 917216, 530438, 502381, 2948, 86388, 873172, 525105, 627784, 570891, 649404, 838215, 601455, 278413, 973219, 899155, 985747, 811950, 497512, 195047, 950761, 225815, 229052, 846258, 945637, 349260, 888149, 729727, 807231, 88738, 916866, 703903, 624584, 611227, 522308, 116096, 21289, 489060, 717055, 466447, 29327, 44101, 523745, 481774, 217080, 786394, 806886, 122888, 608026, 420695, 339527, 445112, 378205, 835825, 953481, 772699, 907913, 815655, 166892, 914288, 308062, 434360, 809113, 703705, 506604, 596230, 260105, 310377, 962683, 476820, 351171, 847575, 404068, 553092, 977585, 327442, 857807, 455021, 642299, 791110, 345407, 464488, 3232, 156961, 767902, 258984, 926491, 643418, 375810, 232894, 896619, 124454, 321021, 828536, 84669, 793233, 728324, 506999, 342074, 104217, 340897, 3646, 416587, 210140, 805241, 552795, 286231, 566171, 258887, 146091, 770781, 833169, 671681, 33843, 61363, 322970, 132880, 638047, 523653, 828482, 547788, 314268, 104404, 520848, 452228, 204274, 769866, 439147, 118230, 381420, 656626, 410623, 486109, 836016, 193580, 291352, 817688, 299838, 35402, 618481, 608929, 718467, 301092, 254051, 33824, 925543, 305451, 356442, 25359, 514228, 597328}
{402797, 728398, 966876, 699401, 290112, 674204, 440966, 632466, 184742, 700584, 116311, 621057, 5943, 404564, 930881, 680459, 562640, 801821, 584521, 391617, 767765, 94387, 583478, 694570, 723340, 210613, 594120, 461703, 533826, 566043, 807087, 554257, 889714, 741021, 777351, 696570, 162184, 254006, 983870, 632040, 369412, 836603, 572015, 501645, 669967, 814290, 418136, 390229, 442419, 992844, 935680, 302188, 413709, 176478, 189593, 215859, 522043, 999019, 374473, 567332, 649037, 268583, 441013, 886028, 798119, 376097, 999318, 866705, 398494, 276238, 864417, 175959, 413717, 839670, 56704, 624224, 801260, 46560, 405354, 565086, 462191, 340605, 37898, 288952, 927835, 751446, 701529, 818858, 402171, 407214, 237237, 406376, 236585, 388133, 25890, 130899, 307692, 129959, 561425, 646800, 742337, 120476, 750161, 879692, 433088, 657291, 678294, 416032, 270028, 387269, 400387, 381473, 54656, 983453, 360177, 847911, 811327, 975653, 984765, 718230, 448243, 176714, 684067, 525481, 170721, 438373, 742415, 738658, 808538, 28754, 264642, 270895, 362904, 723553, 61524, 749543, 591772, 763048, 509389, 246743, 887941, 645948, 106313, 902731, 327092, 703041, 587694, 792791, 75158, 448700, 510091, 577572, 553289, 966871, 398397, 370425, 534991, 863355, 203104, 666305, 602419, 483370, 216809, 398367, 503967, 358027, 944433, 259679, 407712, 292972, 573706, 751472, 415937, 398200, 104156, 387158, 2336, 739609, 7853, 245515, 288082, 46032, 847018, 120368, 469945, 348892, 486886, 764486, 250695, 450651, 838875, 934658, 893282, 874351, 873850, 594815, 7990, 294812, 465775, 409277, 341145, 926523, 164609, 983658, 998630, 380488, 337737, 883194}
"NNYNNNYYNYYNYNNYYYYNYNNYYNNNYYNNYYNYYNNNYNNYNNNYYNNYYNNYYYNYYNNNYNNNNYYYYNYYNYNNNNNNNYNYNYYNYYYYYNYNNNNNYNNNYNYNNNYYNYYYNYNNYNNNYNNYYYNYNYNNYNNNYYYNYYNYYNYYYNNNNYYYYYYYNYYYYNNNNNNYYNNNYNYNYYNYYYYYYNYNNNYYNNYY"
1344594894
229863
1
2147482855
Returns: 539761239
91512
{}
{}
""
1819960627
433
79
2091884192
Returns: 921969002
93033
{}
{}
""
878930647
32949
19692
21179648
Returns: 718364010
99980
{}
{}
""
1310530754
1
537
2147084031
Returns: 746609595
98807
{655153, 975778, 914477, 78906, 129320, 55735, 616661, 936216, 881961, 667794, 565850, 105869, 325019, 119518}
{467005, 831852, 501811, 617543, 656135, 336042, 220872, 476903, 350671, 785519, 250762, 178730, 361957, 63878}
"YYYYNNYNNNYNNN"
1108435379
13
2
2147425559
Returns: 765771453
96886
{}
{}
""
1503440498
105997
88855
1
Returns: 647970869
94739
{837125, 352798, 187993, 537404, 543170, 688480, 287759, 906545, 171776, 945386, 280308, 438301, 89991, 413333, 888255, 440620, 785250, 308474, 111961, 79187, 26344, 209787, 579720, 638773, 189283, 907398, 533071, 512043, 376022, 589523, 370334, 339752, 454411, 1908, 268824, 64359, 966363, 355857, 637867, 928796, 34703, 947378, 42546, 108114, 431167, 317801, 887885, 524231, 428290, 414494, 825338, 406075, 266983, 708184, 579163, 768245, 295953, 855510, 651444, 162107, 308567, 239098, 252176, 782888, 413663, 727295, 379672, 980647, 483249, 485105, 987066, 472835, 849104, 484425, 335564, 603815, 829899, 209848, 336808, 18638, 989847, 835077, 927326, 329834, 47786, 824700, 526975, 288736, 864311, 95171, 101445, 774286, 805737, 622477, 403903, 587657, 494452, 497888, 527187, 570218, 267469, 393376, 471138, 370552, 692685, 576236, 579027, 76917, 656569, 385320, 418110, 902339, 901602, 283648, 100297, 589336, 788390, 571137, 650252, 467685, 141332, 618725, 493449, 163063, 728274, 680438, 814151, 583474, 369222, 52568, 307022, 516369, 913543, 515770, 168789, 795237, 608967, 140674, 492970, 763852, 798389, 985758, 37392, 254244, 557145, 779376, 411597, 628646, 802678}
{298022, 284151, 46187, 469396, 54145, 996177, 292985, 875903, 107657, 824873, 569378, 167449, 705455, 643985, 580717, 23532, 359790, 478661, 965829, 479777, 214823, 468672, 41443, 432114, 450764, 936471, 22011, 282813, 241485, 356545, 329260, 165259, 632354, 512239, 939715, 552259, 442783, 608448, 710471, 313310, 336895, 636019, 364772, 953940, 853482, 548127, 614889, 46792, 506149, 518191, 296908, 76660, 902710, 672693, 466977, 169872, 212835, 271710, 59899, 530781, 539991, 364270, 365313, 319209, 183496, 128293, 219326, 328638, 807253, 871673, 143966, 613293, 420763, 169855, 401731, 848092, 447781, 566742, 509276, 234257, 321948, 102234, 166994, 332128, 117059, 466889, 275979, 160644, 728227, 277682, 268258, 634479, 967220, 754175, 788298, 106294, 451417, 336132, 192966, 963547, 852499, 944907, 78847, 243087, 131784, 946834, 166784, 767611, 240797, 33368, 549909, 787470, 4812, 346047, 603994, 807350, 58461, 879942, 135737, 91988, 286785, 32492, 662391, 56379, 383072, 6815, 763494, 605660, 280203, 307592, 984789, 992323, 3911, 930815, 181903, 481545, 219685, 251594, 331079, 917647, 403303, 981509, 798590, 324304, 793977, 127483, 802467, 856962, 108944}
"YNYYNYYNYNNYNNNNYYNNYYYYNNYYYYNNYNYNYNYYNYNNNNYNYYYNNYYYNNYNNYNYYNNYYYNYYNNYYNNNNYNNYYNNYNYNNNNNNYNYNYYNNNNNYYNYNNYNYNYYYYYYNYNYYYNYNYNYYYYYYYNYNYYYY"
1184499888
322
7041
106
Returns: 845378787
94653
{370612, 218918, 465803, 572752, 215670, 196722, 697838, 632994, 647594, 701523, 736119, 857648, 531251, 164114, 534970, 270934, 549754, 785696, 608771, 127225, 646037, 344762, 226937, 300576, 323695, 962933, 624523, 79743, 744889, 30508}
{333157, 847704, 397987, 773731, 25159, 140524, 950616, 447190, 957068, 692495, 185535, 92584, 472478, 387833, 111604, 741672, 534288, 634123, 795795, 840330, 648004, 289435, 250245, 735650, 368462, 772008, 19872, 630277, 942401, 695810}
"YNNYYYYNYNYYYYNNYNYYNYNYNNYNNY"
688930000
28882
403919
2128285081
Returns: 586779988
94392
{604861, 149591, 274591, 302174, 230489, 28324, 608057, 347588, 492226, 276497, 914166}
{16071, 817376, 382248, 520802, 571481, 686312, 570255, 258732, 730074, 290193, 804892}
"YNYYNYYNYNN"
2043679914
59
150143
3750
Returns: 265092040
91593
{621486, 206734, 275557, 405829, 844903, 387434, 343029, 288012, 271312, 848398, 562774, 274726, 819594, 406259, 962297, 104579, 510221, 221684, 951032, 486651, 267912, 248174, 810741, 842602, 383175, 481147, 214331, 59865, 397241}
{76129, 522685, 886606, 405952, 927487, 221846, 650691, 49250, 632019, 889736, 693074, 809013, 318125, 119967, 234371, 27770, 448135, 227228, 230381, 908176, 213970, 962389, 534407, 948469, 579168, 223308, 720871, 87653, 85694}
"YYYNNNNYNNNNYNNNYNNNNNNNYNNNY"
1764847786
4120
9
2147483613
Returns: 22971199
91121
{}
{}
""
890619382
12556
63041
11502
Returns: 629754587
98638
{651652, 679703, 970151, 865654, 265654, 995146, 448624, 9483, 815828, 928605, 350174, 145136, 674880, 203575, 84320, 942881, 942714}
{309315, 644478, 817062, 407300, 474036, 443602, 340679, 779297, 245159, 801759, 985045, 517988, 311163, 914450, 245394, 80905, 362960}
"NYNNNYYNNNNNYNYNN"
1748202609
11
772409
2147483630
Returns: 761782343
94926
{}
{}
""
509224083
10673
619
2147429167
Returns: 454673066
93796
{695072, 357391, 276471, 528341, 503684, 792636, 977252, 458935, 648812, 444633, 459759, 481098, 535214, 274359, 595599, 902350, 176171, 778757, 806610, 234434, 143462, 657390, 861022, 410998, 646983, 922996, 881327, 527093, 138828, 135410, 622508, 318754, 80172, 651924, 187975, 866134, 128523, 558550, 707643, 799366, 817685, 85276, 49351, 500984, 473931, 342297, 943332, 940244, 401981, 136948, 479634, 18724, 913057, 503482, 361128, 417064, 531282, 812738, 829688, 650759, 849546, 5602, 530882, 651717, 644798, 400708, 435309, 907078, 792978, 933637, 429408, 48317, 236661, 323061, 978214, 69595, 424759, 783867, 71995, 698737, 407513, 237748, 72769, 18810, 215759, 986450, 606935, 952338, 301705, 599379, 988774, 971354, 722335, 496268, 628831, 587835, 208155, 102586, 786742, 880349, 141829, 463548, 982040, 784797, 318029, 734920, 257287, 394078, 115207, 599147, 21407, 199358, 594862, 352038, 212832, 15106, 362515, 150183, 297347, 778476, 797254, 496957, 747895, 789173, 49880, 622687, 836056, 232034, 643310, 221881, 593721, 659993, 456545, 822513, 181690, 217239, 337157, 490970, 21290, 526596, 192274, 632962, 419889, 964759, 141484, 307966, 475822, 827619, 254075, 864974, 170599, 258781, 434969, 803147, 508007, 575599, 939126, 882980, 856810, 895439, 134293, 179584, 773376, 939937, 407371, 156555, 837262, 210469, 326014, 255701, 796162, 761871, 335207, 780080, 701746, 199757, 264585, 411716, 929904, 260038, 784499, 259105, 489061, 968633, 417042, 141523, 82390, 152222, 393630, 423179, 489877, 416113, 131804, 481790, 869102, 199884, 542677, 398545, 701916, 778841, 424147, 808841, 710639, 345864, 462346, 173577, 137222, 869187, 576555, 214092, 135457, 245674, 850925, 38742, 395489, 101060, 207885, 520942, 557815, 605816, 383422, 643792, 85504, 442452, 187685, 108968, 778719, 712229, 863240, 429809, 768696, 784956, 190070, 570417, 599796, 603200, 355522, 417692, 331069, 425750, 609101, 535878, 871467, 903765, 398119, 150544, 872796, 673817, 480912, 881281, 128053, 913774, 575881, 238668, 787622, 972121, 660325, 179516, 801621, 491675, 881156, 841919, 366613, 73024, 685763, 975944, 264134, 348236, 936867, 631751, 612989, 829550, 348167, 475857, 716700, 266454, 252315, 70981, 186528, 972377, 820380, 97311, 21663, 986572, 472322, 33754, 775048, 941698, 300949, 794733, 171015, 992020, 408403, 528414, 133746, 592098, 888936, 831292, 813236, 699531, 580625, 391317, 631401, 353818, 355351, 150897, 331019, 664247, 649841, 362943, 820470, 27277, 819770, 395954, 363237, 351070, 360765, 758132, 705580, 774422, 355354, 344716, 134007, 290386, 553561, 139390, 551064, 803604, 599737, 977495, 531140, 433102, 352680, 288273, 30731, 348468, 728642, 168795, 101465, 52986, 181740, 305256, 343695, 932417, 72192, 62403, 430229, 857992, 595780, 552826, 943113, 780976, 66002, 836808, 335456, 816516, 776481, 104233, 169968, 492393, 823591, 634283, 30447, 870150, 463637, 900639, 256951, 430901, 570762, 715233, 278153, 798487, 432941, 20501, 581080, 73578, 551849, 186517, 258326, 777491, 895750, 735399, 776218, 709869, 682344, 784689, 960912, 629950, 828095, 267369, 142825, 129216, 656137, 696324, 998513, 536604, 305180, 132511, 573185, 881199, 381305, 774800, 936958, 556140, 668722, 612159, 604428, 684483, 234909, 420552, 224832, 244369, 159981, 460093, 145416, 282499, 39681, 522278, 193990, 781148, 933407, 492208, 742299, 656797, 759266, 612080, 900341, 521948, 797410, 610524, 889472, 290546, 577316, 830791, 825895, 47088, 366197, 912737, 344335, 429053, 905360, 173531, 379771, 186064, 892433, 602646, 423710, 691597, 247933, 290762, 655274, 474718, 861977, 684705, 416398, 135886, 641453, 566334, 183380, 951281, 170206, 493609, 432313, 915184, 319694, 803244, 169115, 189014, 652202, 460638, 907520, 355061, 259534, 657739, 939064}
{533712, 80620, 723846, 296022, 1890, 349986, 251205, 165995, 5207, 407310, 441302, 254150, 18742, 206111, 148663, 234696, 829018, 820072, 631781, 765725, 41115, 63748, 510148, 557216, 73841, 995297, 867258, 346460, 434428, 235348, 599165, 127756, 950578, 714144, 39438, 999318, 708026, 149194, 877034, 75507, 272654, 136405, 843088, 300396, 398204, 446598, 341472, 435247, 619127, 160649, 997933, 547564, 749425, 545577, 886021, 870710, 375330, 827113, 749117, 16331, 734594, 383001, 700716, 23637, 886720, 753117, 364103, 467421, 291986, 691714, 340177, 830767, 479644, 217157, 359156, 945777, 578204, 142607, 440402, 769566, 149514, 691272, 749163, 798859, 626011, 730870, 448948, 646697, 467143, 594181, 524266, 693997, 287633, 53992, 105225, 9535, 524903, 825300, 645493, 389572, 38931, 889819, 327472, 702315, 859541, 694439, 212588, 129422, 916694, 610668, 620746, 503537, 495000, 782432, 539319, 191734, 851161, 380092, 206724, 379177, 773714, 270871, 167123, 72546, 828241, 23180, 270204, 437371, 469964, 70184, 46935, 993796, 721675, 302761, 18791, 20002, 544443, 648517, 322962, 889058, 2882, 794528, 30010, 123551, 565372, 313645, 938315, 329392, 846912, 383303, 657103, 686865, 762667, 634965, 774977, 133000, 687214, 267840, 848495, 948071, 53644, 770814, 222436, 454720, 975544, 63289, 646747, 285224, 326327, 26600, 176887, 563399, 271106, 140412, 155246, 666776, 417852, 879022, 999823, 199867, 485257, 961866, 345635, 60805, 335624, 593548, 663818, 62771, 690192, 984460, 613252, 656374, 873868, 241617, 962165, 843094, 681744, 320427, 783737, 799225, 903908, 39027, 607672, 711475, 226099, 514281, 901115, 341398, 384241, 385483, 170771, 41521, 190128, 877726, 614014, 258101, 537570, 720336, 669209, 765522, 159233, 119736, 686833, 430385, 644282, 729378, 919729, 691846, 135659, 455101, 714182, 562939, 806274, 612612, 572716, 294551, 305819, 399832, 580612, 938361, 87049, 264136, 576999, 781499, 548159, 304378, 996425, 388914, 123711, 154678, 405095, 896757, 895802, 529074, 97667, 957579, 884524, 581647, 704742, 679766, 547733, 175051, 174015, 825689, 318069, 652267, 315397, 197119, 330279, 574761, 644506, 661346, 380113, 986103, 654552, 349593, 601283, 281665, 872376, 419317, 705025, 339823, 698659, 419460, 640046, 352594, 454934, 942396, 237307, 32113, 332098, 656905, 739551, 414269, 833912, 814939, 529874, 679783, 296906, 791332, 896000, 659645, 245369, 671903, 387463, 990254, 369505, 3204, 454508, 548609, 875620, 783018, 333531, 482512, 340653, 820215, 48463, 333526, 766434, 900581, 799017, 647976, 210871, 272986, 772997, 93458, 910699, 119517, 105644, 754080, 254313, 245994, 407364, 234757, 112597, 607550, 975696, 629477, 221570, 863641, 567143, 167304, 576421, 24947, 40638, 423599, 931060, 621755, 216159, 24951, 748146, 880364, 234812, 548424, 886381, 246195, 308994, 68022, 902626, 979050, 791675, 199703, 510898, 616685, 421398, 659910, 862493, 224749, 844319, 592544, 550790, 418207, 8129, 796713, 684527, 924333, 961391, 547065, 208560, 960647, 532993, 622746, 968075, 619867, 233091, 115320, 449903, 493479, 797193, 323826, 246608, 894893, 85358, 604726, 401454, 418389, 177187, 181455, 280585, 372477, 202876, 414042, 495146, 50751, 591874, 730160, 217263, 708752, 628904, 456146, 97024, 278865, 840072, 507524, 722328, 995389, 38116, 645959, 950422, 501297, 958539, 469538, 81876, 698032, 507510, 877351, 155527, 836176, 433967, 201625, 547636, 925931, 490852, 307341, 704748, 326481, 786457, 540514, 25895, 290060, 676947, 546380, 153254, 580121, 932663, 272894, 858075, 804482, 161950, 1727, 752239, 707129, 605737, 627169, 146572, 650321, 922989, 929580, 667934, 557446, 66362, 597391, 237877, 770230, 353114, 773511, 585110, 823829, 621524, 658347, 526183, 162689, 673260, 325888, 653457}
"YNNNNNYYNNYNYYYYNNYNYNNNYNYYYNYYNYYYNNYYNNYYNYNNYYYYYYNYNNYYYYNNNNNYYYNYNYNYYNNNYNNNNYYNNYYYYYYNYYYYNNNYNNNYNYYYNNNNNYNNNYYYYYNYNYYNYNYNNYNNYYNYYNYNYYNYNNYYYNNNNNNNYYYNNYYYNNYNYYNNNNNNYYYYYNNNYNYYNNYNNYYYNYNYYYYYYNNYYYNYNNNNNNNYYYNYNNNYNNNNNYNNNYNNYNYYNNNYNYNYYNYNYYNNYNYYNYNYNNYNYNYNYYYNNYNNNNYNYNNYNYYYYNYNNNNNYYYYYYYYNYYNNNYYYNNYYYNYNNNYYYNYNNNNNYYYNNNNNYNYNNNYNNNYNYYNYYYNNNYYNYNNYYYYYYYYYNYNNNYYYNYNYYYNNYYYNYYYNYYNYNYYYYNNYNNNYYYYNNNNNYNYNNYNNYYNNNNNYYNYYYYNNNYYYNYYNYY"
1020960249
3666
126
1399
Returns: 522400371
99756
{680828, 742235, 623439, 376295, 141040, 236545, 16118, 452919, 981457, 670726, 957339, 817430, 169265, 891582, 803732, 118547, 397799, 68211, 199058, 201576, 389600, 543296, 966683, 920975, 809798, 442364, 390679, 946568, 527050, 402359, 88912, 467276, 349566, 194278, 780257, 446718, 974135, 394860, 197747, 21867, 120286, 287062, 891341, 982091, 446849, 170503, 53749, 347138, 900497, 677504, 616445, 636490, 76121, 857427, 869771, 400892, 26689, 359312, 308277, 354254, 518629, 637711, 495883, 288165, 547238, 730079, 84860, 358357, 222750, 369606, 7695, 80506, 864187, 57607, 940925, 907718, 469929, 548947, 565297, 238691, 372443, 152215, 233693, 401140, 780501, 489205, 690202, 387158, 795135, 323445, 403747, 695175, 129634, 954568, 498834, 660927, 235657, 998676, 76940, 342974, 647317, 196147}
{280501, 195555, 392910, 802780, 435184, 78486, 75806, 745499, 307235, 273091, 991191, 767916, 1963, 686903, 673841, 235090, 503920, 608137, 527795, 104783, 956921, 874010, 879536, 654127, 905546, 520301, 251761, 284336, 674349, 208546, 855993, 851793, 787824, 82342, 854674, 579732, 98219, 9819, 236519, 391586, 358154, 767403, 752342, 372654, 619356, 560143, 605898, 30103, 819016, 783357, 441387, 560307, 606571, 94367, 871514, 584339, 547185, 355610, 957693, 515184, 632597, 491039, 283763, 700016, 50853, 988852, 812586, 205115, 787772, 54689, 59768, 865308, 189403, 401157, 427253, 456923, 787160, 688906, 911672, 596386, 798968, 862168, 163569, 986978, 239332, 919190, 272551, 53738, 78556, 302173, 858656, 4142, 913457, 723350, 965635, 507845, 782798, 382527, 572698, 285684, 410328, 888899}
"YYNNNYYYNYYNNNNYYYYNNNYYNYNNYYYYYYYYYNYNYYYNNNNYNYNNYYNYYNNYYNYNNNNYYYNNNYYNNYNYYYNNNYNYNYYYYYYYYNYNNN"
1727405454
282
60
2147068506
Returns: 628696150
91595
{427692, 923326, 563703, 935026, 944549, 709524, 543080, 108353, 220125}
{551407, 522717, 825916, 467927, 657091, 794349, 881956, 116952, 489214}
"YNYYYYNYN"
1585698843
13375
28960
42981
Returns: 543127893
98903
{}
{}
""
1661021601
3
55820
3
Returns: 177959822
90872
{742272, 213113, 988672, 921167, 112988, 936271, 407475, 698735, 583289, 63599, 274756, 128123, 589156, 15252, 715571, 821494, 405213, 80011, 792236, 580106, 195876, 156184, 300716, 632190, 821916, 482380, 796517, 145627, 807449, 234104, 908737, 860427, 645336, 92262, 420347, 650989, 408411, 817815, 306154, 224230, 892920, 311585, 182582, 180005, 600667, 73096, 483557, 661815, 849967, 185814, 965473, 19956, 696055, 511918, 283362, 139598, 883212, 740746, 584226, 398865, 29168, 4609, 218659, 349645, 277561, 5274, 424979, 1663, 804287, 774770, 829177, 383162, 598838, 292549, 353797, 596095, 541912, 266123, 53985, 71996, 97910, 983891, 81670, 224225, 738383, 518169, 885522, 466363, 879742, 678099, 901432, 574175, 109504, 880581, 610557, 492090, 884025, 472459, 910017, 995231, 761690, 289185, 611930, 523242, 405368, 288327, 261816, 36227, 220510, 94677, 750477, 243477, 767801, 162937, 562622, 483448, 555697, 25241, 581807, 981804, 966735, 37009, 657467, 427206, 248979, 758746, 15768, 644095, 527937, 579669, 404142, 462981, 94792, 414843, 392411, 145523, 216396, 808380, 928889, 82203, 803768, 753534, 696582, 283014, 238693, 713656, 3430, 996774, 577584, 175723, 136386, 284317, 468226, 632757, 993660, 570643, 166263, 357198, 852104, 863332, 356244, 710188, 73065}
{518022, 541719, 797408, 68620, 675781, 735344, 555261, 575807, 823630, 700427, 588615, 247458, 771887, 29817, 647939, 1939, 494202, 46406, 8891, 518272, 359466, 301607, 766009, 570264, 158279, 905789, 33703, 999338, 863550, 760105, 770309, 998312, 289700, 242312, 942914, 491191, 860471, 902601, 203194, 315943, 939483, 959608, 902094, 119356, 862978, 461382, 785029, 160817, 979002, 795356, 821396, 951861, 845797, 175006, 464076, 123889, 489955, 261249, 710404, 806736, 199860, 653748, 669386, 584528, 952176, 710021, 910499, 367676, 147860, 563043, 853999, 437716, 71832, 607999, 577405, 156631, 420983, 400275, 191140, 853949, 630302, 959932, 646007, 138063, 946797, 152042, 950651, 688705, 948303, 702092, 353958, 438492, 338980, 28747, 858698, 570680, 848979, 218672, 357696, 251397, 850808, 405799, 220281, 314913, 529244, 915444, 201900, 262621, 614869, 672566, 488114, 566535, 92610, 866072, 893566, 345977, 928697, 360556, 503625, 975703, 274640, 824097, 139518, 74544, 95896, 626556, 975420, 804654, 568704, 978109, 885762, 533443, 192704, 697413, 276372, 873471, 875292, 545042, 45680, 972411, 236879, 348405, 656511, 754538, 625437, 634454, 385833, 151222, 952592, 370124, 621191, 483322, 613009, 457220, 991892, 539982, 69113, 548785, 358939, 725106, 951601, 536977, 448222}
"YNYYNYYYYNNYYYYYYNNYYNNYYNYNYNYYNNYNYYNYYYYYNYNNNNNNYNNNNNNYNNYYYYNNYNNNNYYYNYYYYYNNYNYYNYYYYNNYYYYNYYYNYNNNYNYYYYNNYNNYNNNNNNYNYYNYNYYNNYYYNNYNNNNYYYNNYYYNYNYNYNY"
1149483079
828
8073
599992516
Returns: 252465818
96506
{}
{}
""
1664184446
929
10029
1867332334
Returns: 985386561
93027
{}
{}
""
1944490415
1
2
2147483588
Returns: 102862611
93851
{309730, 864477, 939443, 92202, 102575, 408869, 737820, 989424, 238171, 221204, 905173, 80263, 415520, 378083, 289588, 415422, 171777, 461128, 570892, 67264, 745658, 168717, 274625, 450553, 728654, 893355, 664165, 442550, 716553, 596860, 242904, 32461, 829916, 716717, 104193, 906885, 462806, 309892, 725818, 532971, 210892, 998415, 702245, 941798, 316582, 247217, 795352, 721088, 10395, 184628, 895236, 556190, 322016, 947363, 667922, 724503, 895027, 50436, 957694, 315152, 378973, 738005, 648322, 184737, 240277, 386905, 348908, 393186, 886650, 718876, 481935, 781639, 95709, 701180, 199076, 593608, 537568, 785482}
{298984, 983251, 768046, 861196, 450156, 861673, 53350, 97113, 875175, 908703, 321892, 694338, 981162, 708695, 963087, 114990, 60514, 885722, 525078, 231067, 799162, 692596, 819305, 281129, 971721, 162511, 847183, 488545, 314006, 456319, 64366, 506287, 6546, 494310, 540945, 762596, 19613, 857700, 32414, 758176, 860787, 671954, 102279, 633672, 127747, 407703, 943890, 129338, 851401, 163192, 335940, 752869, 667101, 192097, 536978, 827202, 876620, 329135, 90135, 372005, 17816, 365029, 632481, 993035, 160225, 698440, 914791, 145232, 427839, 319268, 565408, 189089, 233308, 249793, 945157, 79717, 570720, 871696}
"NNYYNNNYYNNYYYNNNNNYNNYYNYNYNYYYYYNNYYNNNNYYNYYNYNNNNNYYNNNYYYYNNNNYYYYYNYNYYY"
549857318
13
31394
16
Returns: 807371881
93732
{}
{}
""
744293682
550
6
34533648
Returns: 728999313
97570
{860316, 735731, 546005, 698396, 244843, 270938, 567665, 549474, 178708, 922027, 19148, 344545, 529006, 820600, 957517, 299805, 768819, 463603, 977934, 781366, 366417, 377898, 19669, 335170, 409716, 162397, 192721, 466087, 536857, 335638, 119689, 47217, 753322, 910941, 539999, 361377, 41635, 110575, 72553, 486966, 485735, 542850, 581190, 646245, 172552, 942379, 167983, 992530, 262887, 640512, 569281, 707655, 582058, 551850, 762293, 446168, 861545, 836415, 803406, 725197, 244869, 719247, 131140, 512484, 564889, 377293, 357039, 61978, 389453, 505071, 387228, 363599, 928120, 381116, 170973, 832535, 708184, 867242, 469548, 472758, 73179, 630340, 56075, 536614, 645726, 156103, 779759, 193416, 483346, 848975, 259642, 590683, 171357, 344208, 831878, 197022, 916540, 714975, 395041, 418595, 720518, 174829, 697793, 83507, 483772, 812262, 655195, 104634, 562027, 642887, 543000, 173686, 594082, 115312, 684773, 586693, 566706, 229530, 376209, 178316, 555427, 503551, 441311, 660558, 142131, 186130, 920798, 938780, 762067, 567441, 761676, 814119, 202455, 789214, 567745, 21263, 395508, 432423, 613040, 696257, 205598, 604002, 412042, 870730, 36581, 90276, 945601, 218186, 226576, 472255, 609905, 736332, 348009, 615186, 680539, 664973, 373739, 131264, 642674}
{747199, 722091, 422179, 899204, 723187, 722351, 870893, 883624, 618706, 365011, 414935, 179517, 472345, 274224, 349154, 117415, 632422, 533261, 389382, 333659, 292370, 656941, 384546, 520864, 352998, 273699, 519119, 771935, 46852, 311629, 700255, 905079, 263680, 821488, 364165, 319640, 690210, 173205, 521597, 357984, 99856, 604959, 133052, 697541, 581384, 45463, 59844, 196442, 235264, 835545, 687075, 961885, 669849, 637894, 269820, 555254, 627566, 638450, 983113, 177953, 618974, 749994, 204844, 639629, 996884, 528929, 276576, 146358, 850155, 422773, 844707, 908400, 781704, 167704, 331629, 549849, 129258, 680363, 436318, 816873, 67700, 440460, 837058, 897770, 377343, 42938, 814937, 185326, 165223, 854, 702343, 14622, 215529, 170581, 566399, 30115, 213022, 521219, 146872, 373776, 458546, 399556, 520000, 80016, 171687, 312971, 472093, 538316, 623571, 901778, 787384, 345143, 441530, 231874, 618915, 828208, 635139, 285135, 761574, 752560, 350005, 984947, 605095, 112, 65730, 846023, 145780, 890836, 283048, 62899, 992366, 590420, 934769, 537422, 462015, 564872, 116806, 464292, 95167, 52205, 756090, 706125, 723938, 849406, 586624, 71892, 847575, 955240, 815601, 662152, 425075, 858164, 614708, 891067, 638430, 823723, 82750, 739522, 325249}
"NYYYNNYNYYYYNYYNNNNNYYYNYYNYNYYNYNYNNNYYYNYNNYNYYNNYNNNYYNNYYNNNNNNYNYYYNYYNNNYNNNYYYYNYYYYYNNYNNNYYNYYYYYYYYNYYYNYYYNNYYYYNYNNYNNNYYYNNNNYYNYYYYNNYNNYYNNNNNYN"
876780221
3363
587
823
Returns: 641161389
98417
{}
{}
""
927571257
212
439
6
Returns: 45510650
96926
{}
{}
""
243986028
233628
962
2594580
Returns: 111098309
90425
{}
{}
""
1124266847
32
1
1018
Returns: 0
99854
{572967, 384083}
{939090, 577258}
"NN"
2039906394
1
1070
1023226
Returns: 676327992
98038
{141601, 140349, 246636}
{601995, 422023, 853662}
"NNN"
1636796054
1710
505
2144699572
Returns: 690697961
91716
{720125, 515279, 609055, 267243, 546309, 201943, 118103, 528678, 935738, 363858, 225038, 4486, 55265, 387187, 823842, 268180, 80883, 836994, 901691, 423748, 7569, 203048, 711626, 618944, 154599, 633627, 464409, 750899, 480799, 265342, 453997, 420973, 593208, 758923, 202070, 725272, 817624, 650529, 647158, 480682, 956155, 343113, 191022, 540081, 169123, 99793, 255859, 89779, 753066, 113638, 655166, 715028, 250653, 697161, 657504, 670207, 121610, 526039, 518369, 158388, 800124, 232885, 199336, 661864, 968565, 171581, 532782, 977151, 468630, 688194, 366651, 793413, 70307, 916519, 564420, 261483, 960833, 963710, 971747, 299184, 199895, 251257, 918922, 89857, 524042, 447675, 28454, 384255}
{415224, 499866, 47291, 871441, 705715, 197921, 607667, 884098, 808527, 530488, 48097, 608825, 786753, 126359, 140866, 313924, 95832, 669605, 691544, 610864, 37384, 824380, 583525, 498419, 69425, 597713, 901586, 567653, 818757, 940455, 277968, 286867, 346791, 250174, 397592, 365701, 963732, 211146, 718772, 625601, 145359, 712513, 652289, 831789, 332565, 226405, 116398, 925889, 562333, 210498, 869379, 744267, 155398, 227479, 686369, 447614, 267576, 418646, 158405, 394226, 716476, 665116, 337974, 397917, 696555, 493351, 182034, 525488, 805182, 73907, 25402, 680101, 396662, 989788, 744943, 336954, 998318, 647912, 4038, 590281, 91226, 294693, 326988, 158670, 728258, 495811, 945622, 58619}
"YYNYNNNNNNYNNYYNNNNYNNNNNYNYNNYYYNYYYNNYNYYNNYYYYYNYNNNNNYNNNYYNNNNYNYNYYYNNYYNNYNYNYYYN"
259215348
108
842824
2371389
Returns: 594381107
95093
{186864, 100142, 894295, 793354, 870666, 286586, 497198, 835556, 39090, 108795, 671565, 34500, 933666, 368400, 105014, 221186, 166379, 205752, 394095, 842206, 818435, 563264, 699127, 201989, 228967, 156692, 170897, 692289, 41243, 47808, 725810, 946966, 378238, 819076, 776921, 779646, 907816, 924513, 137430, 320727, 419766, 931629, 832975, 557634, 1569, 577943, 616885, 756977, 796402, 26507, 120786, 718543, 49290, 892373, 479140, 130574, 274813, 505495, 797501, 927456, 228256, 447122, 214928, 1176, 906049, 13132, 435501, 634956, 14179, 994700, 126100, 531210, 124558, 998046, 601518, 96914, 149814, 316961, 375341, 498380, 172665, 973195, 499858, 878570, 915218, 678870, 857677, 89478, 312296, 810786, 367056, 604666, 769628, 403874, 945650, 52317, 656934, 803837, 842519, 145333, 764712, 413038, 502847, 148304, 806697, 608165, 201149, 126028, 108833, 214956, 585074, 443211, 484740, 705631, 622239, 540615, 962825, 746351, 201527, 485937, 834669, 577130, 36614, 649308, 904167, 119958, 328071, 838236, 745119, 96212, 475165, 172984, 561248, 243894, 829905, 752524, 410866, 618639, 181702, 604715, 588731, 324026, 956930, 274758, 29786, 697593, 464088, 915967, 156071, 303858, 419697, 68793, 249426, 590646, 417555, 666053, 385964, 775617, 813825, 835037, 881889, 187914, 673027, 466225, 502149, 931489, 116341, 142453, 350696, 632801, 730002, 867311, 598350, 561601, 913991, 316492, 32643, 157561, 18735, 320678, 728342, 959726, 964718, 433455, 165732, 114284, 989407, 909898, 870055, 290271, 996232, 925753, 635590, 751192, 106140, 4884, 573899, 894990, 381260, 702854, 557446, 858337, 152318, 355669, 841139, 633475, 408440, 668347, 51693, 362430, 760890, 665715, 693824, 925195, 284584, 746239, 887321, 17800, 486774, 401400, 517578, 905081, 681210, 63860, 979022, 461345, 587638, 762815, 560480, 187579, 998970, 58647, 318952, 954862, 319307, 258928, 217937, 600614, 1146, 188676, 411657, 88667, 633950, 443245, 398556, 595813, 937342, 107965, 760487, 105359, 310996, 20921, 313426, 78869, 767945, 350908, 258028, 770989, 880310, 513539, 299446, 517614, 538649, 394703, 446344, 699915, 454765, 985419, 576369, 546557, 785983, 35592, 811000, 728815, 904837, 687641, 67884, 933914, 834134, 27908, 782187, 428433, 6769, 551072, 585217, 437374, 500294, 974315, 495497, 610138, 21091, 257211, 695743, 157715, 639945, 751218, 446640, 594212, 546663, 13556, 264950, 878528, 131379, 41153, 596961, 304705, 997991, 214232, 96573, 512884, 906102, 952553, 158516, 330885, 164312, 950374, 770819, 200279, 751594, 380356, 602805, 676619, 63983, 266366, 348891, 300437, 442364, 795898, 110321, 529685, 833892, 501223, 360108, 373903, 35419, 563833, 562831, 732388, 83989, 32947, 485668, 778599, 348840, 793657, 406340, 676852, 820735, 694866, 724057, 851341, 661764, 172352, 390006, 252599, 409055, 660837, 797944, 785050, 9709, 401004, 478273, 718105, 874487, 862610, 378301, 221405, 747125, 998054, 808589, 60503, 20629, 491630, 960518, 516646, 803129, 271809, 977893, 750711, 588346, 837911, 176271, 415512, 930448, 760468, 68445, 33448, 334870, 327175, 903745, 949674, 491775, 641352, 575073, 540217, 939454, 479275, 64301, 930348, 274331, 376618, 210927, 837052, 968056, 944563, 188541, 47281, 875725, 419286, 612913, 217777, 945756, 352706, 821951, 732736, 91338, 940263, 821261, 378738, 563856, 339824, 338296, 912342, 152467, 590541, 237641, 917535, 610617, 803973, 394239, 421018, 206731, 796463, 923143, 245346, 442146, 344757, 57194, 546630, 249426, 231141, 758739, 115372, 131666, 168716, 396071, 481064, 895082, 502749, 352300, 711047, 35181, 639371, 629166, 61844, 205143, 395174, 978118, 774645, 906032, 568992, 291534, 32041, 667489, 562628, 703984, 634490, 706518, 875238, 468244, 367058, 608092, 335115, 447387, 7314, 813884, 393614, 331824, 85371, 948691, 755142, 14921, 328060, 746556}
{678725, 604693, 404772, 842064, 622831, 927644, 302395, 270262, 429295, 927230, 254512, 706428, 603245, 344314, 851315, 825158, 497592, 104670, 671950, 215, 129584, 180141, 571622, 774242, 743919, 613895, 917330, 18523, 199152, 101982, 967176, 466864, 474931, 682411, 750137, 876166, 293237, 122400, 999836, 836015, 47775, 258016, 984234, 613589, 439828, 138602, 984421, 547587, 85435, 241644, 992778, 657181, 530220, 814050, 457548, 678374, 213788, 804352, 564043, 479337, 257563, 249064, 35441, 71229, 708658, 923425, 918592, 195486, 333213, 916302, 4932, 13810, 414986, 275710, 782249, 935329, 114659, 209319, 372769, 163288, 799512, 121057, 202528, 950770, 825050, 964419, 792123, 260320, 360084, 731802, 536916, 99120, 627280, 997918, 172465, 903230, 292336, 76311, 839088, 988617, 114514, 597087, 994074, 750444, 293787, 77021, 617127, 808353, 231549, 935567, 599831, 404374, 498356, 573245, 952977, 60296, 866775, 805607, 259919, 31881, 764549, 843051, 584652, 314301, 787146, 685341, 731799, 789715, 109969, 159098, 440779, 979855, 373272, 922681, 571480, 927698, 543760, 442713, 398385, 290878, 550163, 88750, 10960, 375305, 527769, 911007, 903803, 826132, 673252, 181740, 973851, 519076, 119530, 989767, 460845, 823434, 452053, 90006, 737604, 668, 782407, 76045, 413601, 774143, 386070, 332662, 282134, 156774, 499749, 561795, 393847, 537862, 322662, 868650, 77921, 598142, 961318, 481835, 785607, 244364, 199119, 315783, 886754, 847537, 348849, 183791, 542849, 35543, 365779, 275251, 775966, 328230, 7203, 39054, 656713, 500182, 21108, 32065, 769028, 431670, 472599, 526278, 308857, 134018, 400025, 363038, 97848, 754910, 22098, 942765, 39866, 869225, 705607, 662250, 461638, 569691, 684212, 646650, 61567, 27534, 651431, 187891, 73980, 885759, 634721, 81619, 824995, 685294, 797883, 599434, 854562, 269820, 286933, 370243, 879634, 82018, 36780, 439048, 909902, 848805, 202261, 777865, 134416, 319314, 212052, 209160, 352843, 638185, 223051, 721509, 754020, 553544, 911445, 549538, 398889, 743731, 328230, 509645, 330016, 680883, 674511, 266282, 76272, 516809, 72123, 76281, 948795, 126157, 923904, 701867, 68916, 338631, 704735, 745005, 781754, 724260, 770336, 22391, 118706, 698521, 305606, 210177, 184287, 63128, 164406, 851638, 779681, 499831, 866144, 289406, 320892, 840872, 628656, 624154, 155599, 185152, 707287, 856596, 962001, 323794, 459669, 257154, 823285, 494709, 479728, 81509, 940132, 205863, 744280, 971454, 234764, 359926, 127007, 486189, 484789, 23263, 213234, 118403, 520846, 735414, 601989, 519617, 166650, 351954, 396273, 740753, 171968, 221726, 728615, 133452, 633790, 284040, 908635, 339973, 408242, 680159, 206114, 106483, 517417, 103604, 326195, 327657, 35201, 449055, 998532, 343732, 114186, 278051, 338160, 106151, 238634, 907689, 898671, 757274, 143059, 734624, 661755, 60418, 820380, 557732, 869808, 360845, 636654, 293252, 258557, 858748, 937683, 992320, 721242, 336578, 70277, 261121, 544056, 932023, 639985, 453134, 407362, 995957, 510561, 567042, 948002, 628164, 326252, 758673, 260576, 677689, 654013, 175932, 882626, 47182, 994533, 723020, 762812, 648834, 206857, 753403, 100273, 278049, 99550, 464492, 341336, 96849, 164216, 795263, 430371, 66534, 848847, 845176, 783701, 457058, 562474, 347931, 855224, 665572, 883411, 575015, 809832, 418110, 853930, 767853, 885641, 525623, 977352, 492987, 1817, 451069, 799184, 394505, 155133, 497048, 273276, 566046, 494978, 81647, 243953, 716587, 262735, 869405, 246989, 196242, 31694, 172880, 680853, 744847, 412632, 553001, 803625, 627177, 908969, 399590, 946410, 655678, 746512, 305950, 252877, 872556, 482940, 314686, 691412, 680386, 315963, 547848, 663266, 735945, 173198, 502031, 541523, 637188, 969149, 601306, 132511, 890315, 196005, 678568, 400855, 484959, 534434, 56983, 444148, 673617, 600491, 236557, 739895}
"YNNNYNYYYNYNYNNYYNYNNNNNYYYNYNYNYNYNYYYNYYNYYYYYYYYYNNYNYYNNYYYNYYYNYNYNYNYYYNNNNYYYNNNNYNNNNNYYNYYYNYYYNNNYYNNYNNNNYYNYNYNYNNYYYNNNYNYYYYYNYYNNYNNYYNYYNYYYNNYYNYYNNYYYNNNNNYYNNYNNYNYYNNNYYNYNNYNNYNYYNNYNNYNYNYNNNNNNNNNNNYNYYYYNNYYYNNNNYYYYYNNNYNYYNNNYNNYYNYNNNYYYYNYNYYNYNNYNNNNYNNYYYNNYNYNYNNNNNYYNNNYYNYYNNYNYNYNYNNYYNYYYYYYNNYYYNYYYYYYYYYNNNYYNYNYNYNNYNYYNNNNNNNYNYYYYYNYYYYYYNYNYNYNYNNNNNNYYYYYNYYYNNYNYNYNYYNNNYNNYYNNNNNNYYNNYYNNYYNNYYNNNNNYYYNYNYYYNYNYNNNNYNNNYNNNYYNNYYYNYNYN"
409029897
23
1
2147483598
Returns: 429917461
96886
{722866, 641259, 499741, 485499, 401705, 957479, 412934, 714211}
{670033, 656786, 606700, 122604, 536235, 230146, 455948, 633490}
"YNNNYYYY"
1526119363
292961
775
1037962807
Returns: 630606029
91108
{67262, 806226, 826659, 139082, 991064, 203334, 374724, 115852, 864011, 935951, 530356}
{272615, 310473, 473522, 512688, 799584, 550458, 408581, 73158, 396325, 866052, 793302}
"YYYNYYNNYYN"
1225257871
187
466557
2807
Returns: 884102999
94477
{727952, 613669, 32936, 809032, 383376, 577539, 456243, 384851, 640883, 600691, 592827, 142770, 511837, 483833, 228860}
{999521, 844461, 263413, 614723, 450752, 426193, 953327, 980743, 599328, 950972, 852612, 624508, 482275, 368129, 908787}
"NYYNYYYNYYNNNNN"
1676286587
9
1
2147483560
Returns: 141448216
92720
{}
{}
""
108486811
494
9
12
Returns: 646182062
94744
{}
{}
""
860391553
6160
9
904991852
Returns: 578364864
93455
{}
{}
""
398863777
11744
29
3390462
Returns: 90617666
99267
{}
{}
""
339872502
13
613
2135983990
Returns: 911976435
97660
{702983, 247523, 376423, 950809, 394243, 397345, 352333, 518706, 101931, 655602, 28039, 136913, 187702, 919064, 699138, 849255, 174744, 476619, 283462, 70422}
{479, 546346, 286633, 934799, 96061, 870532, 708191, 317746, 911334, 889204, 455881, 90638, 405565, 98283, 646631, 477106, 277147, 307372, 966921, 769913}
"NYNYYYNNNYNNNYYNYYYY"
1349411407
273763
4
2146487348
Returns: 670836197
94414
{}
{}
""
1085755068
2
323335
1815482724
Returns: 479898024
97260
{204494, 44574, 465069, 217635, 20984, 691343, 99469, 506687, 84810, 886085, 807274, 463774, 224914, 637324, 596113, 184396, 842458, 407761, 20406, 256566, 725063, 925239, 749593, 928034, 886685, 330035, 542565, 249412, 590394, 636609}
{235976, 861328, 123157, 687835, 565468, 18787, 910747, 985401, 179506, 152012, 109528, 522337, 105341, 42394, 359196, 221463, 297286, 824979, 859228, 492689, 608838, 253368, 835425, 478113, 506188, 752802, 611773, 174977, 448457, 583186}
"YYYNNYNNYYYYYYYNNYYYNYYYNYYYNN"
959892172
287
405
1818915466
Returns: 509661010
94091
{}
{}
""
2019459036
9
55286
2147481840
Returns: 765499781
97207
{}
{}
""
725733710
9
175805
1884399370
Returns: 666652454
99305
{}
{}
""
1951844757
217
1750
2147483642
Returns: 24484238
94262
{182183, 209845, 994097, 353316, 383416, 172423, 414232, 446266, 63227, 646447, 751982, 906339, 681851, 228958, 882652, 603360, 454797, 981037, 59231, 417208, 357137, 416405, 511792, 933035, 48378, 675000, 848200, 538728, 340899, 961919, 590216, 998220, 932699, 609818, 396360, 76237, 739557, 183250}
{324572, 386759, 132813, 274731, 139734, 51325, 274812, 340264, 26012, 481449, 711296, 478656, 31243, 413437, 81689, 292396, 168006, 211941, 834797, 60227, 121053, 127518, 640498, 970895, 221022, 43890, 426096, 12987, 964099, 649444, 847790, 349143, 976135, 437540, 817953, 398797, 12546, 217975}
"NYYNYYYNNYNNNNNYNYYNYNYYYYYYNYYYYNNYNY"
998843752
10
1022
26451741
Returns: 91688172
98275
{}
{}
""
38723574
4
643342
2133214993
Returns: 291519739
95941
{}
{}
""
1618507555
7
332959
2147113320
Returns: 892011958
91110
{}
{}
""
1554688136
140
7
2147483260
Returns: 607143579
95500
{}
{}
""
1805629465
814
218064
2043822124
Returns: 98411749
95794
{744905, 129934, 783371, 704619, 235090, 801305, 711534, 423910, 298025, 934043, 579621, 690874, 966292, 119996, 411171, 239992, 263625, 220319, 495731, 355099, 929997, 390978, 758148, 280239, 444137, 191479, 862113, 851622, 962317, 747573, 834908, 433736, 372896, 712258, 373631, 702819, 695104, 313884, 296770, 488416, 10511, 847697, 936602, 643158, 493280, 720981, 896081, 569164, 560221, 799117, 880149, 153330, 751758, 141429, 15325, 355757, 505996, 558775, 944010, 358649, 718966, 341384, 177851, 467697, 1555, 996249, 263250, 566945, 849397, 812708, 206347, 754282, 818684, 45646, 354628, 992766, 700035, 402915, 686598, 882457, 461277, 258080, 531459, 16296, 220118, 25918, 55030, 924302, 697748, 897921, 415894, 542935, 71938, 577853, 655035, 184429, 305229, 372683, 806047, 633653, 373660, 333662, 24363, 765662, 901249, 792270, 614596, 905420, 276800, 859593, 388149, 292528, 840178, 515143, 264306, 249302, 798020, 223303, 510052, 377435, 44908, 384580, 316859, 805722, 782939, 588603, 704759, 347207, 120121, 238155, 414008, 981595, 440102, 238911, 231495, 668081, 541219, 20755, 373387, 529238, 464612, 211525, 64417, 101461, 349129, 9305, 279634, 390712, 915792, 209946, 125082, 733103, 799938, 277995, 456219, 441869, 470124, 945100, 9802, 413300, 909907, 975409, 499157, 629901, 359236, 848331, 691377, 24821, 418022, 325661, 497680, 448487, 951968, 691520, 846404, 889454, 441521, 156617, 302852, 735236, 729743, 313257, 622991, 679177, 179678, 793627, 568931, 160449, 17672, 867700, 42706, 605509, 624290, 858301, 116921, 915290, 487351, 860585, 856610, 269548, 327783, 348319, 521595, 938348, 283001, 925419, 376806, 234504, 43519, 229486, 42411, 358674, 972997, 806620, 409442, 900269, 237259, 506244, 172161, 982366, 648214, 55930, 788259, 529091, 542900, 846336, 146662, 437039, 831802, 507490, 880006, 618553, 673533, 471351, 60890, 463334, 625364, 622722, 340129, 15590, 556821, 571218, 941307, 23702, 60342, 631362, 323677, 317976, 261706, 810084, 552835, 681845, 891023, 546272, 721993, 178102, 107608, 286268, 453017, 30215, 691583, 621696, 784214, 134043, 382793, 475650, 845606, 451731, 952339, 900951, 335080, 100608, 398708, 134018, 729831, 820255, 42462, 451211, 936397, 12067, 54694, 320059, 309609, 203448, 219940, 764201, 588744, 839502, 707056, 176532, 539687, 99855, 269777, 848045, 414124, 538052, 579727, 317572, 981750, 852610, 678391, 390535, 833817, 118471, 574635, 212125, 600268, 444694, 653624, 532541, 63004, 965076, 277466, 498326, 301351, 49132, 437392, 785620, 330683, 589796, 16647, 173811, 988408, 151262, 876782, 903819, 859845, 301947, 718006, 88197, 45730, 639428, 781025, 270443, 722503, 884904, 398142, 247385, 157651, 172542, 927864, 86033, 412331, 275835, 913364, 750386, 558471, 346601, 616525, 543734, 641249, 904520, 462174, 405692, 676734, 763002, 781011, 118347, 938417, 208848, 121412, 907402, 658527, 33139, 433880, 131295, 214118, 580506, 776911, 631801, 839988, 948122, 830952, 879196, 12100, 303949, 222169, 362420, 401559, 555907, 453329, 822712, 134530, 159036, 815509, 843201, 71950, 693963, 844380, 259746, 106168, 964328, 185306, 421562, 347103, 87198, 53517, 557210, 451940, 960796, 304392, 90489, 470815, 837509, 791211, 498170, 861764, 97125, 173317, 898573, 280167, 227684, 245492, 219660, 739825, 467659, 228575, 427030, 633853, 642583, 509953, 536738, 197454, 186361, 419832, 579558, 241253, 856655, 516560, 771280, 719394, 249727, 17738, 92833, 976583, 183351, 900431, 679078, 453592, 61972, 468132, 57953, 361150, 680700, 342239, 893619, 283155, 908860, 532809, 467095, 994331, 33131, 89248, 819570, 785502, 155748, 890124, 473642, 949542, 70581, 866081, 935372, 979720, 81639, 96485, 33921, 598650, 612168, 661136, 781162, 781813, 908665, 378897, 859294, 464340, 341260, 543522, 95689, 401489, 489706, 423872, 736718, 261807, 22788, 843079, 789715, 760611, 921692, 15601, 898444, 63119, 639785, 155551}
{486399, 488439, 792613, 496623, 126885, 545474, 447182, 866027, 791892, 331364, 874503, 852825, 312251, 522639, 978333, 979078, 830670, 205935, 697948, 831708, 826878, 930666, 237911, 976962, 453701, 938744, 771098, 867766, 58026, 598482, 696091, 394449, 438701, 311298, 768651, 882999, 149976, 303972, 456875, 347330, 959654, 220775, 216951, 359658, 255959, 811156, 853368, 818295, 289140, 107277, 540167, 85510, 414960, 324089, 46396, 982065, 708247, 681309, 793821, 243705, 556305, 149467, 851675, 665235, 64659, 487387, 696539, 315706, 944636, 932817, 239521, 748743, 651687, 984237, 219030, 439148, 318657, 163324, 847161, 607142, 840716, 500666, 787000, 153920, 793935, 93340, 211444, 446997, 469031, 901265, 933920, 891240, 491315, 168152, 83594, 68453, 2173, 17825, 61343, 83188, 316144, 517914, 131764, 770471, 648909, 817336, 732432, 81380, 561089, 781116, 117703, 102057, 311090, 972905, 822699, 155335, 462396, 426964, 793281, 7442, 787466, 550674, 685559, 37891, 725868, 664297, 25570, 31967, 327526, 156422, 722227, 886019, 970316, 563025, 338105, 727144, 224313, 651636, 589502, 460157, 823585, 431134, 248884, 169764, 66118, 706057, 871592, 374018, 499639, 729155, 135241, 347099, 617068, 997270, 220496, 65996, 792560, 15086, 979601, 687894, 51283, 185746, 797773, 616489, 317969, 903075, 248574, 442342, 962859, 259392, 609346, 456601, 711994, 875267, 988123, 714590, 578848, 820630, 248550, 118841, 924408, 143713, 903713, 69179, 115133, 202132, 534060, 218361, 568700, 321743, 593785, 861391, 273798, 894770, 447885, 850914, 655502, 558525, 161898, 417141, 208330, 688916, 60255, 341698, 587577, 83650, 78573, 752494, 229952, 834893, 353546, 120941, 214571, 882023, 359942, 579958, 665971, 707540, 671450, 855310, 14455, 951103, 869397, 304235, 593852, 489225, 799828, 264077, 168209, 915953, 883921, 658607, 572015, 440037, 766723, 359624, 922920, 969768, 925200, 565935, 485212, 708420, 968047, 865942, 517019, 233840, 365564, 426041, 452903, 414790, 20777, 685932, 221187, 426548, 437831, 254054, 983645, 719023, 9841, 528794, 481739, 778330, 577848, 104225, 163647, 653452, 445922, 750563, 381029, 596887, 313536, 936593, 839293, 903180, 706983, 418719, 437999, 409696, 367441, 544459, 45490, 216398, 509791, 224138, 843183, 835188, 50592, 197460, 843327, 961078, 906673, 419301, 384739, 579048, 760749, 979110, 53156, 500349, 997115, 516, 112492, 482648, 165073, 2374, 657379, 333412, 840842, 302068, 545129, 964487, 421853, 947630, 659984, 11526, 62458, 629231, 664470, 180356, 29788, 172445, 501738, 334492, 550060, 116783, 237655, 893590, 720614, 773282, 478675, 94192, 151721, 660666, 265201, 575008, 956945, 395845, 183926, 250629, 763886, 204268, 184101, 22836, 143414, 441499, 226581, 242369, 95301, 557136, 5017, 928989, 138187, 9469, 863042, 374935, 453153, 673300, 793198, 710964, 338761, 488389, 536698, 90263, 743570, 391271, 755825, 844119, 640473, 624585, 689220, 86101, 771946, 183715, 887967, 584146, 308698, 538472, 886640, 667115, 939763, 770278, 103957, 339209, 998554, 627886, 573576, 835743, 897941, 482087, 193519, 612411, 744084, 34399, 273704, 985872, 671364, 690186, 82285, 440734, 90989, 458867, 422566, 930168, 990195, 97217, 190239, 280850, 65219, 415170, 703255, 505759, 541744, 987009, 321924, 339351, 470687, 813742, 178676, 732920, 978847, 370974, 282435, 890564, 249558, 503634, 651142, 457841, 128158, 896602, 824724, 677834, 980178, 882045, 244233, 507496, 408072, 643137, 399983, 693234, 931147, 357404, 524787, 31347, 93882, 843406, 169362, 443700, 920707, 353452, 868321, 155101, 515157, 460111, 786791, 330310, 807447, 210821, 483809, 931362, 536394, 244248, 668191, 238800, 946806, 436992, 426014, 444958, 960790, 437098, 673619, 401695, 605111, 714806, 498615, 722357, 477418, 151003, 314693, 89899, 495426, 936558, 695974, 635219, 23325, 685319, 620107, 179334, 663838, 223079, 664436, 559524, 803013, 399987, 84288}
"YNYNNNYYYNYNYNNNNYNYNNNYYNYNYYNNYNNNNNYNNNNNYNYNNNNYYNYNNNYYYYYNYYYYYNYNYYYNYYYNNYNNYYYNNYYYNYYYNYYNYYYNNYNYNNNYNYNYNYYYNYNYNYNNNNNYYYNYYYYYNNYNNNYYYYYNNYNYNYNNNYNYNYYNYNNYNYNNNNNYNNYNYYYYNNYYYNNYNYYYNNYYYYNYYNNYYYNYNYNNYNNNYYNYYNNNNNYNNNNYYNYYYYNNNNNYYNYYNNYYYNNNNYNYNYYYYYNNNYYNNNYYYNNYYNYNYNNYNNYYYYNNNNNYYYNYYYNNNYYYNNNNNNYYNNYYNYNYYNYYNYYNYYNYYYNNYNNNNYYNYNNYYNNNYNNYYNYYNNYNNNNYYNNNYYNNNYYNYYYYNYYNYYYYNNNNNYNNNNYYYYYNNNNYYYYYNNYNNYYNYYNYYYYNNYYYYYNNYYNYNNYNYYYYNNYNYYYNNNNNNNYYYNYYYYYNN"
111769111
33161
158095
2146408022
Returns: 299757543
90502
{}
{}
""
2069914077
30
1
2040231109
Returns: 0
94854
{592692, 883483, 647065}
{65058, 681196, 454495}
"NYN"
1899220026
499
1934
2147482857
Returns: 734971352
90232
{}
{}
""
1097511144
332
55
7322
Returns: 230550166
91998
{363889, 323716, 583355, 65908, 82364, 358369, 842120, 292314, 248523, 590607, 387151, 609367, 384279, 249719, 859599, 448134, 933023, 242850, 742416, 512416, 60217, 440999, 111859, 927438, 323096, 66199, 34503, 211497, 669931, 171106, 806697, 180056, 207571, 901869, 957740, 464803, 130460, 473543, 140696, 909560, 216451, 654111, 2330, 574019, 575057, 318975, 45036, 419150, 898588, 886638, 78051, 807945, 755503, 987036, 148397, 39826, 949855, 402992, 557924, 223606, 429245, 903950, 641134, 216949, 55610, 657399, 792166, 990423, 39757, 416941, 122059, 133703, 331765, 967679, 929153, 958583, 805361, 414790, 656026, 363820, 729581, 297121, 127854, 824549, 664965, 487374, 98421, 634068, 692470, 623985, 945072, 615179, 538070, 736913, 88187, 430512, 662618, 998850, 671912, 63601, 433646, 447722, 87878, 368352, 314357, 247490, 828291, 458657, 993213, 358110, 452909, 913007, 899118, 913597, 863805, 717260, 715225, 502598, 77314, 735134, 933269, 534751, 252012, 635101, 734079, 549185, 827461, 41956, 159094, 232847, 368595, 799681, 928705, 899204, 101940, 302608, 433199, 61937, 450730, 150686, 205555, 489007, 637711, 66144, 192918, 687987, 995012, 133573, 493159, 397316, 164636, 888224, 515732, 721950, 219219, 372474, 18167, 596918, 342445, 220582, 196989, 845884, 366209, 486827, 516492, 607668, 511651, 67800, 993426, 353728, 968845, 294346, 150833, 342936, 61816, 698373, 417820, 2326, 785999, 654565, 345420, 168595, 745906, 750527, 614893, 593053, 564686, 592468, 305903, 981632, 750873, 299954, 612683, 561046, 828258, 862835, 470474, 695289, 664428, 328122, 243495, 709215, 398066, 644706, 447692, 785756, 791452, 710213, 424092, 705900, 104793, 323715, 599129, 127095, 820900, 537209, 421747, 129309, 78787, 890714, 37035, 696350, 987496, 492746, 417858, 504111, 72716, 843807, 416399, 607155, 405147, 249380, 405348, 443307, 779467, 502177, 44615, 28122, 724310, 636265, 778040, 962873, 292359, 225950, 387605, 696487, 730526, 682277, 986392, 46773, 266359, 24815, 644032, 363301, 976190, 871035, 437642, 489627, 919055, 307477, 316665, 956389, 211209, 666479, 587117, 55477, 499430, 595298, 168659, 815493, 11063, 475375, 945782, 39845, 432003, 51739, 720160, 136553}
{65469, 243604, 804326, 69474, 33674, 477549, 843071, 27317, 455255, 226422, 547353, 602571, 169399, 334935, 308432, 245574, 522471, 68874, 619772, 646835, 598731, 907713, 825875, 588524, 763478, 201752, 836012, 483266, 535886, 338553, 669512, 444902, 103048, 613113, 72374, 141000, 713782, 456350, 424134, 671640, 291727, 627895, 318736, 219053, 254073, 216181, 3430, 440201, 987191, 424539, 194799, 649168, 198972, 571297, 65830, 523005, 218555, 655909, 897342, 69114, 788688, 751557, 489569, 866205, 609896, 3784, 655893, 961282, 559298, 595198, 385311, 931390, 689267, 955526, 529358, 680331, 371464, 932342, 338967, 128825, 920777, 206032, 203683, 71075, 510489, 620862, 585538, 62825, 163767, 412887, 264691, 966919, 572617, 513755, 95274, 817823, 869638, 803731, 325861, 553010, 623991, 540523, 45104, 293436, 372535, 22972, 283811, 501884, 465457, 293374, 686529, 693330, 382416, 280030, 869886, 30344, 821367, 442147, 183661, 246156, 835313, 15480, 2390, 342457, 117706, 92962, 285643, 205484, 373101, 629992, 140876, 710298, 465485, 194036, 165371, 783111, 29876, 40062, 717461, 791863, 326928, 660533, 491818, 202650, 86830, 388476, 482937, 938241, 389846, 112566, 322574, 70062, 898543, 582754, 338575, 574611, 923166, 554293, 435238, 551560, 305425, 597410, 879475, 51549, 106085, 682862, 352161, 542847, 535435, 558512, 72756, 635481, 731205, 936807, 612190, 244924, 83294, 41390, 297107, 490555, 194745, 347320, 373734, 699279, 778418, 468528, 492854, 105195, 684577, 368520, 16406, 209926, 187363, 635472, 463827, 832831, 910265, 715131, 692217, 871635, 274242, 656414, 478118, 508244, 344753, 724847, 289319, 691007, 712468, 800119, 178956, 965325, 395596, 790251, 212656, 283653, 488099, 725681, 426217, 482768, 301395, 888626, 401712, 837651, 544858, 433812, 202879, 88823, 340615, 817355, 479963, 639162, 650222, 457908, 367962, 301031, 999244, 12296, 406827, 749659, 469069, 251970, 112369, 380145, 622617, 106584, 725758, 660368, 934243, 905847, 636584, 288419, 930836, 585442, 248354, 643296, 156341, 921287, 933016, 42634, 978657, 517672, 41355, 439206, 267845, 384597, 753905, 943397, 155804, 383423, 621819, 709627, 382099, 968765, 272245, 347250, 928929, 545179}
"NNYYNYNYYNYNNYNNYYYYYNNNNNNYNNYNNNNNNYYYNYYNYNYYNYYYNNNYYNNYYYYNNYYNYYNNNNYYNYNYYYNYYNNNNYYYYYNNYYNYNYYYNYNNYNNYNNYYNNNYYNYYYYYYNYYYYYYNNYYNYYNNNNYNNYYNYYYYYNNYYNYNNNYYNNNYYYNYYYYNYNNYNNNYYYNYYNYNYNYYYYYNYYYYYNNNNYNNNYYNYNNYYNYYYYYNNNNNNYNNYYNYNNYNYYNNNNNNNYYNNNYNNNNYNNYYNYNNYY"
353536898
2257
680928
295941956
Returns: 784079139
99466
{}
{}
""
465702355
2
13
2147467474
Returns: 117597983
92218
{564568, 47003, 882263}
{371531, 94687, 814011}
"YYN"
2055228188
2602
52
59391204
Returns: 179852869
94504
{127911, 610296, 562329}
{960347, 432554, 562561}
"YYY"
205155261
90
17129
2144686728
Returns: 728904675
91297
{}
{}
""
430772514
29457
8374
2147304694
Returns: 694374722
95675
{}
{}
""
1143726347
26955
30446
2147483606
Returns: 175311731
95963
{}
{}
""
377228716
1
1
2146090384
Returns: 0
95437
{550869, 827183, 690683, 946620, 542363, 379062, 229054, 68302, 206248, 493997, 172166, 478637, 941440, 565425, 784090, 853533, 810752, 968548, 961697, 598650, 720877, 917818, 608187, 395967, 95312, 96571, 361539, 514820, 512606, 968315, 495595, 56518, 577835, 613496, 440528, 558347, 155325, 416447, 888835, 467324, 719541, 168831, 430867, 231310, 788119, 991782, 906075, 32032, 636799, 215747, 233628, 819722, 952392, 820959, 704493, 630912, 991011, 900170, 784877, 915227, 927552, 713933, 393313, 13560, 711969, 451253, 473539, 108617, 245863, 756836, 448243, 341469, 844093, 69661, 364252, 425575, 857604, 61486, 477850, 480850, 280492, 819201, 55376, 512757, 112633, 953858, 941229, 847849, 546635, 965180, 613990, 265263, 238499, 799275, 319158, 65885, 379270, 733083, 645883, 261016, 859959, 968154, 419758, 552181, 387175, 757978, 897999, 20294, 354141, 932222, 52105, 742439, 985210, 59223, 505794, 958960, 568457, 426671, 439913, 584701, 29340, 233013, 941623, 943072, 750207, 903349, 182648, 103706, 75493, 413663, 799544, 123815, 45376, 482147, 283751, 72551, 471126, 665387, 858859, 187310, 231686, 910666, 747014, 325040, 675700, 163522, 191983, 58602, 64219}
{229123, 954766, 558796, 490587, 213615, 402254, 697537, 531830, 17331, 640545, 570872, 171370, 448012, 4988, 291014, 404430, 218853, 1007, 38325, 26373, 584853, 920055, 75168, 708907, 664949, 297675, 886141, 800324, 277824, 939222, 57346, 261459, 832715, 365534, 274768, 623335, 883941, 656322, 540414, 382397, 387882, 745389, 692514, 761622, 882572, 563716, 742860, 991520, 246381, 993966, 856983, 70629, 960423, 990321, 131256, 804697, 444266, 664090, 964724, 801963, 343775, 184205, 743416, 433803, 675365, 534013, 891258, 627548, 716820, 608396, 151961, 190350, 420639, 277857, 892743, 546003, 467837, 369699, 817525, 127748, 568559, 841903, 373222, 553615, 935950, 942195, 635530, 61933, 740670, 146044, 900251, 328486, 551967, 501441, 409182, 157759, 515939, 81161, 215882, 96875, 643577, 522083, 438757, 661230, 543206, 730647, 851761, 676952, 300843, 937180, 554938, 500681, 991697, 152040, 776715, 732294, 275614, 500473, 557172, 715757, 75991, 545345, 856822, 464101, 365239, 20298, 842366, 394390, 83585, 793176, 568515, 163634, 339016, 446023, 807613, 825372, 224705, 27249, 813012, 842185, 346717, 780353, 244159, 956472, 719617, 246437, 678331, 580570, 126787}
"YYYNNYNNYYNYYYNNYYYYNNYNNYNNYNNNYYNNYYNNYNYNNNYYNNNNNNYNNYNYYYYNNNYNNYYYNYYNYNYYYYYNYNYYYYYNYYYYNNNNNNNNNYYNNNYNNNNNYYYYYNNYYYYYYNNNNYYYYNNYNNNYYNNYY"
94119130
26
13
2114906959
Returns: 295955678
90754
{394013, 86312, 691274, 239214, 378979, 404004, 197542, 106979, 455525, 669580, 857728, 491939, 691357, 414648, 755919, 244185, 27281, 948057, 340401, 331427, 785756, 369479, 190180, 687422, 643589, 325735, 799947, 446877, 193215, 103716, 15041, 921802, 653093, 619854, 802833, 707466, 793564, 702348, 74689, 715233, 453094, 816972, 559528, 723506, 845704, 423635, 202557, 867597, 598593, 203151, 51194, 85094, 88046, 520163, 152380, 629788, 710760, 377107, 524099, 299224, 793115, 879954, 415536, 231116, 913372, 979389, 458027, 208891, 873725, 294948, 601679, 653934, 752197, 416652, 545321, 346884, 367178, 623586, 430697, 76876, 256651, 608338, 852789, 819489, 369390, 637102, 326362, 315315, 628119, 82996, 145152, 796144, 148426, 246327, 638361, 353468, 283228, 523703, 541562, 98898, 7929, 326698, 295413, 482083, 445317, 452333, 732873, 801778, 367542, 162271, 240396, 734299, 194640, 565381, 656729, 473172, 358004, 137469, 981761, 869885, 867049, 435590, 274845, 878746, 927076, 587404, 271334, 818438, 675531, 811328, 703640, 314453, 153413, 5855, 354291, 120730, 848454, 719374, 701933, 388799, 862682, 856024, 627944, 943693, 20633, 311842, 714906, 396284, 81506, 656152, 626483, 882117, 28596, 74141, 164886, 28420}
{701489, 978043, 9620, 164105, 99995, 725616, 465650, 728114, 222044, 144839, 990611, 946006, 941461, 393454, 566260, 480116, 77715, 105497, 685506, 752077, 983724, 92698, 862499, 733261, 240817, 395162, 969317, 576636, 414371, 1106, 711923, 215613, 911631, 158850, 449057, 694400, 630875, 438868, 213314, 808087, 316849, 665146, 885636, 740665, 33936, 989944, 952110, 427936, 500770, 576029, 894155, 198693, 895820, 500143, 529846, 73310, 736831, 284443, 460192, 550652, 601901, 733072, 732922, 254766, 258847, 406561, 496131, 524155, 145900, 707768, 729963, 861855, 604952, 766722, 393621, 238050, 595650, 272270, 452792, 542681, 15420, 421368, 709360, 974943, 83740, 573781, 299913, 149813, 651414, 178993, 531937, 468754, 942605, 696794, 333337, 564028, 563395, 968380, 423237, 288213, 92783, 473659, 290095, 209146, 729603, 141615, 893796, 79917, 377966, 587246, 58368, 524104, 348465, 638126, 346173, 119597, 460386, 430249, 139496, 848861, 10433, 607003, 573798, 609915, 53614, 477978, 165573, 85224, 342011, 216830, 27401, 748885, 23560, 633368, 448532, 933868, 706847, 901115, 14838, 869953, 398067, 910415, 301357, 97686, 279820, 776679, 203568, 386242, 129994, 930069, 921564, 684102, 592718, 590940, 713950, 631270}
"YYNYNYNNYYNNNYYNNYYNYYYNYNNYYYNYNYNYYNYYNNNNYNNYYNNNNYNNYYNNYNYYYNNNYNYNNYNYYNNYYYNNNYNYNYNYYYNNYYYNNNNNYYNNYNNNYNYNYYYNYNNYNNYNNNNYNYYYNNYYYNNYYNNNNNYYYNNY"
1856078577
359147
1385
29100
Returns: 310809137
94608
{}
{}
""
1989345746
6192
154
2139830567
Returns: 577813092
90164
{}
{}
""
347967853
344
1
1232579
Returns: 0
90443
{636817, 660900, 491349, 409174, 393812, 506584, 383599, 530601, 11358, 822753, 117102, 211679, 706965, 569484, 981408, 255169, 980390, 690472, 513243, 476822}
{903849, 945514, 62745, 388082, 821228, 54194, 956233, 729699, 853200, 191302, 916986, 597203, 635892, 109055, 613700, 692074, 8173, 593360, 370038, 655612}
"NNNYNYNNNNYNYNYNNYYN"
1430969996
35997
435
9452
Returns: 155035742
97950
{}
{}
""
1920094295
107
524068
2147482945
Returns: 996408180
92734
{899214, 815437}
{236790, 546035}
"NY"
947070920
1
1330
1723103361
Returns: 677244876
99788
{383256, 119149, 752769, 607477, 726887, 115755, 843421, 55239, 552526, 106432, 787597, 311296, 552899, 234130, 121401, 468365, 848276, 296428, 12121, 238947, 754380, 257516, 642361, 759618, 386169, 463864, 843911, 452708, 365500, 55762, 690691, 533709, 279314, 214434, 754550, 645294, 64434, 532277, 252534, 768549, 856356, 921701, 239266, 303440, 538776, 623190, 642720, 903087, 25308, 461545, 853609, 145527, 575549, 801779, 39295, 519462, 542257, 696500, 936397, 163078, 181908, 458740, 510235, 402297, 717547, 774748, 977953, 74974, 350367, 298532, 754201, 920562, 82948, 496804, 622193, 861680, 957074, 376682, 102931, 80549, 120819, 705352, 940366, 117760, 671684, 107842, 570625, 841102, 18444, 666523, 406498, 864315, 991808, 30093, 517983, 816857, 72314, 416749, 553124, 788731, 745425, 788272, 851042, 179097, 78223, 762174, 30786, 393298, 564694, 260246, 976608, 946263, 237182, 698218, 812020, 445035, 513016, 916089, 201300, 830689, 38130, 916909, 890182, 674479, 411714, 322249, 81428, 283309, 480225, 922507, 490840, 563071, 24682, 963062, 257313, 240431, 873401, 438408, 16559, 630656, 594074, 761119, 692951, 985832, 814588, 116498, 138879, 103718, 997182, 300729, 354492, 125181, 193831, 453738, 673264, 208519, 553092, 905902, 307937, 279817, 778334, 448897, 486216, 440164, 73696, 161723, 569605, 546444, 194073, 938565, 579163, 943915, 546740, 95384, 791058, 667611, 418384, 934983, 181412, 249096, 151121, 254189, 380745, 44094, 512070, 908043, 540406, 75598, 951181, 780811, 533104, 325671, 5139, 290952, 795895, 23288, 625603, 908512, 534853, 663114, 106380, 59443, 384770, 484846, 519011, 286263, 285718, 295084, 427976, 689979, 774005, 810753, 670951, 946958, 299163, 783318, 368489, 744372, 14344, 738485, 468638, 811252, 180603, 857269, 259955, 344482, 78416, 845267, 131168, 350054, 620183, 445027}
{962927, 25256, 615818, 749648, 325865, 546042, 826816, 196608, 715129, 572741, 397292, 639220, 730130, 297755, 163176, 943640, 7913, 216832, 445635, 938705, 856801, 722062, 920214, 232444, 234204, 2935, 349474, 827163, 748064, 187804, 485792, 481938, 468173, 651280, 634884, 320553, 761434, 665595, 540503, 977830, 506176, 517019, 707929, 233561, 275749, 742113, 932416, 571629, 579458, 701564, 728377, 210155, 530701, 12506, 492853, 693406, 249979, 955608, 129924, 737749, 290921, 107897, 655108, 391036, 380754, 175821, 165472, 898421, 183772, 625077, 419188, 779524, 548129, 212199, 384444, 605105, 541074, 919563, 767673, 627852, 158285, 637193, 33263, 836923, 417455, 763259, 448460, 200018, 293007, 175596, 292750, 264304, 302198, 929395, 675748, 57352, 138602, 714463, 451699, 996850, 434094, 99562, 489689, 710583, 318597, 639602, 30557, 536124, 415548, 417743, 198923, 745221, 330164, 455324, 17898, 387466, 442691, 68165, 406279, 485985, 885920, 706273, 486730, 775538, 265190, 339236, 554019, 876421, 661826, 259997, 909401, 624420, 129753, 514917, 771887, 16454, 871185, 202512, 952614, 230221, 746023, 94080, 863280, 556525, 511964, 136527, 11746, 541756, 468997, 459786, 206290, 797042, 773389, 132241, 441665, 70582, 6499, 870616, 246074, 262449, 740578, 7221, 417098, 254880, 243482, 711505, 71235, 531428, 533216, 939554, 513248, 237796, 246599, 67571, 457461, 289694, 228348, 862576, 314049, 798048, 491729, 337164, 724243, 198691, 709192, 756176, 465134, 801141, 653089, 88099, 157887, 982790, 537047, 491552, 860903, 115205, 77833, 926082, 231759, 890760, 645762, 140844, 218297, 291476, 750706, 121313, 879710, 394822, 883395, 20816, 558519, 332795, 511709, 337341, 55700, 906075, 665273, 287996, 575223, 862728, 611057, 838467, 212246, 988785, 29451, 254360, 543746, 116734, 465904, 86539, 361321, 706398}
"NNNYNNYNNYNNNNNYNYNNNYNYNNYNNYNNNYYYYYNNNNNNNYNYNYNNNNNNYYYYYYNYYYYNNYYNYNNYYYNYYNYYNNNYYYNNYYNYYNNYYYYNYYYNNNNNYYNNNNNYNNYYNYNNNNYNNNNYYYNNNNYYYYNYYYYNNYNYYYNNYNYNYNYNYYNNNYNNYYNYNYYYYYNYYNYNYYNYNNYYNNYYNYYNNYNYYYNNNYNNNNYYNNYNYYYN"
1449505560
29
364077
2145193975
Returns: 268336926
92466
{141234, 594522, 807786, 915285, 657867, 772759, 998164, 457253, 984618, 818133, 679464, 427961, 240443, 47764, 677168, 530667, 749328, 402605, 285930, 301202, 860840, 505344, 289400, 98593, 413748, 6589, 971465, 463896, 136989, 222038, 584883, 39049, 580540, 508834, 527271, 581246, 237206, 362733, 389794, 128025, 441803, 415399, 129766, 922136, 159512, 557403, 850053, 593760, 476901, 665549, 440687, 456803, 205696, 828816, 918780, 885137, 189556, 740178, 584598, 615958, 385719, 148849, 684398, 37514, 570097, 740868, 796384, 952446, 856792, 480509, 407938, 459169, 2634, 742628, 836074, 315015, 354080, 607555, 143777, 896230, 269034, 482386, 996039, 325371, 978783, 210949, 298189, 779794, 773845, 207395, 932231, 979369, 473699, 721127, 909244, 804043, 467034, 281615, 246048, 965994, 599750, 802184, 122232, 661044, 379291, 267715, 615928, 615562, 101635, 730207, 969564, 630582, 309766, 740657, 229557, 890812, 725641, 539347, 572799}
{728798, 855203, 179880, 86640, 227121, 318566, 646071, 623327, 200724, 431434, 801880, 261552, 107405, 954883, 148030, 106819, 848446, 81821, 240519, 306048, 548198, 591099, 647489, 617692, 354560, 188969, 771802, 218687, 424893, 50625, 903905, 30186, 591725, 139102, 433837, 431884, 70616, 124895, 939114, 577533, 246657, 689342, 855196, 7849, 471673, 776853, 400114, 349659, 929078, 332969, 183448, 937314, 882414, 566180, 46026, 999565, 952433, 184845, 858536, 304699, 385391, 124662, 522767, 86908, 166879, 801366, 289289, 943568, 828631, 332366, 198491, 501599, 539735, 906162, 590172, 255416, 980492, 66970, 75163, 749510, 708435, 857853, 175392, 624396, 117693, 952284, 577902, 938170, 191322, 705397, 13710, 786285, 10674, 944503, 368064, 433420, 571044, 525878, 522829, 975227, 38747, 830546, 667199, 687313, 107686, 901619, 943759, 929336, 506051, 942397, 258987, 39394, 44745, 539818, 673071, 817248, 428019, 814454, 455082}
"YNYYYYYNYNNYYYNNNYYYNNNNNYNNNYYYNNNNYNYYNYNYYYNYYYYNYNYNNNNYYNNYYNNYYNNYYNYYYYNNYYNYYNYNYNNNYYYYNNNNYYYYYNNNNNNYNYNNNNN"
1872193993
1403
543
2143729021
Returns: 966766728
99038
{638672, 438585, 169956, 623582, 119339, 495060, 727584, 344305, 203238, 280338, 608101, 229169, 400791, 729968, 870721, 308324, 550454, 574108}
{787046, 573036, 511945, 261465, 656280, 235725, 162956, 244989, 429295, 65463, 425611, 349523, 114796, 697652, 870008, 36661, 673176, 864668}
"YYNNYNNNYNNNNNYNNN"
435009671
332
29575
12041964
Returns: 970395800
94871
{}
{}
""
501366853
804
1136
1
Returns: 473938867
99551
{234697, 900935, 392195, 969524, 290806, 897211, 761802, 159658, 426481, 179102, 55536, 619277, 299119, 17816, 452140, 804459, 815533, 154536, 348783, 713621, 742120, 605449, 615650, 252147, 864935, 374977, 506195, 843073, 239316, 370086, 659743, 981691, 818680, 254473, 369274, 487567, 691925, 861149, 868886, 398033, 735394, 221472, 9278, 435818, 583585, 248915, 300351, 865945, 60601, 981428, 186483, 883901, 470441, 528567, 380209, 323486, 400326, 459057, 376580, 28717, 375180, 203727, 694123, 744675, 956585, 952788, 363551, 584333, 308975, 110511, 63094, 949768, 869033, 919461, 193175, 171293, 741051, 2550, 999135, 6799, 545938, 727095, 705730, 307654, 704537, 614243, 969479, 407466, 802669, 767633, 983167, 237387, 918358, 449376, 330145, 530066, 94334, 269797, 836997, 812498, 251307, 609454, 125919, 597932, 287432, 662947, 317814, 3454, 317848, 171272, 841181, 740723, 792754, 618657, 487670, 618, 889645, 507724, 503521, 724198, 272270, 804998, 245807, 633965, 982394, 986762, 90575, 523036, 793760, 548197, 366950, 485901, 538593, 757619, 912092, 655854, 37493, 853600, 61249, 583168, 62927, 717177, 673820, 175298, 182857, 862660, 700857, 914235, 45132, 628545, 376357, 113868, 988473, 191754, 348298, 320188, 858189, 725718}
{147478, 484579, 371875, 210317, 311466, 340694, 848587, 25760, 877367, 466298, 307020, 965047, 779497, 661951, 156505, 45615, 770895, 973984, 209706, 144797, 20610, 866167, 32165, 332904, 112586, 397412, 947636, 53236, 937755, 643333, 629023, 937190, 151874, 429901, 347364, 924799, 291455, 135701, 206945, 520261, 116865, 55593, 889677, 742091, 831355, 699960, 338285, 618455, 889548, 721533, 27941, 614096, 779805, 126647, 229902, 20166, 130237, 820707, 800542, 386590, 814656, 886044, 902020, 605345, 150393, 815655, 15424, 595349, 807205, 610341, 239624, 108189, 440990, 829800, 49642, 769985, 403102, 947313, 908771, 219219, 869205, 381010, 889983, 479041, 187613, 418332, 318265, 120515, 21312, 115835, 686072, 103211, 228434, 948083, 161242, 546866, 548975, 819132, 20496, 956125, 403774, 876487, 746268, 847075, 49224, 8195, 784334, 612373, 951449, 14111, 496278, 646161, 222460, 437966, 543990, 219512, 951314, 625442, 367310, 440120, 126318, 560540, 973885, 543147, 43106, 805404, 825098, 431215, 52803, 519857, 485897, 807476, 103016, 797354, 644392, 594251, 798322, 63971, 181989, 643932, 124685, 805215, 192217, 92018, 667517, 164967, 600674, 972616, 866741, 783172, 770289, 631551, 254966, 595500, 380110, 612222, 331082, 727929}
"NNYNNNNNNYNNNNYYNNYNNNNYNNYYYNYYNYNNNYNNNYNYYNNYNNNNNYNNNNYYYNYYYNYNNYNNNYYYYYNYNYYNYYYYNNNYYYYYYNYYYNNYNNYYNYNYNYNYYYYNNYYNNYNYNNYYNNYNNNNYYYNYYNNYNNNNNYNYYY"
1568973913
6061
32
131646898
Returns: 24644893
96344
{713813, 793494, 556357, 876627, 482733, 883781, 131854}
{400759, 176286, 372748, 417210, 150549, 50990, 414698}
"YNNNNNN"
1493435669
61780
14467
2091900536
Returns: 960237294
95341
{14164, 199589, 246070, 322482, 668051, 511994, 601028, 14781, 839444, 60003, 672439}
{736864, 862458, 978996, 414294, 985051, 537434, 160964, 448523, 850440, 334220, 608031}
"YNYNYYYNNNY"
1533892259
195
40515
1097032
Returns: 361821821