Problem Statement
An integer polynomial of degree n is a function of the form a0 + a1x1 + a2x2 + ... + anxn, where each ai is a constant integer and x is a variable. An integer root of an integer polynomial is an integer value of x for which the expression equals zero.
You will be given the coefficients of an integer polynomial, and must return all the integer roots in increasing order. Roots must appear only once in the output (see example 1 for clarification).
Since the degree may be quite large, the coefficients are presented indirectly. Use the following pseudo-code to generate the coefficients a[0] to a[n]:
lX = length(X) lY = length(Y) for i = 0, 1, ..., n: p = i mod lX q = (i + Y[i mod lY]) mod lX a[i] = X[p] X[p] = X[q] X[q] = a[i]
The array indices are all 0-based and a mod b is the remainder when a is divided by b.
Definition
- Class:
- SolvePolynomial
- Method:
- integerRoots
- Parameters:
- int[], int[], int
- Returns:
- int[]
- Method signature:
- int[] integerRoots(int[] X, int[] Y, int n)
- (be sure your method is public)
Notes
- The intended solution is independent of the method of generation, and will work for any integer polynomial.
Constraints
- n will be between 0 and 10,000, inclusive.
- X will contain between 1 and 50 elements, inclusive.
- Y will contain between 1 and 50 elements, inclusive.
- Each element of X will be between -109 and 109, inclusive.
- Each element of Y will be between 0 and 50, inclusive.
- At least one element of a will be non-zero.
Examples
{-4, 2, 2}
{0}
2
Returns: {-2, 1 }
-4 + 2x + 2x2 = 2(x - 1)(x + 2).
{1, 2, 0}
{2, 0, 0, 0}
3
Returns: {-1 }
1 + 2x + x^2 + 0x^3 = (x + 1)(x + 1). Note that an may be zero and that roots must appear only once in the output.
{1, 4, 4}
{0}
2
Returns: { }
{-15, -10, 2, 1}
{0}
3
Returns: {3 }
{735134400, 1383, 4121, 18875, 10463, 13512, 19603, 28679, 13483, 9509, 1701, 13383, 24425, 7923, 7978, 21702, 30989, 20676, 18547, 28130, 10944}
{34,23,6,5,3,5,4,34,37,5,6,21,17,9}
10000
Returns: { }
{1}
{0}
0
Returns: { }
{-1000000000}
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50}
0
Returns: { }
{1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1, 1}
{0, 1, 2, 3, 4}
0
Returns: { }
{10, 1, 5}
{2}
1
Returns: {-10 }
{10, 1, 5}
{1}
1
Returns: {-1 }
{1000000000, 999999999}
{0}
1
Returns: { }
{1000000000, 999900000}
{0}
1
Returns: { }
{-1000000000, 480000, 1}
{0}
2
Returns: { }
{154, -58, 4}
{0}
2
Returns: {11 }
{-35, 11, 6}
{0}
2
Returns: { }
{-4, 8, 4}
{0}
2
Returns: { }
{5, 2, 1}
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
2
Returns: { }
{500, 50, 5}
{0}
2
Returns: { }
{500, 50, 5, 0}
{0, 0, 0, 1}
5
Returns: { }
{-16, 20, -8, 1, 0, 0, 0, 0, 0}
{0}
8
Returns: {2, 4 }
{1, 25, 300, 2300, 12650, 53130, 177100, 480700, 1081575, 2042975, 3268760, 4457400, 5200300, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
{25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
25
Returns: {-1 }
{1, 0, -24, 0, 276, 0, -2024, 0, 10626, 0, -42504, 0, 134596, 0, -346104, 0, 735471, 0, -1307504, 0, 1961256, 0, -2496144, 0, 2704156, 0, -2496144, 0, 1961256, 0, -1307504, 0, 735471, 0, -346104, 0, 134596, 0, -42504, 0, 10626, 0, -2024, 0, 276, 0, -24, 0, 1}
{0}
48
Returns: {-1, 1 }
{0, -203212800, -25401600, 307216512, 38402064, -122333120, -15291640, 19803784, 2475473, -1532960, -191620, 59696, 7462, -1120, -140, 8, 1}
{0}
16
Returns: {-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7 }
{735134400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
2451
Returns: {-1 }
{-1225, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
2451
Returns: {-1, 1 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
2401
Returns: {0 }
{735134400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
{0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}
1201
Returns: { }
{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
{0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}
1201
Returns: {1 }
{536870912,536870912,536870912,536870912,536870912,536870912,536870912,536870912}
{0}
7
Returns: {-1 }
{536870912,-536870912}
{0}
7
Returns: {1 }
{170}
{0}
0
Returns: { }
{255, 0, 5}
{0}
2
Returns: { }
{238, 119, 0, 3}
{0}
3
Returns: { }
{68, 170, 0, 0, 2}
{0}
4
Returns: { }
{102, 0, 102, 51, 0, 1}
{0}
5
Returns: { }
{153, 51, 153, 272, 0, 11}
{0}
5
Returns: { }
{85, 17, 119, 204, 0, 0, 7}
{0}
6
Returns: { }
{272, 204, 34, 85, 119, 34, 0, 4}
{0}
7
Returns: { }
{119, 170, 170, 0, 85, 119, 119, 0, 2}
{0}
8
Returns: { }
{0, 0, 15}
{0}
2
Returns: {0 }
{0, 221, 85, 0, 13}
{0}
4
Returns: {0 }
{0, 153, 170, 221, 255, 255, 119, 0, 10}
{0}
8
Returns: {0 }
{0, 17, 0, 136, 34, 68, 85, 255, 0, 102, 272, 153, 119, 153, 119, 0, 6}
{0}
16
Returns: {0 }
{136, 0, 7}
{0}
2
Returns: { }
{136, 102, 187, 0, 6}
{0}
4
Returns: { }
{136, 68, 85, 255, 119, 272, 51, 0, 5}
{0}
8
Returns: { }
{136, 0, 0, 68, 17, 34, 187, 119, 0, 51, 136, 221, 51, 221, 51, 0, 3}
{0}
16
Returns: { }
{153, 0, 7}
{0}
2
Returns: { }
{153, 102, 187, 0, 6}
{0}
4
Returns: { }
{153, 68, 85, 255, 119, 272, 51, 0, 5}
{0}
8
Returns: { }
{153, 0, 0, 68, 17, 34, 187, 119, 0, 51, 136, 221, 51, 221, 51, 0, 3}
{0}
16
Returns: { }
{17, 0, 15}
{0}
2
Returns: { }
{17, 221, 85, 0, 13}
{0}
4
Returns: { }
{17, 153, 170, 221, 255, 255, 119, 0, 10}
{0}
8
Returns: { }
{238, 170, 170, 0, 85, 119, 119, 0, 2}
{0}
8
Returns: { }
{34, 221, 85, 0, 13}
{0}
4
Returns: { }
{136, 68, 85, 255, 119, 272, 51, 0, 5}
{0}
8
Returns: { }
{17, 272, 272, 51, 17, 34, 187, 119, 0, 51, 136, 221, 51, 221, 51, 0, 3}
{0}
16
Returns: { }
{170, 238, 272, 119, 34, 68, 85, 255, 0, 102, 272, 153, 119, 153, 119, 0, 6}
{0}
16
Returns: { }
{10, 1}
{0}
1
Returns: {-10 }
{57777, 1}
{0}
1
Returns: {-57777 }
{-56, -19, 40, 44, 54, 20, -13, 57, 15, 38, 80, 55, -72, -85, -84, 24, -85, 72, 11, -87, 38, -86, 23, 40, -65}
{12, 34, 12, 8, 5, 11, 4, 16, 22, 48, 38, 44, 15, 45, 49, 9, 41}
12
Returns: { }
{81, 78, 68, 16, -7, 80, 26, 34, 93, 53, -24, 22, -77, -85, 17, 24, 12, 71, 15, 17, -16, 57, 27, 69, -74, -100, 46, -27, 76, 49}
{11, 46, 42, 28, 25, 25, 16, 45, 48, 38, 40, 43, 41, 6, 5, 21, 16, 47, 4, 49, 33, 32, 11, 20}
6
Returns: { }
{18, -40, -97, 59, -2, -3, -8, -93, 78, 0, 74, 84, 63, 66, 90, -35, -97, -73, -83, -48, -66, 49, -24, -80, 26, 77, 39, 4, -81, 55, 3, 96, -73, 18, -60, 3, -97, -66, 49, -67, -97, 86, -73, -18, 90, -65, -50, -27}
{9, 45, 10, 12, 16, 21, 47, 27, 31, 2, 30, 22, 39, 34, 4, 4, 43, 50, 5, 30, 37, 30, 44, 3, 27, 5, 5, 38}
9
Returns: { }
{16, 1, -11}
{11}
5
Returns: {-16 }
{81, 1}
{6, 38, 50}
15
Returns: {-81 }
{-1000000000,1}
{0}
1
Returns: {1000000000 }
{1000000000,1}
{0}
1
Returns: {-1000000000 }
{999950884,-63244,1}
{0}
2
Returns: {31622 }
{999950884,999887640,-63243,1}
{0}
3
Returns: {-1, 31622 }
{-999950884,63244,999950883,-63244,1}
{0}
4
Returns: {-1, 1, 31622 }
{999887641,63242,1}
{0}
2
Returns: {-31621 }
{-999887641,999824399,63241,1}
{0}
3
Returns: {-31621, 1 }
{-999887641,-63242,999887640,63242,1}
{0}
4
Returns: {-31621, -1, 1 }
{-9,1,9,-1,-6,-9,-5,5,-7,9,2,-4,8,-4,4,8,7,7,-3,8,-9,-9,3,-9,3,-1,-4,-8,-10,2,2,7,3}
{19,21,2}
1395
Returns: {-1 }
{0,5,1,-10,5,-1,0,5,2,6,5,0,3,-10,-9,7,-9,7,-7,0,5}
{16,10,48,1,7,30,28,24,50,19,45,2,6,16,44,5,38,30,26,23,27,3,35,1,20,18,27,37,33,37,39,19,39,38,13,38,23,11,40}
51
Returns: {0 }
{-72,-8}
{36,18,12,30,30}
49
Returns: {-9 }
{-7,-3,7,6,0,-5,-3,2,-7}
{1,21}
5055
Returns: {-1, 1 }
{2,2,-2,2,-3,-6,-2,-7,10,1,-2,5}
{19,27,35,20,10,45,48,2,29}
164
Returns: {1 }
{2,-3}
{30,15,2,12,26,45,13,47,26,13,3,15,50,20,10,44,45,15,48,23,13,7,0}
3
Returns: {-1, 2 }
{0,-97,-89,61,57,15,-98,-23,16,57,-40,94,17,-10,-60,5,-96,-30,17,79,43,-80,-78,70,-93,2,85,-1,49,-65,-4,-19,35,-98,53,-81,-36,64,80,-39,-79,-8}
{16,41,0,14,38,48,23,4,20,4,13,41,27,46,19,47,23,2,24,44,40,23,21,21,0,44,23,36,44}
52
Returns: {0, 1 }
{0,-10,-8,-10,10,-5,-8,-7,-6,-7,7,1,-9,4,2,2,7,-1,-8,4,-10,-4,-9,10,3,8,3,0,4,-7,6,-2,-3,-7,7,-8,-4,-5,10,8}
{50,27,48,14,12,26,13,37,34,23,44,27,19,36,32,33,32,18,25,37,14,42,3}
92
Returns: {-1, 0 }
{84,-7}
{32,2}
5699
Returns: {12 }
{-8,4}
{44}
2199
Returns: {2 }
{0, -6, -5, 2, 1 }
{0 }
4
Returns: {-3, -1, 0, 2 }
{180000180, -38999859, -25000064, 2999978, 1000004, 1 }
{0 }
5
Returns: {-1000001, -5, -4, 3 }
{65536, -1, 0, 0, 1 }
{0 }
4
Returns: { }
{800000000, 80000, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
{4 }
2
Returns: {-20000 }
{-977771176, -347146353, 52983272, -457767504, 358724203, -145336800, -923833776, -731436520, -320551246, -164767161, -566563875, 948705044, 753131334, -968286563, 211081101, -363904642, -251591409, 425699526, -993049659, 324406505, -691835130, -953794468, 456283349, -895742566, 904651322, -552860319, -412175286, 333817910, 254716748, -639774321, -341491833, 129461925, 13079327, 711491440, 671694421, -775680118, -581329008, 747860645, -507116638, 98119746, -564390163, -73680513, -100658858, -958742477, -41967076, -889577757, -322647119, 706441515, 388638121, -463180426 }
{3, 45, 30, 1, 16, 22, 39, 30, 40, 48, 11, 6, 35, 38, 41, 8, 41, 22, 1, 49, 8, 19, 8, 11, 21, 24, 0, 23, 26, 49, 23, 3, 17, 2, 5, 7, 49, 44, 38, 38, 15, 49, 44, 0, 10, 9, 33, 25, 31, 34 }
10000
Returns: { }
{0, 0, -1000000000, 1 }
{0 }
3
Returns: {0, 1000000000 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65536, 131072 }
{0 }
49
Returns: {0 }
{0, 10, 5 }
{0 }
2
Returns: {-2, 0 }
{0, 0, 4, -2, -2, 0 }
{0 }
5
Returns: {-2, 0, 1 }
{0, 1 }
{0, 0 }
1
Returns: {0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048576, 1048576 }
{0 }
100
Returns: {-1, 0 }
{-201838042, 791798930, -361594123, 893475066, -321127951, 897556480, 615983779, 41461893, 287916127, -374882104, -165244471, 737880103, 894531394, -70971712, 494867109, 378306033, 170925420, -850966667, -835924195, -749166642, 558304148, 187073122, 88169908, -749119426, 277984823, -571761889, 767967947, -432314903, -212695002, 789689766, 504915505, -5308650, 36292909, 851386371, 58237918, -515847788, -573123791, -298908283, 335994991, 252908304, 683852114, 101176229, -704032315, 835656771, 32588609, 8893861, -659426004, 577846057, 401724475, -363362728 }
{38, 44, 21, 44, 13, 40, 17, 9, 15, 6, 3, 26, 6, 37, 28, 46, 17, 1, 46, 25, 23, 11, 20, 22, 14, 11, 22, 31, 30, 6, 2, 4, 29, 3, 5, 43, 2, 31, 32, 36, 44, 0, 2, 27, 28, 15, 21, 19, 17, 29 }
10000
Returns: { }
{-901800900, 0, 1 }
{0 }
2
Returns: {-30030, 30030 }
{0, 1000000000, 1, 0, 0 }
{0 }
4
Returns: {-1000000000, 0 }
{0, 1, 1 }
{0 }
2
Returns: {-1, 0 }
{0, 4, 4, 1 }
{0 }
3
Returns: {-2, 0 }
{0, -1, 1 }
{0 }
2
Returns: {0, 1 }
{1000000000, 1 }
{0 }
10000
Returns: { }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1 }
{0 }
10000
Returns: {-1, 0, 1 }
{-9, 0, 1 }
{0 }
2
Returns: {-3, 3 }
{735134400 }
{0 }
10000
Returns: { }
{-1000000000 }
{0, 0, 0 }
1
Returns: {-1 }
{0, 0, 0, 479001600, 479001600 }
{0, 1 }
1000
Returns: {-1, 0 }
{735134400, 1 }
{0 }
1
Returns: {-735134400 }
{0, 2, 2 }
{0 }
2
Returns: {-1, 0 }
{0, 0, 0, 479001600, 479001600 }
{0, 1 }
10000
Returns: {-1, 0 }
{0, 1 }
{0, 1 }
2
Returns: {-1, 0 }
{-1000000000, 1 }
{0 }
1
Returns: {1000000000 }
{4005, 1, 0, 0 }
{0 }
3
Returns: {-4005 }
{239017, 0 }
{0, 1 }
1
Returns: { }
{8, -6, 1 }
{0 }
2
Returns: {2, 4 }
{0, 1383, 4121, 18875, 10463, 13512, 19603, 28679, 13483, 9509, 1701, 13383, 24425, 7923, 7978, 21702, 30989, 20676, 18547, 28130, 10944 }
{34, 23, 6, 5, 3, 5, 4, 34, 37, 5, 6, 21, 17, 9 }
10000
Returns: {0 }
{0, 0, 81, -72, -18, 8, 1 }
{0 }
6
Returns: {-9, -3, 0, 1, 3 }
{0, 1, 2, 3, 4, 5 }
{0 }
6
Returns: {0 }
{0, 1, 0 }
{0 }
2
Returns: {0 }
{0, 0, 100000, 1 }
{0 }
4
Returns: {-100000, 0 }
{0, 0, 0, 0, -4, 2, 2, 0, 0, 0, 0 }
{0 }
10
Returns: {-2, 0, 1 }
{0, 999999999, 1 }
{0 }
2
Returns: {-999999999, 0 }
{0, 1000000000 }
{0, 1 }
9999
Returns: {-1, 0 }
{-4, -2, 6 }
{0 }
2
Returns: {1 }
{0, 1, -1 }
{0 }
2
Returns: {0, 1 }
{0, 1, 2, 3, 4 }
{0, 1, 2, 3, 4, 5, 10 }
10000
Returns: {0 }
{999999999, 1000000000, 1 }
{0 }
2
Returns: {-999999999, -1 }
{28229, 2 }
{0 }
1
Returns: { }
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
{6, 4, 6, 7, 8, 5 }
10000
Returns: {0 }
{0, 1, 1 }
{0, 1, 2 }
2
Returns: {-1, 0 }
{0, 100 }
{0 }
2
Returns: {0 }
{0, 0, 0, 1, 2, 1 }
{0 }
5
Returns: {-1, 0 }
{0, 999999999, -1000000000, 1 }
{0 }
3
Returns: {0, 1, 999999999 }
{0, 1, -1 }
{1, 0, 0 }
10000
Returns: {0 }
{-4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 1 }
{0 }
50
Returns: { }
{0, -100, 1 }
{0 }
2
Returns: {0, 100 }
{0, 65536, 65535 }
{0 }
1
Returns: {0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000000, 1 }
{0 }
70
Returns: {-1000000, 0 }
{0, 0, 4, -4, 1 }
{0 }
4
Returns: {0, 2 }
{0, 1, 1 }
{0, 0, 0 }
2
Returns: {-1, 0 }
{0, 0, 0, -900000000, 0, 1 }
{0 }
6
Returns: {-30000, 0, 30000 }
{0, 0, 0, 0, 16, 10, 1 }
{0 }
6
Returns: {-8, -2, 0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
{0 }
32
Returns: {0 }
{100000, 1 }
{0 }
1
Returns: {-100000 }
{0, -2, 1 }
{0 }
2
Returns: {0, 2 }
{0, -4, 2, 2 }
{0 }
3
Returns: {-2, 0, 1 }
{0, 1, 2, 3 }
{1, 2 }
10000
Returns: {0 }
{0, 12, 1 }
{0 }
2
Returns: {-12, 0 }
{735134400, 1383, 4121, 18875, 10463, 13512, 19603, 28679, 13483, 9509, 1701, 13383, 24425, 7923, 7978, 21702, 30989, 20676, 18547, 28130, 10944, 12312312 }
{34, 23, 6, 5, 3, 5, 4, 34, 37, 5, 6, 21, 17, 9, 12, 12 }
9999
Returns: { }
{1000000, -1 }
{0 }
1
Returns: {1000000 }
{1000000, 1 }
{0, 0 }
1
Returns: {-1000000 }
{-3600, 0, 1 }
{0 }
2
Returns: {-60, 60 }
{999999937, 4444, 1 }
{0 }
2
Returns: { }
{1 }
{0 }
0
Returns: { }
{0, 0, 100000000, 1 }
{0 }
4
Returns: {-100000000, 0 }
{0, 12, 1 }
{0 }
2999
Returns: {-12, -1, 0 }
{0, 0, 1 }
{0 }
3
Returns: {0 }
{0, -38999859, -25000064, 2999978, 1000004, 1 }
{0 }
5
Returns: {0 }
{536870912, 7 }
{0 }
1
Returns: { }
{-2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1 }
{0 }
39
Returns: {2 }
{999999999, 1 }
{0 }
1
Returns: {-999999999 }
{1000000000, 1 }
{0 }
1
Returns: {-1000000000 }
{256, -1, 0, 0, 0, 0, 0, 0, 1 }
{0 }
8
Returns: { }
{12, -8, 1 }
{0 }
2
Returns: {2, 6 }
{30011, 1 }
{0, 0 }
1
Returns: {-30011 }
{6, 5, 1 }
{0 }
2
Returns: {-3, -2 }
{1, -3, 2 }
{0 }
2
Returns: {1 }
{4001, 1, 0, 0, 0, 0, 0, 0 }
{0 }
5
Returns: {-4001 }
{1000000000, 2 }
{0 }
1
Returns: {-500000000 }
{0, 200, 1 }
{0 }
2
Returns: {-200, 0 }
{0, 1, 2, 1 }
{0 }
3
Returns: {-1, 0 }
{-1, -1, 2, 2 }
{0 }
3
Returns: {-1 }
{0, 0, 0, 0, 0, -4, 2, 2 }
{8 }
8
Returns: {-2, 0, 1 }
{-4, 2, 2 }
{0 }
10000
Returns: { }
{0, 2, 1 }
{0 }
2
Returns: {-2, 0 }
{0, 1, 1 }
{0 }
3
Returns: {-1, 0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048576, 1048576 }
{0 }
35
Returns: {-1, 0 }
{16, -2 }
{0 }
1
Returns: {8 }
{-4, 2, 2 }
{0 }
2
Returns: {-2, 1 }
{0, 1 }
{0 }
1
Returns: {0 }
{0, -6, -1, 1 }
{0 }
3
Returns: {-2, 0, 3 }
{0, 0, 0, 0, 0, 0, 0, 0, 65536 }
{0 }
9
Returns: {0 }
{0, -6, 1, 1 }
{0 }
3
Returns: {-3, 0, 2 }
{0, 1, 4, 4 }
{0 }
2
Returns: {0 }
{0, -268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
20
Returns: {0 }
{0, 1 }
{0 }
101
Returns: {0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 999999937, 1 }
{0 }
14
Returns: {-999999937, 0 }
{0, 1, 2, 3, 4, 5, 6, 7 }
{3, 4, 5, 6, 7, 8, 9, 10 }
1
Returns: {0 }
{1000000000, 7 }
{0 }
1
Returns: { }
{271000, 450000, 500000, 1000 }
{0 }
3
Returns: { }
{1, 0 }
{0 }
1
Returns: { }
{0, 0, 0, 0, 1000000000, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
{0 }
15
Returns: {-1000000000, 0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
{0 }
16
Returns: {0 }
{0, -1, 4, 4 }
{0 }
2
Returns: {0 }
{10000, 200, 1 }
{0 }
2
Returns: {-100 }
{26, -15, 1 }
{0 }
2
Returns: {2, 13 }
{9, 3, 7, 7 }
{2, 2 }
1
Returns: {-3 }
{0, 2, 1 }
{0, 0, 0 }
2
Returns: {-2, 0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1000000000, 1 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
49
Returns: {0, 1000000000 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 256 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
49
Returns: {0 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 }
{0 }
40
Returns: {0 }
{65536, 65535, 65535, 65535 }
{0, 1, 2, 3 }
3
Returns: { }
{-65536, 1, 0, 65536 }
{0 }
3
Returns: { }
{-2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }
{0 }
32
Returns: {1 }
{3, 0 }
{0 }
1
Returns: { }
{0, 1, 1 }
{0, 0 }
2
Returns: {-1, 0 }
{-1000000000, 1, -1000000000, 1 }
{0 }
3
Returns: {1000000000 }
{6, 696904438 }
{0 }
1
Returns: { }
{0, 8, 1 }
{0, 0, 0 }
2
Returns: {-8, 0 }
{536870912 }
{0 }
7
Returns: {-1 }