Problem Statement
Aliens on the planet Htrae have G different bases in their DNA. In this problem, we will number the bases 0 through G-1.
You are given the DNA of an alien specimen: the
During an alien's life their DNA changes: some bases disappear (without changing order of the remaining ones). Hence, the future DNA is always a subsequence of the current DNA. For example, if the current DNA is {10, 20, 30, 40, 50}, one possible future DNA is {10, 40} and another one is {}.
Clearly, the set of possible future DNAs for our specimen is finite. Let I be its infinite complement: the set of DNAs such that our specimen cannot have them.
We are interested in two values:
- L = the length of the shortest DNA in I
- X = the number of DNAs of length L in I, modulo 10^9 + 7
Return { L, X }.
Use the following pseudocode to generate A:
A = Aprefix state = last element of Aprefix while length(A) < N: state = (state * 1103515245 + 12345) modulo 2^31 A.append( state modulo G )
Definition
- Class:
- ShortestMissingSubsequences
- Method:
- count
- Parameters:
- int, int, int[]
- Returns:
- int[]
- Method signature:
- int[] count(int G, int N, int[] Aprefix)
- (be sure your method is public)
Notes
- As usual, the reference solution does not depend on the properties of the pseudorandom generator and it would work within the time limit for any other input of the same size.
Constraints
- G will be between 1 and 10^9, inclusive.
- N will be between 1 and 2,000,000, inclusive.
- Aprefix will have between 1 and 100 elements, inclusive.
- Each element of Aprefix will be between 0 and G-1, inclusive.
Examples
2
4
{1, 0, 0, 1}
Returns: {3, 5 }
The shortest impossible DNAs are {0,0,0}, {0,1,0}, {0,1,1}, {1,1,0}, and {1,1,1}.
5
4
{1, 0, 0, 1}
Returns: {1, 3 }
The shortest impossible DNAs are {2}, {3}, and {4}.
7
7
{0, 1, 2, 3, 4, 5, 6}
Returns: {2, 28 }
The shortest impossible DNAs have the form {x, y} where x >= y.
7
14
{0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6}
Returns: {2, 21 }
The shortest impossible DNAs have the form {x, y} where x > y.
3
10
{1, 2, 0}
Returns: {3, 6 }
The sequence A you should generate is {1, 2, 0, 0, 1, 2, 1, 2, 2, 2}. The six DNAs of length 3 this alien cannot have are {0, 0, 0}, {0, 1, 0}, {0, 2, 0}, {1, 1, 0}, {2, 1, 0}, and {2, 2, 0}.
100
2000000
{0}
Returns: {3904, 340850945 }
1
1946117
{0, 0, 0, 0, 0, 0, 0, 0, 0}
Returns: {1946118, 1 }
2
1913429
{1}
Returns: {956715, 1 }
2
1963118
{0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0}
Returns: {981547, 224929465 }
2
1971230
{0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1}
Returns: {985610, 35 }
2
1983628
{0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1}
Returns: {991803, 48 }
2
1907899
{1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1}
Returns: {953947, 48 }
2
1952050
{0, 1, 1, 0, 1, 1, 0, 1, 0, 1}
Returns: {976025, 2 }
2
1981881
{0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1}
Returns: {990941, 1981879 }
2
1980035
{0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0}
Returns: {990006, 6 }
2
1982228
{1, 1, 0, 0}
Returns: {991114, 1 }
2
1937889
{0, 1, 0, 0, 1, 1, 0, 0, 1, 1}
Returns: {968945, 2906825 }
3
1917512
{1, 2, 0, 2, 1, 2, 2, 1, 1, 0, 1, 1, 1, 1, 1, 0, 2, 2, 2, 2, 1, 0, 1, 1, 0, 0}
Returns: {348669, 462975250 }
3
1951526
{1, 1, 2, 0, 1, 2, 2, 2, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 2}
Returns: {354826, 634304046 }
3
1973979
{1, 2}
Returns: {358959, 854142996 }
3
1927918
{1, 1, 0, 1, 1, 0, 2, 2, 2, 1, 1, 2, 1, 0, 0, 0, 1, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 1, 1, 0, 0, 1, 2, 2, 1, 2, 1, 0, 0, 1, 2, 2, 1, 0, 2, 1, 1, 1, 2, 2, 1, 2, 0, 1, 1, 1, 0, 2, 1, 1, 0, 1, 0, 0, 2, 2, 2, 0, 0}
Returns: {350563, 712670146 }
3
1973551
{0, 0, 1, 1, 1, 2, 1, 2, 2, 0, 0, 2, 2, 2, 1, 2, 2, 1, 1, 2, 2, 0, 0, 0, 2, 0, 2, 2, 0}
Returns: {358762, 85536702 }
3
1909241
{0, 0, 2}
Returns: {347095, 894149581 }
3
1916683
{1, 2, 2, 1, 2, 2, 1, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 0, 2, 2, 1, 0, 1, 1, 0, 2, 0, 2, 0, 1, 2, 1, 2, 2, 2, 0, 0, 1, 1, 0, 2, 0, 1, 1, 2, 1, 0, 1, 1, 1, 1}
Returns: {348658, 337977683 }
3
1986141
{0, 2, 0, 2, 0, 1, 2, 0, 1, 2, 2, 1, 0, 2, 1}
Returns: {361337, 254456644 }
3
1914617
{0, 2, 0, 2, 2, 2, 1, 2, 2, 2, 0, 2, 0, 0, 1, 1, 0, 1, 2}
Returns: {348082, 625218850 }
3
1996111
{0, 0, 1, 2, 2, 0, 1, 1, 2, 2, 0, 1, 0, 0, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 1, 2, 1, 0, 1, 1, 2, 2, 0, 1, 1, 2, 2, 2, 2, 1, 2, 0, 2, 0, 1, 1, 1, 0, 0, 2, 0, 1, 1, 1, 0, 1, 0, 0, 1, 2, 2, 0, 0, 2, 1, 1, 0, 1, 2, 0, 2, 2, 0, 0, 1, 1, 0, 1, 0, 0, 0, 2, 2, 2, 0, 2, 0, 2, 1, 1, 1, 1, 0}
Returns: {362869, 42535438 }
4
1911937
{2, 3, 1, 0, 0, 2, 3, 1, 0, 2, 2, 3, 2, 0, 0, 2, 3, 1, 3, 2, 2, 3, 1, 2, 1, 1, 1, 1, 0, 0, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 3, 0, 0, 3, 3, 3, 2, 0, 3, 2, 2, 2, 1, 3, 0, 2, 3, 2, 3, 2, 1, 1, 1, 2, 1, 2, 0, 1, 3, 0, 2, 0, 2, 2, 3, 1, 3, 3, 0, 0, 1, 3, 3, 1, 1, 0, 3, 3, 0}
Returns: {477972, 3823704 }
4
1973123
{3, 3, 1, 1}
Returns: {493281, 542447657 }
4
1999278
{2, 2, 1, 3, 2, 3, 2, 2, 0, 1, 2, 1, 0, 1, 1, 3, 0, 2, 1, 2, 0, 2, 1, 2, 2, 1, 1, 0, 1, 0, 1}
Returns: {499815, 906766523 }
4
1979149
{0, 2, 0, 2, 1, 0, 3, 2, 0, 2, 1, 3, 1, 1, 1, 1, 2, 2, 3, 0, 2, 1, 0, 3, 1, 2, 3, 1, 3, 0, 2, 1, 3, 1, 1, 1, 0, 1, 2, 3, 2, 2, 0, 2, 1, 0, 3, 2, 1, 2, 3, 1, 1, 2, 3, 2, 2, 0, 2, 0, 0, 3, 3, 1, 3, 3, 1, 3, 3, 1, 2, 3, 2, 2, 0, 3, 3, 1, 0, 3, 1, 1, 0}
Returns: {494779, 665283396 }
4
1933689
{0, 2, 3, 2, 1, 2, 0, 0, 1, 1, 2, 2, 0, 3, 2, 2, 2, 1, 0, 2, 3, 1, 0, 2, 1, 3, 2, 1, 2, 1, 1, 2, 1, 2, 3, 0, 2, 2, 1, 3, 1, 1, 1, 0, 2, 1, 3, 2, 0, 0, 1, 1, 0, 1, 3, 3, 2, 2, 0, 2, 2, 3, 0, 0, 2, 2, 1, 1, 1, 3}
Returns: {483415, 649785025 }
4
1972202
{1, 0, 1, 0, 2, 1, 2, 1, 1, 3, 2, 1, 3, 1, 3, 1, 0, 3, 3, 1, 3, 0, 3, 0, 3, 1, 3, 1, 0, 1, 3, 0, 2, 3, 2, 2, 3, 1, 0, 1, 1, 3, 3, 3, 3, 3, 1, 3, 2, 0, 2, 0, 2, 3, 2, 1, 0, 1, 0, 2, 2, 1, 2, 2, 1, 1, 1, 0, 1, 2, 0, 1, 1, 3, 2, 0, 1, 1, 2, 3, 2, 0, 2, 2, 0, 2, 2, 3, 3, 1}
Returns: {493038, 865969723 }
4
1947643
{1, 0, 0, 0, 3, 3, 1, 1, 2, 0, 1, 1, 3, 3, 3, 0, 3, 1}
Returns: {486909, 858707431 }
4
1967184
{2, 1, 3, 3, 1, 1, 1, 1, 2, 0, 1, 3, 1, 2, 3, 3, 3, 0, 1, 3, 3, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 2, 2, 3, 2, 0, 0, 2, 3, 0, 2, 3, 3, 1, 0, 2, 2, 3, 0, 3, 0, 3, 0, 1, 2, 1, 1, 1, 1, 3, 0, 2, 0, 3, 1, 0, 1, 2, 1, 2, 2, 1, 2, 2}
Returns: {491786, 388299711 }
4
1916656
{3, 3, 2, 1, 3, 0, 0, 3, 1, 0, 0, 1, 0, 0, 1, 0, 1, 3, 0}
Returns: {479161, 3 }
4
1908396
{3, 0, 0, 1, 2, 1, 1, 2, 1, 1, 0, 3, 1, 3, 0, 0, 1, 3, 0, 2, 1, 2, 2, 1, 0, 2, 0, 1, 0, 2, 2, 3, 2, 0, 2, 2, 1, 1, 1, 0, 3, 1, 2, 3, 3, 0, 0, 2, 3, 0, 0, 2, 1, 2, 2, 0, 1, 3, 3, 2, 1, 2, 2, 3, 1, 3, 1, 3, 3, 1, 0, 2}
Returns: {477091, 85205210 }
7
1905828
{0, 0, 2, 1, 3, 3, 6, 1, 4, 0, 5, 0, 4, 2, 2, 4, 0, 2, 2, 6, 2, 2, 1, 0, 5, 2, 0, 3, 4, 4, 3}
Returns: {105195, 473436740 }
7
1987439
{4, 3, 1, 2, 0, 3, 3, 4, 5, 2, 1, 5, 1, 6, 6, 0, 1, 0, 6, 2, 5, 6, 3, 3, 1, 1, 0, 5, 2, 6, 4, 6, 4, 1, 4, 0, 2, 2, 1, 3, 0, 0, 1, 4}
Returns: {109471, 851485826 }
7
1923501
{5, 4, 6, 1, 4, 0, 3, 2, 2, 0, 5, 6, 5, 4, 4, 2, 5, 1, 4, 6, 0, 5, 4, 4, 2, 6, 4, 2, 5, 3, 4, 4, 2, 2, 1, 2, 1, 5, 5, 2, 3, 6, 6, 6, 5, 2, 5, 5, 6, 1, 1, 6, 2, 4, 0, 3, 1, 4, 2, 3, 0, 0, 0, 4, 3, 6, 6, 6, 4, 6, 1, 5, 1, 6, 1, 3, 0, 1, 2, 5, 3, 1, 3, 5, 0, 5, 4, 3, 1, 0}
Returns: {106106, 225682195 }
7
1902625
{4, 1, 3, 0, 1, 4, 5, 3, 2, 1, 0, 1, 1, 3, 2, 4, 3, 6, 5, 6, 6, 3, 3, 3, 0, 1, 1, 1, 2, 4, 6, 5, 4, 2, 6, 1, 5, 0, 6, 5, 6, 0}
Returns: {104948, 611240919 }
7
1916699
{1, 1, 0, 0, 5, 2, 1, 0, 4, 6, 1, 0, 5, 2, 5, 2, 2, 3, 6, 6, 5, 6, 1, 3, 6, 5, 3, 1, 5, 1, 4, 6, 3, 0, 1, 1, 3, 6, 1, 3, 2, 0, 0, 4, 3, 1, 2, 6, 1, 2, 4, 5, 6, 2, 5, 4, 3, 1, 6, 2, 0, 4, 2, 6, 4, 5, 6, 1, 5, 1, 4, 3, 3, 6, 1, 1, 6, 5, 2, 0, 6, 6}
Returns: {105558, 203071809 }
7
1982754
{3, 0, 2, 4, 5, 0, 3, 0, 0, 2, 2, 5, 1}
Returns: {109411, 868322821 }
7
1948169
{2, 1}
Returns: {107490, 693536681 }
7
1927689
{1, 2, 1, 3, 6, 0, 5, 0, 1, 6, 4, 4, 4, 3, 2, 2, 3, 3, 3, 6, 3, 4, 1, 6, 0, 3}
Returns: {106406, 264000323 }
7
1977704
{6, 4, 3, 2, 2, 3, 1, 4, 5, 4, 4, 1, 3, 3, 6, 5, 0, 2, 6, 2, 4, 1, 6, 3, 1, 6, 1, 0, 3, 5, 3, 4, 1, 3, 0, 2, 1, 1, 2, 5, 4, 4, 6, 6, 1, 0, 3, 5, 6, 0, 4, 4, 2, 4, 4, 2, 2, 5, 4, 3, 6, 4, 0, 4, 4}
Returns: {108936, 638825590 }
7
1924202
{0, 1, 0, 2, 4, 2, 3, 4, 6, 5, 0, 6, 0, 4, 4, 6, 5, 2, 5, 3, 2, 6, 2, 2, 5, 1, 3, 6, 6, 4, 5, 5, 1, 4, 6, 4, 4, 1, 2, 2, 0, 4, 3, 2, 4, 6, 4, 3, 5, 4, 6, 4, 5, 6, 5, 6, 3, 4, 6, 4, 5, 0, 2, 2, 3, 2, 6, 4, 5, 5, 6, 3, 1, 1, 6, 6, 3, 3, 5, 5, 6, 3, 0, 2, 3, 0, 4, 5, 6, 2, 5, 2, 6, 4, 4, 1, 6}
Returns: {105957, 462257054 }
15
1911161
{1, 0, 2, 4, 14, 11, 5, 6, 1, 3, 14, 9, 9, 4, 3, 5, 1, 8, 3, 12, 14, 12, 7, 12, 13, 2, 1, 7, 0, 3, 13, 1, 5, 0, 14, 7, 1, 12, 14, 11, 11, 8, 1, 7, 12, 14, 12, 11, 3, 2, 1, 2, 1, 13, 3, 3, 2, 9, 14, 12, 11, 10, 14, 3, 14, 6, 11, 8, 14, 7, 6, 0, 12, 8}
Returns: {38473, 434407048 }
15
1922239
{12, 8, 9, 0, 10, 5, 1, 4, 8, 7, 12, 7, 13, 6, 3, 7, 3, 4, 9, 8, 2, 10, 12, 13, 12}
Returns: {38667, 270368443 }
15
1950799
{9, 12, 9, 2, 11, 9, 14, 2, 4, 0, 0, 12, 8, 8, 10, 14, 11, 3, 3, 9, 1, 10, 6, 13, 8, 3, 8, 0, 14, 14, 8, 2, 3, 11, 7, 6, 1, 8, 12}
Returns: {39237, 14009380 }
15
1968972
{12, 9, 9, 12, 2, 10, 11}
Returns: {39610, 898610371 }
15
1950179
{5, 4, 13, 6, 7, 1, 4, 14, 4, 4, 7, 9, 13, 9, 1, 13, 11, 5, 12, 8, 5, 5, 7, 3, 0, 9, 0, 0, 11, 7, 8, 7, 10, 8, 14, 4, 6}
Returns: {39219, 425767621 }
15
1943807
{2, 10, 1, 10, 12, 1, 5, 3, 4, 14, 13, 7, 14, 11, 4, 9, 5, 11, 13, 14, 5, 3, 3, 3, 13, 14, 2, 13, 14, 2, 3, 7, 5, 9, 4, 2, 13, 6, 10, 5, 9, 13, 6, 1, 13, 1, 6, 14, 11, 0, 0, 3, 6, 2, 10, 11, 10, 10, 10, 7, 1, 0, 3, 10, 0, 3, 1, 13, 6, 6, 11, 13, 3, 3, 9, 13, 2, 7, 8, 7, 12, 1}
Returns: {39112, 963486698 }
15
1920920
{1, 10, 14, 6, 10, 9, 12, 6, 4, 13, 8, 2, 2, 10, 3, 5, 8, 5, 4, 1, 2, 8, 10, 13, 14, 1, 3, 9, 4, 5, 7, 11, 13, 10, 2, 10, 8, 7, 9, 6}
Returns: {38652, 238122484 }
15
1912881
{11, 11, 8, 0, 2, 7, 12, 14, 9, 4, 12, 13, 9, 10, 6, 7, 8, 6, 10, 8, 8}
Returns: {38510, 412755189 }
15
1954281
{14, 13, 14, 3, 8, 13, 4, 2, 6, 9, 14, 1, 1, 11, 12, 12, 5, 6, 3, 3, 6, 11, 13, 12, 12, 0, 2, 1, 13, 12, 9, 2, 14, 5, 13, 5, 10, 6, 4, 13, 11, 9, 0, 7, 6, 13, 11, 0, 14, 11, 11, 12, 8, 0, 0, 11, 0, 9, 1, 0, 1, 8, 14, 1, 14}
Returns: {39173, 439685210 }
15
1970324
{0, 8, 2, 4, 13, 8, 7, 0, 1, 13, 8, 9, 8, 9, 12, 9, 4, 14, 13, 12, 7, 2, 14, 3, 3, 12, 14, 5, 13, 11, 12, 1}
Returns: {39644, 868020103 }
33
1987987
{31, 7, 1, 29, 28, 1, 2, 31, 29, 13, 7, 25, 20, 27, 23, 10, 18, 26, 30, 15, 18, 29, 21, 24, 19, 27, 21, 28, 0, 9, 15, 22, 14, 7, 19, 5, 30, 20, 6, 20, 0, 25, 12, 17, 15, 8, 2, 3, 19, 8, 31, 19, 6, 31, 27, 12, 26, 7, 23, 25, 29, 11, 17, 18, 2, 18, 15, 2, 18, 21, 1, 31, 24, 17, 26, 11, 7}
Returns: {14735, 139661272 }
33
1977632
{24}
Returns: {14671, 43417864 }
33
1985057
{23, 5, 12, 28, 32, 9, 15, 22, 30, 25, 23, 27, 18, 25, 10, 11, 13, 31, 22, 16, 26, 22, 24, 16, 10, 25, 3, 2, 24, 28, 20, 2, 17, 24, 24, 14, 24, 14, 23, 1, 7, 18, 7, 7, 26, 25, 16, 23, 24, 23, 3, 21, 27, 10, 32, 10, 26, 1, 16, 16, 22, 3, 31, 15, 6, 19, 4, 27, 31}
Returns: {14687, 357504513 }
33
1972196
{24, 22, 32, 12, 29, 13, 24, 30, 21, 15, 24, 17, 25, 24, 6, 23, 0, 0, 14, 17, 2, 7, 28, 21, 29, 15, 27, 0, 17, 28, 24, 20, 10, 23, 20, 23, 22, 14, 21, 16, 26, 2, 12, 18, 3, 11, 25, 5, 17, 30, 7, 3, 3, 9, 18, 10, 30, 24, 32, 5, 15, 31, 20, 27, 14, 14, 18, 19}
Returns: {14641, 784513060 }
33
1915505
{31, 4, 12, 25, 30, 27, 13, 16, 16, 2, 24, 24, 18, 10, 0, 26, 20, 4, 11, 16}
Returns: {14214, 196858632 }
33
1954659
{9, 8, 28, 12, 13, 24, 27, 17, 7, 18, 18, 29, 31, 3, 1, 12, 0, 27, 1, 6, 26, 10}
Returns: {14533, 411294308 }
33
1958092
{29, 20, 26, 29, 28, 7, 31, 14, 16, 3, 0, 25, 3, 32, 1, 32, 6, 8, 2, 29, 15, 20, 29, 23, 28, 23, 4, 26, 28, 17, 7, 20, 0, 31, 20, 29, 7, 12}
Returns: {14515, 357285079 }
33
1957860
{15, 12, 17, 11, 31, 28, 13, 29, 20}
Returns: {14550, 735720560 }
33
1935727
{32, 11, 28, 23, 14, 3, 0, 18, 11, 30, 11, 31, 18, 32, 9, 28, 23, 31, 12, 5, 15, 26, 6, 15, 20, 0, 3, 32, 20, 6, 3, 3, 28, 21, 31, 23, 8, 7, 15, 8, 3, 4, 15, 16, 8, 8, 15, 7, 23, 20, 25, 26, 25, 25, 12, 15, 25, 26, 16, 8, 26, 11, 31, 14, 11, 28, 1, 8, 1, 2, 3, 12, 20, 11, 22, 25, 21, 13, 7}
Returns: {14343, 317944095 }
33
1956165
{10, 5, 20, 24, 6, 32, 12, 6, 19, 17, 10, 22, 19, 17, 24, 0, 17, 0, 19, 26, 9, 17, 5, 21, 27, 28, 30, 21, 8, 22, 6, 7, 11, 21, 18, 25, 4, 7, 1, 30, 30, 23, 9, 10, 25}
Returns: {14488, 18955191 }
124
1974351
{119, 111, 98, 93, 76, 42, 23, 115, 51, 101, 68, 26, 31, 0, 57, 26, 71, 116, 11, 101, 113, 69, 41, 8, 121, 74, 117, 106, 118, 1, 9, 29, 65, 12, 61, 48, 99, 71, 80, 16, 77, 44, 90, 39, 1, 66, 41, 54, 61, 19, 118, 96, 3, 77, 14, 36, 100, 94, 33, 68, 67, 9, 6, 48, 79, 119, 111, 9, 15, 6, 75, 114, 107, 81, 69, 12, 122, 39, 14, 57, 101, 61, 75, 80, 41, 26, 58, 42, 95, 30, 21, 44, 7, 14}
Returns: {2984, 583834595 }
124
1920582
{10, 33}
Returns: {2870, 550115261 }
124
1974655
{30, 61, 115, 38, 66, 100, 55, 108, 86, 19, 36, 108, 73, 40, 97, 55, 81, 33, 103, 8, 121, 73, 59, 46, 111, 104, 22, 96, 113, 46, 6, 46, 82, 109, 65, 27, 7, 2, 0, 29, 64, 39, 74, 87, 34, 86, 94, 97, 13, 87, 106, 100, 2, 110, 25, 67, 58, 98, 83, 30}
Returns: {2975, 689687567 }
124
1931044
{53, 83, 100, 45, 44, 67, 35, 57, 32, 39, 32, 73, 85, 22, 82, 38, 122, 29, 69, 75, 66, 97, 5, 91, 117, 35, 121, 102, 19, 96, 70, 65, 113, 41, 100, 5, 57, 105, 92, 120, 94, 10, 1, 117, 72, 8, 122, 37, 30, 85}
Returns: {2928, 756124453 }
124
1997373
{26, 29, 14, 90, 10, 102, 43, 22, 65, 66, 84, 35, 110, 20, 115, 34, 53, 10, 50, 108, 53, 95, 123, 37, 13, 9, 3, 25, 70, 77, 23, 110, 65, 62, 45, 71, 45, 41, 55, 0, 32, 7, 117, 43, 77, 113, 4, 115, 5, 13, 52, 38, 108, 63, 52, 50, 100, 49, 32, 123, 86, 70, 93, 36, 104, 79, 19, 37, 122, 29, 30, 95, 50, 88, 46, 119, 58, 59, 120, 57, 103, 59, 40, 73, 101, 25, 41, 2}
Returns: {3049, 192225130 }
124
1941229
{100, 64, 35, 105, 11, 12}
Returns: {2933, 438649229 }
124
1996785
{75, 49, 71, 60, 60, 64, 69, 32, 48, 57, 45, 84, 70, 70, 9, 80, 47, 51, 110, 110, 34, 122, 12, 71, 96, 69, 79, 57, 17, 75, 60, 19, 88, 83, 99, 71, 45, 6, 37, 63, 111, 62, 20, 97, 74, 17, 60, 93, 97, 120, 4, 31, 68, 95, 50, 76, 97, 36, 34, 5, 57, 6, 121, 35, 106, 13, 100, 69, 20, 86, 78, 122, 122, 70, 2, 43, 58, 117, 58, 26, 57, 5, 52, 55, 114, 2, 34, 29, 43, 40, 20, 77, 62, 114, 67, 54, 74, 86, 38}
Returns: {3024, 820222595 }
124
1942111
{44, 116, 104, 66, 75, 5, 61, 63, 36, 9, 110, 82, 57, 20, 25, 33, 7, 64, 65, 44, 44, 38, 22, 15, 26, 40, 98, 106, 17, 74, 51, 20, 49, 103, 54, 69, 62, 28, 39, 12, 20, 40, 14, 56, 33, 19, 88, 33, 32, 77, 118, 92, 96, 12, 55, 41, 23, 117, 104, 115, 9, 29, 16, 115, 20, 93, 29, 4, 67, 96, 0, 42, 73, 98, 7, 107, 16, 11}
Returns: {2921, 382122956 }
124
1935848
{80, 6, 46, 0}
Returns: {2933, 684185043 }
124
1995436
{34, 37, 120, 121, 0, 113, 22, 58, 26, 123, 30, 40, 112, 122, 49, 119, 97, 39, 96, 15, 97, 104, 13, 117, 10, 109, 57, 1, 111, 22, 37, 23, 10, 85, 74, 116, 69, 43, 10, 90, 62, 56, 31, 62, 33, 96, 70, 74, 94, 41, 39, 5, 3, 49, 98, 41, 107, 24, 73, 21, 21, 74, 15, 52, 113, 62, 111, 21, 12, 10, 121, 12, 68, 74}
Returns: {3013, 951657856 }
1352
1985212
{711, 44, 1073, 575, 1170, 1124, 1055, 1142, 374, 1021, 30, 944, 139, 1325, 500, 551, 230, 748, 698, 590, 1315, 951, 1080, 220, 1020, 498, 68, 28, 1275, 993, 895, 170, 53, 341, 857, 1149, 593, 116, 572, 513, 121, 519, 252, 216, 1077, 1316, 560, 901, 358, 1150, 373, 331, 949, 168, 1055, 98, 1042}
Returns: {188, 560889612 }
1352
1946786
{789, 104, 235, 1127, 768, 620, 1156, 993, 654, 1299, 163, 523, 751, 353, 1263, 183, 644, 552, 376, 1192, 909, 61, 835, 828, 870, 1001, 1096, 841, 1021, 434, 1042, 892, 69, 1301, 869, 1301, 435, 2, 787, 922, 606, 569, 725, 346, 1295, 149, 589, 203, 595, 861, 1332, 124, 992, 249, 1060, 857, 74, 49, 322, 436, 238, 336, 1118, 817, 222, 694, 34, 485, 394, 961, 335, 981, 379, 526, 110, 80, 378, 1120, 339, 325, 1059, 407, 339, 1033, 965, 296, 849, 402}
Returns: {185, 168213170 }
1352
1972344
{1104, 263, 1074, 458, 564, 271, 266, 414, 1086, 736, 915, 1290, 88, 206, 675, 581, 109, 140, 931, 723, 427, 909, 1118, 421, 384, 1236, 1264, 1037, 320, 1044}
Returns: {188, 398958185 }
1352
1933866
{1189, 248, 1261, 673, 443, 587, 632, 1219, 155, 59, 650, 777, 49, 274, 873, 362, 180, 922, 757, 217, 1043, 1238, 1265, 565, 488, 719, 38, 1231, 320, 672, 1068, 1056, 866, 1193, 336, 60, 393, 93, 995, 278, 962, 1302, 1317, 185, 1255, 14, 1212, 1256, 103, 207, 947, 621, 244, 835, 1074, 1163, 472, 79, 865, 195, 894, 307, 1149, 1314, 738, 911, 328, 948}
Returns: {179, 883309385 }
1352
1954722
{417, 328, 820, 1070, 436, 860, 1299, 876, 451, 781, 1220, 311, 1288, 113, 937, 398, 587, 1062, 553, 259, 786, 147, 549, 250, 507, 1213, 593, 1225, 758, 440, 693, 493, 430, 97, 1049, 436, 1181, 292, 536, 590, 450, 55, 1187, 678, 961, 540, 31, 746, 1017, 1116, 1340, 1113, 505, 566, 230, 1180, 986, 1036, 1259, 348, 253, 955, 103, 443, 1193, 1066, 673, 1042, 1346, 86, 679, 780, 974, 170, 895, 561, 1153}
Returns: {187, 91982828 }
1352
1909535
{372, 1309, 851, 199, 1196, 1078, 1332, 1300, 160, 904, 297, 795, 1284, 1213, 1105, 724, 1293, 874, 46, 970, 878, 372, 398, 854, 744, 470, 127, 1146, 84, 131, 837, 1213, 403, 538, 792, 756, 669, 562, 529, 1099, 536, 793, 204, 996}
Returns: {182, 222162927 }
1352
1927710
{523, 484, 748, 939, 418, 116, 775, 148, 1020, 792, 433, 1270, 96, 1234, 621, 234, 457, 54, 875, 443, 449, 417, 1043, 1131, 436, 171, 167, 400, 163, 132, 764, 593, 584, 897, 1150, 325, 1123, 784, 954, 737, 905, 26, 721, 544, 1140, 983, 133, 701, 1005, 535, 1281, 1351, 1247, 539, 984, 1069, 833, 1185, 590, 1186}
Returns: {190, 120826749 }
1352
1906832
{711, 772, 1303, 1158, 27, 841, 1216, 1157, 1001, 137, 591, 699, 1080, 383, 386, 613, 802, 205, 227, 268, 713, 685, 688, 377, 386, 1278, 6, 119, 220, 1258, 203, 935, 1167, 24, 186, 69, 140, 957, 424, 441, 545, 504, 946, 528, 417, 413, 1079, 1294, 453, 787, 402, 1240, 214, 516, 884, 801, 364, 402, 285, 1147}
Returns: {181, 373014023 }
1352
1957365
{559, 1265, 973, 1078, 118, 231, 1045, 238, 486, 1150, 794, 1158, 1240}
Returns: {184, 22279656 }
1352
1970242
{320, 576, 1177, 113, 1260, 1088, 693}
Returns: {186, 655346339 }
17542
1952847
{5745, 11473, 2646, 10094, 16283, 42, 3241, 16694, 12986, 1144, 7175, 13814, 7154, 8853, 13333, 14664, 2248, 1649, 8301, 14019, 296, 10942, 4535}
Returns: {12, 699551075 }
17542
1984360
{2635, 9666, 12728, 14813, 13862, 10646, 7661, 16187, 9723, 7668, 2528, 11342, 9085, 475, 17095, 10203, 12406, 16626, 11840, 5511, 4064, 15251, 16754, 15045, 8561}
Returns: {11, 3241392 }
17542
1947136
{9618, 8185, 17255, 10212, 7752, 12945, 10410, 13337, 12980, 8012, 7147, 1829, 6727, 8215, 9849, 7753, 4445, 12274, 9420, 11933, 15481, 6072, 2404, 1255, 9853, 16789, 9585, 3885, 16663, 7934, 8272, 3525, 2454, 9452, 16369, 12487, 6682, 4963, 6431, 4823, 3430, 100, 7695, 10856, 7592, 5012, 11326, 3605, 4300, 14016, 11168, 8639, 16510, 15740, 14341, 13894, 14367, 15034, 16725, 8573, 5505, 7326, 4483, 12843, 16471, 4338, 4231, 9961, 2505, 5874, 4016, 17454, 2664, 1542, 15655, 14810, 10696, 12561, 4279, 14988, 585, 15733, 11285, 13033, 16602, 175, 16590, 12522, 13603, 13419, 1509, 7395, 10095, 2174, 13273, 2249, 12734, 7429, 2274}
Returns: {11, 382513590 }
17542
1902351
{9428, 15508, 6504, 3205, 4432, 14485, 9938, 8040, 12314, 3600, 668, 6229, 11001, 6651, 472, 11328, 4693, 9292, 15529, 1558, 7251, 6933, 14267, 5677, 6788, 10536, 15342}
Returns: {11, 151350251 }
17542
1902661
{6008, 13121, 4421, 9623, 14869, 7939, 5331, 8086, 13592, 15875, 4196, 5612, 12730, 4892, 6577, 10187, 7990, 10475, 6242, 8268, 12866, 8126, 8097, 15283, 13032, 4422, 2574, 4756, 12300, 13224, 15308, 13003, 4118, 15055, 6246, 16958, 12454, 13254, 10808, 14448, 5424, 4288, 6690, 4233, 7677, 1210, 12359, 3158, 6496, 16279, 17431, 11981, 2672, 13826, 5865, 3405, 13431, 5939, 11110, 13052, 10345, 13304, 16746, 12441, 4704}
Returns: {11, 123001286 }
17542
1984227
{4001, 7458, 5609, 15364, 11456, 2282, 8254, 10882, 10880, 14870, 8326, 7884, 2218, 5829, 3040, 676, 14760, 1054, 9404, 5344, 12762, 16512, 4179, 12228, 11056, 11104, 4715, 10344, 11341, 852, 12373, 11351, 10970, 11273, 11104, 10772, 4187, 9074, 17298, 4355, 17220, 16598, 13534, 11021, 9008, 960, 10889, 5274, 3170, 1655, 5679, 9539, 10740, 2256, 1950, 13444, 17275, 2062, 10483}
Returns: {11, 4528 }
17542
1997060
{5311, 15387, 951, 14488, 8029, 13465, 8692, 13529, 640, 2299, 17245, 5828, 8072}
Returns: {12, 620523446 }
17542
1997186
{8355, 4463, 4038, 16768, 9536, 4140, 11915, 17379, 7340, 13142, 7026, 7636, 4999, 14377, 4544, 8828, 1240, 16321, 6062, 15381, 16310, 9079, 1471, 11443, 10760, 13407, 5422, 11867, 5814, 13240, 7747, 9086, 14834, 13012, 4246, 5730, 5318, 15425, 13509, 9990, 5284, 5906, 14394, 11095, 8110, 16678, 2519, 9250, 59, 10937, 7850, 5187, 162, 12728, 13790, 7942, 585, 6440, 4645, 7334, 1284, 1992, 15942, 17413, 2307, 10826, 13575, 7354, 3992, 1232, 4662, 2359, 8520, 4262, 9387, 12443, 13956, 10671, 13601, 5020, 17111, 17049, 11729, 510, 11968, 738, 11378, 14606, 9124, 10630}
Returns: {11, 38850 }
17542
1959955
{11223, 4456, 13762, 4672, 14029, 14598, 16383, 8988, 1687, 3288, 297, 16403, 12174, 1216, 10233, 6643, 4044, 15735, 15468, 16853, 5991, 11877, 6460, 11849, 8464, 5222, 2267}
Returns: {12, 357831377 }
17542
1902897
{13667, 14686, 2193, 1466, 9461, 587, 625, 17013, 10092, 90, 937, 3860, 9801, 10293, 11978, 4156, 8370, 1676, 6951, 14210, 1977, 8913, 10197, 831, 5527, 8472, 4387, 4851, 13057, 6245, 15164, 10801, 1900}
Returns: {11, 25712 }
267812
1974193
{31385, 120808, 160213, 19513, 113049, 257140, 170699, 192120, 192741, 85385, 20760, 95064, 129050, 79616, 59868, 215192, 67829, 227550, 147275, 152909, 199916, 43524, 132068, 152189, 194457, 61855, 77339, 202547, 264537, 48833, 87525, 87007, 159034, 157698, 98559, 165139, 190056, 174796, 140832, 209658, 169911, 209730, 176297, 227467, 118653, 16056, 166049, 207134, 264937, 148453, 122684, 193731, 184752, 1602, 227254, 166765, 241256, 170326, 24231, 166763, 105435, 136493, 46729, 59758, 52822, 127156, 122997, 203682, 117378, 56298, 110785, 83652, 12473, 20319, 211799, 108079, 12475, 117406, 123097, 154497, 34011, 99851}
Returns: {1, 172 }
355449
1977085
{329955, 112374, 296272, 275395, 209103, 4064, 342263, 273532, 104280, 266496, 311373, 309933, 116545, 57660, 224951, 246739, 161913, 123304, 42679, 302363, 200727, 209194, 88593, 90727, 140292, 186238, 101438, 207021, 247573, 25375, 295937, 108631, 354376, 314452, 228073, 48512, 139432, 253762, 19058, 322979, 250648, 234769, 40938, 349016, 253755, 77763, 216983, 100812, 273818, 245426, 153670, 352374}
Returns: {1, 1416 }
263240
1998307
{12947, 145030, 76627, 136447, 80975, 863, 73286, 33181, 118938, 176557, 263091, 81344, 162944, 262213, 16871, 230441, 240235, 133177, 159377, 160144, 26107, 125490, 139920, 229881, 130292, 245190, 22838, 27375, 6977, 129447, 212825, 188248, 104800, 145452, 26590, 169975, 186721, 219943, 114518, 153527, 121773, 62669, 129020, 134288, 15900, 22114, 171525, 118177, 22942, 80024, 237512, 144831, 80501, 30472, 131401, 261492, 85839, 22599, 244243, 81071, 143238, 223833, 105524, 93365, 81039, 13233}
Returns: {1, 135 }
194240
1915026
{8653, 193066, 105126, 166589, 89150, 63056, 189885, 136446, 19969, 24418, 56889, 152954, 132468, 79420, 165866, 116106, 92081, 121437, 167672, 95881, 16152, 21089, 60723, 101709, 61625, 76013, 19412, 129322, 47474, 1390, 123282, 191656, 101552, 158446, 68030, 2472, 77247, 101373, 111217, 85521, 30959, 143729}
Returns: {1, 12 }
151311
1970818
{128212, 23752, 54460, 48944, 21961, 49632, 19674, 100842, 41861, 22135, 62611, 62032, 115767, 128675, 114593, 9570, 67104, 80611, 125555, 59575, 73101, 132891, 19744, 12470, 35452, 150284, 81150, 143418, 150864, 68103, 84848, 91267, 115280, 54841, 115891, 103542, 113473, 39620, 145631, 147610, 139480, 16935, 29956}
Returns: {2, 454634 }
340806810
1926696
{80277706, 134584210, 115512991, 276706581, 123662415, 227825989, 115472185, 146292021, 73143912, 167121030, 224549703, 276574948, 73130466, 325621713, 163166541, 217777748, 24313020, 301159194, 37994745, 244451228, 284490209, 6624106, 80640374, 216945010, 14285686, 196562739, 116135916, 275630320, 286218390, 129393848, 156262587, 28516567, 240227959, 219882634, 101656050, 31912085, 98153786, 184132018, 323749748, 227264797, 209199189, 218767405, 227855399, 264319880, 248067747, 291389527, 80862114, 268786375, 339944987, 64249747, 282697142, 77235291, 289953858, 165879512, 219782452}
Returns: {1, 338884670 }
143239899
1909738
{52778699, 112209047, 120446282, 24715871, 120776666, 53137619, 37356165, 76213296, 124945938, 113276970, 83436555, 89503545, 91618982, 11593669, 25756292, 48789543, 4734657, 34406616, 142064162, 88804061, 73363808, 98063221, 55956170, 81332447, 17737236, 1322151, 131028009, 78394521, 37252093, 103959990, 99092890, 61371025, 141517361, 142378918, 29691165, 44980529, 121808559, 51785938, 132796478, 47033942, 137425556, 23718855, 1223373, 54267866, 18315584, 29515011, 128716124, 72812053, 2965696, 58031989, 6894725, 69832040, 21582957, 70926321, 140022715, 106904118, 110053258, 87184412, 78905609, 102606322, 71998776, 23411027, 27926660, 25252203, 129729574, 28649174, 96394847, 96020361, 116676984, 40320845, 74094784, 130828716, 125117649, 128220020, 125979061, 64855106, 81454289, 128625010, 104502876, 47878558, 87234230, 119153731, 49917720, 93891538, 42214216, 42434499, 127285545, 138046144, 129997633, 89771272, 13928042, 116200682, 65014509, 142129313, 113507814, 10158218, 134376483, 32786057}
Returns: {1, 141341997 }
500427050
1928701
{282804190, 331877685, 107368843, 37173484, 314469941, 155784460, 184957112, 445139083, 407395139, 108169353, 298347786, 298453114, 156000580, 466800875, 488427529, 56298982, 389051321, 62898464, 376839952, 233457347, 447920919, 117948478, 174174481, 467804465, 293242019, 10853332, 222355948, 216077464, 118615798, 228166898, 1557433, 397218526, 213618570, 23609251, 201969927, 375516404, 129989686, 43424762, 91975989, 363535565, 495031874}
Returns: {1, 498501325 }
734790398
1947705
{618115209, 200008821, 417433149, 373891305, 322690538, 378425505, 123882097, 412754876, 722412823, 15986910, 698655262, 345583790, 289154191, 80695962, 327409563, 31356013, 100012607, 199524470, 42571967, 522216811, 14087739, 438765949, 499616245, 324854281, 434105607, 435962556, 131807323, 236036628, 184799628, 589087967, 135451787, 123159672, 41512413, 221058361, 245166099, 378276105, 643879809, 187567341, 3263794, 616547100, 493272104, 414412881, 365714342, 234918071, 22412704, 223806875, 434261212, 341032258}
Returns: {1, 732844387 }
646902115
1915889
{131592511, 57850150, 374527554, 222883136, 278961771, 513699968, 413751800, 66680182, 40644074, 218380662, 495998209, 249171347, 534605084, 478478017, 278225370, 460443754, 291190046, 206475955, 141849551, 587737704, 9643359, 313782179, 605180545, 414869175, 325301282, 519477762, 528130280, 226532702, 321885095, 106567993, 439123735, 386242158, 274494367, 610853390, 258837488, 429525967, 363792280, 497392716, 179603431, 280359950, 556871646, 17852750, 116933604, 506364411, 95287286, 63537838, 107963390, 485668868, 370496409, 308782197, 200393556, 20560728, 487795239, 211627070, 299271999, 423001412, 62771671, 28214485, 57815089, 97935083, 629559026, 189347046, 97836897, 163625589, 81302161, 560819445, 157163089, 305717189, 46102662, 452830098, 309600547, 292057786, 1393793, 211669536, 118616023, 410496412, 537400407, 555563832, 136795567, 570917026, 511893877, 169500417, 70470305, 16700290}
Returns: {1, 644988262 }
1
1
{0}
Returns: {2, 1 }
76117
1908195
{72566, 59463, 74814, 45019, 33741, 67167, 50666, 51434, 5361, 54857, 3101, 13429, 82, 34577, 63118, 71655, 1197, 41363, 74392, 56059, 30152, 31161, 68585, 67364, 47065, 57962, 31725, 4359, 73524, 49042, 46327, 44815, 73110, 75379, 25687, 31276, 4624, 16449, 43768, 12838, 47557, 75805, 50276, 66624, 70795, 33139, 12726, 29747, 43890, 28646, 61738, 14437, 54612, 46274, 37528, 31323}
Returns: {3, 1425257 }
64287
1946785
{37052, 2628, 31715, 20460, 36879, 51096, 25918, 17055, 61907, 47855, 34039, 52403, 14479, 39737, 7466, 41117, 55144, 13571, 24894, 31811, 16589, 63068, 39552, 60670, 36571, 9778, 29090, 995, 11160, 35847, 41101, 52712, 49903, 5424, 4889, 17416, 33504, 53258, 40797, 35839, 31228, 51271, 52551, 28548, 23958, 60193, 49753, 2174, 39832, 17367, 58929, 42224, 39887, 33879, 61839, 44178, 59604, 30920, 59927, 46411, 41833, 52328, 62375, 20643, 54364, 1457, 37809, 15926, 13851}
Returns: {3, 994 }
75346
1956575
{24119, 23157, 61576, 26040, 16761, 12899, 17912, 74661, 45095, 69127, 51427, 14166, 34978, 58185, 59, 16040, 54272, 8803, 48398, 2716, 34635, 5466, 18407, 23747, 67064, 64354, 26364, 64840, 69242, 59453, 73872, 74361, 1309, 9679, 22953, 19735, 71230, 44347, 6119, 30736, 8026, 49640, 16141, 2911, 11611, 39679, 7063, 71808, 40326, 31341, 70108, 19818, 72080, 35803, 74820, 10577, 73788, 64389, 44920, 72944, 6839, 15020, 54195, 54741, 46365, 39690, 73966, 64127, 18304, 8327, 66568, 15344, 60458, 59476, 2343, 56961, 73915, 68435, 8675, 37700, 64251, 65849, 14959, 32128, 46162, 43399, 21878, 60628, 2961}
Returns: {3, 198837 }
42869
1987940
{30181, 18139, 41814, 35711, 1558, 36713, 12405, 18812, 2679, 17253, 35537, 31633, 25146, 4486, 7145, 34135, 38666, 39250, 31281, 35203, 23721, 37910, 20427, 27007, 13426, 41452, 5992, 6729, 33580, 19988, 26547, 21807, 35323, 23600, 7130, 6106, 40791, 27926, 23627, 3292, 22923, 38196, 3701, 25680, 41545, 17557, 16668, 13802, 18987, 13710, 30474, 19628, 29179, 28865, 20804, 3589, 10176, 38029, 31437}
Returns: {5, 1144840 }
30080
1903607
{28382, 14988, 17046, 14348, 20121, 26694, 28176, 8445, 9632, 3358, 9931, 4058, 5562, 13863, 11031, 16303, 13959, 7684, 16493, 18686, 16817, 8621, 10256, 18179, 755, 19952, 22055, 28619, 12429, 28043, 29951, 19484, 19310, 22832, 19491, 22605, 20447, 30064, 15133, 20217, 18294, 5881, 22365, 22999, 12354, 26689, 1402, 5951, 20086, 5946, 20443, 2553, 15890, 13468, 1974}
Returns: {7, 516203981 }