Problem Statement
In the good old days when all games were in 2D rather than 3D, computer games often used sprites to display moving objects. A sprite is a rectangular bitmap object, whose sides are parallel with the x- and y-axis of the screen. Many systems in the eighties had special hardware circuits to display sprites on top of the background graphics. Also common was hardware which detected if two sprites collided - that is, if two sprites overlapped with each other.
Create a class SpriteCollision which contains the method detect which simulates the hardware circuit that detects if sprites collide. The method should take as input an
Definition
- Class:
- SpriteCollision
- Method:
- detect
- Parameters:
- int[], int[], int[], int[]
- Returns:
- int[]
- Method signature:
- int[] detect(int[] x, int[] y, int[] width, int[] height)
- (be sure your method is public)
Notes
- If no sprites collide, return an empty int[] (see example 2).
Constraints
- The number of elements in x, y, width and height are the same and between 1 and 50, inclusive.
- Each element in x is between 0 and 255, inclusive.
- Each element in y is between 0 and 255, inclusive.
- Each element in width is between 1 and 64, inclusive.
- Each element in height is between 1 and 64, inclusive.
- The sum of x[i] and width[i] is between 1 and 256, inclusive.
- The sum of y[i] and height[i] is between 1 and 256, inclusive.
Examples
{1,3,7,1,8,8,6,8,10,11}
{1,3,1,5,3,1,6,7,0,1}
{4,1,2,2,1,1,3,3,2,2}
{3,4,1,2,2,3,1,1,2,2}
Returns: { 0, 1, 2, 4, 5, 8, 9 }
If we plot the sprites, it will look like this: ..........88... .0000..2B.8D9.. .0000...5..99.. .00A0...C...... ...1....4...... .331........... .331..666...... ........777.... ............... '0'-'9' = Pixel occupied by a single sprite. 'A' = Pixel occupied by both sprite 0 and 1. 'B' = Pixel occupied by both sprite 2 and 5. 'C' = Pixel occupied by both sprite 4 and 5. 'D' = Pixel occupied by both sprite 8 and 9. Thus, sprite 0, 1, 2, 4, 5, 8 and 9 are all involved in collisions, so the method should return {0,1,2,4,5,8,9}.
{10,73,73}
{10,41,41}
{64,16,1}
{32,1,64}
Returns: { 0, 1, 2 }
All three sprites collide with each other at pixel 73,41.
{0,64,128,192,0,64,128,192,0,64,128,192,0,64,128,192}
{0,0,0,0,64,64,64,64,128,128,128,128,192,192,192,192}
{64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64}
{64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64}
Returns: { }
All sprites are tiled up next to each other, but there is no overlap, so the method returns {}.
{50,10,0,50,50,100,101}
{50,0,10,50,50,100,101}
{50,1,20,50,50,1,1}
{50,20,1,50,50,1,1}
Returns: { 0, 1, 2, 3, 4 }
Sprites 1 and 2 overlap, and sprites 0, 3 and 4 occupy the same pixels.
{33,144,113,162}
{166,213,181,218}
{59,32,48,46}
{36,28,9,20}
Returns: { 1, 3 }
{129,96,166,179,66,7,34,76,180,58,101,38,103,194}
{56,131,25,147,49,56,198,76,202,83,191,21,0,149}
{23,43,62,50,19,7,10,50,26,30,23,41,7,38}
{13,52,51,24,58,28,21,64,4,35,61,16,44,49}
Returns: { 1, 3, 4, 7, 9, 13 }
{197,104,112,190,153,85,80,62,83,114,136}
{172,25,159,68,14,86,25,28,88,83,89}
{33,47,31,23,3,22,16,58,54,27,18}
{23,28,21,28,23,7,54,5,35,40,54}
Returns: { 1, 5, 6, 7, 8, 9, 10 }
{89,102,123}
{65,117,207}
{29,12,62}
{48,48,39}
Returns: { }
{8,190,82,29,184,135,215,171,37,15,48,78,7}
{125,34,159,178,34,25,74,169,99,178,69,167,203}
{27,24,55,62,28,60,25,28,9,15,7,22,55}
{51,30,58,7,12,39,8,8,16,22,15,3,46}
Returns: { 1, 2, 3, 4, 5, 9, 11 }
{90,65,171,196,138,9,47,53,132,82,140,126,15,96,62,231,136,35,201,7,132,152,222,17,76,40,30,109,45,30,222,86,12,172,10,104,128,122,51,81,94,185}
{100,70,69,170,190,51,84,182,103,168,159,40,101,154,26,90,177,100,240,104,46,104,164,129,121,36,90,28,32,208,1,193,25,40,36,74,167,207,28,113,82,151}
{1,59,26,60,9,59,31,47,39,46,45,32,17,61,12,8,41,49,22,40,27,63,21,47,63,18,48,47,12,41,31,34,17,62,48,52,2,57,20,31,8,51}
{37,63,19,20,63,61,39,17,41,56,41,51,8,58,22,40,13,33,2,13,29,18,6,13,17,17,26,34,28,42,59,48,62,61,55,64,31,34,18,16,2,47}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41 }
{53,185,173,11,13,38,128}
{59,202,194,86,169,65,62}
{53,35,27,3,3,14,6}
{16,16,45,47,54,61,61}
Returns: { 1, 2 }
{67,167,11,19,169,108,80,94,131,140,137,115,152,166,2,112,200,194,102,58,89,175,109}
{177,207,14,250,203,6,218,188,31,95,167,69,118,208,52,106,220,147,4,63,207,29,157}
{6,9,34,25,45,61,19,5,62,26,44,39,61,48,14,2,27,12,59,36,44,9,3}
{50,11,46,5,6,4,25,43,15,5,45,23,16,46,41,27,5,9,43,22,32,46,40}
Returns: { 1, 2, 4, 5, 6, 7, 8, 10, 13, 14, 16, 18, 20, 21 }
{127,219,12,85,70,169,219,182,168,224,174,22,168,35,178,142,197,67}
{205,205,160,98,20,147,116,3,28,146,70,21,124,209,78,38,15,49}
{37,23,45,47,7,37,30,8,52,32,49,46,62,49,54,13,10,20}
{33,29,24,16,45,13,5,51,44,28,33,47,57,3,13,54,46,8}
Returns: { 4, 5, 7, 8, 9, 10, 11, 12, 14, 16, 17 }
{192}
{74}
{62}
{51}
Returns: { }
{1,5,188,49,153,145,143,11,58,62,92,222,163,11,53,95,105,78}
{15,163,64,78,69,169,42,85,156,56,44,127,94,101,41,33,228,52}
{10,38,7,64,55,3,56,60,42,30,8,7,17,43,63,47,15,27}
{41,24,55,40,25,6,26,49,54,61,57,38,52,40,29,40,17,50}
Returns: { 2, 3, 4, 6, 7, 9, 10, 13, 14, 15, 17 }
{21,113,53,197,186,21,17,55,136,145,5,218,188,218,162,190,12,143,55,196,142,196,147,71,36,74,20,42,108}
{42,112,245,186,98,183,25,100,172,132,227,195,0,139,37,234,196,26,216,30,178,134,45,57,247,83,140,57,8}
{55,48,54,8,33,34,41,2,11,64,20,4,35,15,28,54,36,63,20,53,10,46,58,15,40,20,45,33,51}
{32,13,8,3,50,57,41,57,53,16,19,14,34,60,49,22,38,13,29,58,60,40,29,44,6,56,23,15,31}
Returns: { 0, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 }
{15,26,112,52,224,38,37,216,237,4,11,50,216,154,163,214,120,101,23,166,202,69,187,44,203,55,112,139,1,226,30,119,102,24,136,144,40,132,155,64,162,86,182,72,160,120,110}
{55,64,48,9,168,183,219,42,73,34,24,184,195,25,211,193,160,98,191,232,149,155,116,30,34,82,144,140,91,33,32,17,83,153,20,163,28,34,103,219,140,137,221,110,40,22,41}
{35,52,50,37,2,1,54,21,12,9,63,49,30,56,7,37,47,17,42,28,29,43,12,60,46,43,58,32,19,3,12,12,39,32,2,39,38,28,24,33,37,46,26,35,2,14,54}
{6,17,16,13,29,63,27,58,42,38,43,10,51,58,15,28,30,5,35,21,33,17,16,49,15,19,25,17,36,38,46,34,33,24,17,9,56,56,4,30,63,58,4,45,49,30,17}
Returns: { 0, 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 23, 24, 25, 26, 27, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46 }
{187,255,93,188,26,118,41,162,144,37,231,73,26,141,155,12,9,43,173,184,188,46}
{102,236,86,99,111,83,142,144,6,43,22,144,150,12,109,46,80,70,62,206,25,42}
{61,1,12,58,14,17,17,48,40,21,10,49,3,41,24,61,45,63,64,34,27,57}
{51,7,22,44,64,1,23,58,41,53,29,8,5,8,60,4,19,62,12,17,34,14}
Returns: { 0, 2, 3, 4, 7, 8, 9, 12, 13, 14, 15, 16, 17, 21 }
{55,127,105,229,95,98,214,36,176,178,177,204,101,122,44,45,89,19,41,113,187,145,100,183,0,45,1,73,197,37}
{159,44,16,114,1,84,27,230,9,142,20,89,146,85,90,39,142,139,102,65,68,197,148,194,55,39,167,198,1,180}
{16,21,64,21,31,13,13,49,57,9,46,18,54,51,41,51,11,53,21,55,11,15,47,41,9,2,2,25,16,30}
{34,58,13,38,44,24,35,21,48,3,40,17,20,41,44,14,12,28,16,63,47,12,18,42,52,38,3,28,31,36}
Returns: { 0, 1, 2, 4, 6, 8, 10, 12, 13, 14, 15, 17, 18, 19, 22, 25, 28, 29 }
{20,151,98,58,55,2,176,73,182,20,54,158}
{77,29,206,116,49,158,30,41,134,59,184,24}
{34,60,41,16,44,61,39,29,18,46,21,42}
{43,27,21,52,61,34,56,60,10,53,64,13}
Returns: { 0, 1, 3, 4, 5, 6, 7, 9, 10, 11 }
{205,168,5,157,146,198,4,107,135,176,120,107,1,43,223,168,178,122,78,82,149,148,123,106,194,178,139,0,208,201,111,76,188,211,119,114,150,46,28,4,224}
{174,154,102,167,184,159,98,95,105,172,66,57,68,209,14,100,160,24,110,152,119,59,162,53,13,66,81,126,122,123,64,18,12,170,38,70,224,95,99,214,15}
{1,38,47,28,43,5,33,62,42,49,60,39,32,40,4,50,52,24,6,12,11,62,16,47,61,2,35,27,5,16,36,14,45,39,1,51,55,46,28,17,1}
{38,28,45,41,7,58,34,59,27,43,5,7,59,22,30,38,60,28,18,27,43,45,62,48,23,44,44,32,37,29,5,10,42,31,28,52,31,54,63,23,17}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 37, 38, 40 }
{68,142,16,79,192,226,147,13,145,18,221}
{51,68,201,101,124,115,148,229,94,162,41}
{27,11,45,39,5,9,57,59,22,15,17}
{33,55,44,61,33,18,8,14,63,26,48}
Returns: { 1, 2, 4, 6, 7, 8 }
{119,130,175,18,1,17,56,27,129,198,71,139,177,201,151,223,68,49,31,181,54,29,52,95,223,1,69,152,27,76,173,43,132,13,83,18,113,138}
{165,50,199,162,137,149,126,14,93,31,81,81,183,164,27,196,197,223,9,46,220,87,93,50,130,185,70,27,213,197,94,37,9,47,74,98,102,155}
{50,60,24,43,54,58,54,18,60,14,49,55,9,42,15,2,34,32,57,64,20,36,48,62,31,56,35,54,48,43,30,37,7,50,20,46,43,39}
{40,63,27,52,11,50,37,13,52,56,29,6,58,31,4,2,41,13,59,26,22,42,43,56,21,38,21,24,39,57,15,57,6,5,45,59,41,44}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37 }
{158}
{34}
{30}
{44}
Returns: { }
{154,60,102,142,172,113,177,210,77,176,192,163,145,120,162,87,233,104,51,22,37,95,186,118,26,28,149,50,166,216,96,211,190,169,94,103,1,23,94,8,5,13,158}
{97,68,35,3,192,120,31,119,132,91,13,159,170,56,173,12,76,47,138,121,122,163,65,131,168,183,114,46,108,116,191,178,152,208,36,208,39,67,183,221,161,60,129}
{52,15,24,31,36,30,25,42,36,36,5,34,4,38,36,57,7,51,44,58,55,17,52,52,57,37,36,33,25,29,41,15,30,18,21,60,8,35,13,52,27,19,36}
{63,29,12,31,12,50,38,23,10,57,51,53,25,51,55,58,45,60,36,14,58,2,22,27,52,12,12,62,17,14,58,60,28,3,34,7,23,26,51,10,35,41,1}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42 }
{185,48,8,62,236,207,108,62,141,56,205,26,106,167,132,211,174,49,58,79,37,120,118,16,137,198,44,101,14,170,12,144,213,21,188,138,51,128,182,132,162,207,101,233,23,167,187,96,46,40}
{39,73,10,228,197,34,46,13,39,162,11,78,9,7,101,127,19,113,241,182,191,45,2,88,59,186,10,100,79,60,186,45,22,100,41,53,65,166,95,157,130,207,27,124,171,175,22,35,90,51}
{58,6,30,25,16,33,36,3,44,3,24,16,6,43,57,14,25,15,31,59,36,16,10,29,62,51,52,32,50,42,55,4,38,40,55,25,19,62,36,4,2,12,57,15,27,51,22,8,62,28}
{60,52,41,11,22,38,50,21,55,58,46,49,23,29,42,28,63,30,7,36,42,25,45,10,2,4,21,62,63,34,54,52,28,63,7,31,40,23,33,56,57,17,60,48,50,31,5,55,47,44}
Returns: { 0, 1, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45, 46, 47, 48, 49 }
{214,205,181,2,205,205,86,58,23,186,61,42,96,200,80,132,132,90,173,119,60,47,50,202,161,146,12,206,87,33,20,16,113,167}
{99,14,193,66,96,153,19,14,70,165,66,8,238,17,60,208,113,29,14,142,82,187,35,148,61,178,195,36,67,89,235,245,43,70}
{25,31,4,50,18,26,30,41,50,27,61,16,48,9,14,16,29,22,22,2,33,45,12,11,25,63,57,23,21,44,9,45,38,4}
{30,64,43,57,62,1,49,31,38,13,5,36,12,41,64,32,61,13,51,13,17,31,31,26,26,27,12,42,45,42,17,2,38,37}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 }
{105,17,94,122,133,175,43,64,174,88,98,88,67,220,106,6,182,109,151,151,97,10,155,180,221,19,228,31,10,237,87,48,163,186,84,165,126,147,56,3,55,203,231,55,102,110,184}
{116,139,159,89,15,213,236,184,36,40,178,124,69,227,197,115,169,47,148,125,116,24,104,91,96,0,167,222,176,83,173,85,141,143,173,39,43,114,35,167,52,41,69,188,20,126,206}
{57,37,61,46,30,50,62,60,39,26,63,22,56,16,38,12,16,42,8,35,63,62,36,14,28,55,2,17,23,14,1,22,64,48,16,40,55,19,26,27,7,53,16,38,45,5,47}
{38,55,36,28,35,27,5,9,37,61,3,39,7,25,18,61,1,30,23,51,62,36,63,40,52,49,15,23,49,42,53,33,42,8,19,39,64,9,1,18,10,24,22,31,17,56,32}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 }
{185,26,118,120,77,38,83,29,103,20,2,204,129,205,149,37,3,10,20,51,180,85,11,152,81,146,27,169,86,165,17,116,39,44,187,208,37,139,50,100,93,151,81,43,140,118}
{9,32,164,197,222,143,87,45,96,186,159,78,154,165,61,152,47,234,31,46,76,19,247,182,178,4,94,171,81,187,184,78,140,111,64,201,135,76,2,101,36,134,20,15,1,212}
{34,17,27,62,11,48,60,6,39,24,56,23,12,41,18,42,8,61,48,38,4,16,60,46,42,47,8,37,62,26,42,54,64,41,17,15,59,38,30,31,29,38,51,15,64,35}
{34,49,4,58,33,62,4,30,31,19,58,43,62,52,22,23,42,13,10,57,44,62,2,37,7,52,36,64,34,15,40,49,59,16,43,25,45,24,26,15,59,47,40,53,41,26}
Returns: { 0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 19, 21, 23, 24, 25, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 }
{163,28,72,224,1,78,80,75,65,32,74,195,200,12,119,68,111,238,125,116,241,162,50,232,76,111,232,115,92,36,119,220,194,129,114,199,19,119,90,144,7,17,117,122,9}
{140,211,190,85,172,53,159,137,156,169,85,142,158,199,38,148,164,131,57,82,57,20,185,62,240,108,18,92,202,140,113,207,45,59,56,193,54,94,102,147,155,199,125,202,12}
{5,48,52,2,5,30,53,25,64,36,39,56,38,13,63,45,31,5,12,59,15,52,32,2,44,50,15,52,28,1,52,21,36,16,61,11,26,17,16,49,49,25,48,1,63}
{28,20,31,9,20,21,42,21,34,24,22,46,31,53,23,15,62,32,46,39,55,25,64,26,12,46,7,10,41,24,38,15,39,1,20,59,33,19,34,4,42,52,33,7,36}
Returns: { 0, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 27, 28, 29, 30, 33, 34, 37, 38, 39, 40, 41, 42, 43 }
{16,1,33,82,36,147,138,66,81,145,94,19,23,118,230,55,149,21,16,156,63,197,10,23,169,183,106,129,31,17,133,61,176,11,147,164,107,163,142,248}
{185,190,5,6,38,77,17,186,219,83,62,63,47,15,110,19,52,226,207,88,34,171,96,168,54,5,182,164,124,188,87,48,220,214,173,165,115,129,18,176}
{9,6,20,49,27,30,46,34,59,53,42,34,35,38,2,39,51,21,55,37,18,47,31,31,58,13,30,26,16,56,49,44,37,64,22,34,12,51,23,4}
{37,4,20,1,1,59,18,30,5,63,9,34,20,63,12,57,4,28,27,30,48,48,16,28,58,3,52,53,56,45,3,59,12,30,29,17,45,25,30,23}
Returns: { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38 }
{38,207,36,92,184,39,160,92,220,5,176,102,87,187,44,30,189,204,142,27,137,99,161,151,3,2,230,110,78,114,57,78,139,50,151,93,85,49,217,8,199,23}
{108,123,122,178,154,137,82,35,164,123,99,63,12,166,153,194,216,167,4,67,108,185,174,134,31,32,73,119,33,143,84,173,31,108,176,213,188,134,154,200,181,83}
{5,44,34,58,29,37,50,45,3,1,26,54,28,8,16,48,29,17,55,58,1,22,47,59,48,44,19,17,19,39,32,48,22,47,12,41,15,62,7,28,22,10}
{31,35,62,35,59,59,10,14,55,5,15,3,58,30,53,8,26,16,34,53,19,37,8,56,58,42,63,40,45,63,11,63,63,17,41,33,28,29,21,24,50,42}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41 }
{200,113,3,171,69,100,226,68,124,8,191,76,92,18,192,169,218,222,15,72,180,108,139,201,104,148,73,130,138,109,116,149,65,14,120,177,51,8,157,25,62,61,212,28,13,17,191}
{166,33,120,199,116,62,160,151,85,162,6,133,80,33,104,106,108,129,26,144,160,4,136,189,147,202,2,185,21,116,137,59,163,180,37,12,23,213,164,78,77,199,148,87,106,228,40}
{27,56,54,60,1,23,23,36,34,6,6,30,1,64,48,19,17,24,14,33,33,29,32,48,58,45,51,11,60,11,24,53,59,47,28,53,16,19,61,30,47,60,27,26,47,62,31}
{58,48,64,32,54,39,26,33,13,18,7,9,58,51,14,19,8,26,43,13,52,53,60,14,30,42,54,60,8,3,45,18,27,28,26,4,63,40,62,25,56,56,3,39,24,23,50}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 }
{72,5,101,124,240,152,203,128,63,35,69,144,163,37,78,107,221,3,89,113,105,14,170,92,197}
{35,186,167,252,175,130,193,30,204,105,40,45,49,95,181,169,16,101,160,93,56,57,73,179,175}
{46,51,35,34,4,53,31,57,62,49,19,52,6,63,5,60,22,37,21,61,48,33,48,17,40}
{40,21,4,2,62,46,25,24,31,16,33,20,2,64,21,28,59,51,29,63,24,36,2,51,32}
Returns: { 0, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 18, 19, 20, 23, 24 }
{117,31,46,33,67,48,158,80,48,140,1,88,42,191,51}
{146,38,100,208,99,218,233,67,110,143,156,97,232,75,31}
{56,20,47,39,16,13,16,8,17,30,62,11,28,32,31}
{39,42,41,44,40,14,3,11,31,16,5,47,24,15,23}
Returns: { 0, 2, 3, 4, 5, 8, 9, 11, 12 }
{48,11,56,204,163,17,102,193,198,133,113,11,31,158,153,32,119,125,137,172,2,119,139,112,152,252,135,248,194,49,145,54,185,6,167}
{17,61,224,84,158,0,204,220,133,1,6,54,17,150,36,84,64,181,215,55,107,5,7,97,40,217,108,139,210,69,145,213,80,7,140}
{14,33,56,36,13,6,51,43,37,22,28,19,26,23,32,45,19,34,15,9,64,14,52,46,49,3,33,8,12,59,36,64,62,48,33}
{59,26,31,59,47,13,18,13,19,21,41,31,57,40,2,18,17,1,17,20,44,49,42,13,1,37,60,7,43,45,15,12,36,63,64}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 28, 29, 30, 31, 32, 33, 34 }
{10,150,131,55,39,5,106,93,15,81,140,140,54,172,191,211,195,27,14,19,84,135,42,21,0}
{29,132,188,60,119,140,115,80,191,45,0,195,232,164,175,39,67,134,143,59,179,1,146,68,30}
{7,38,54,54,16,39,48,10,54,25,64,3,45,5,43,11,50,3,44,12,26,54,10,3,36}
{36,18,23,9,36,52,28,59,63,56,20,3,11,36,31,17,41,54,28,54,43,39,52,45,10}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, 21, 22, 23, 24 }
{127,189,48,74,219,134,63,21,112,148,101}
{2,229,83,173,223,115,102,150,157,54,94}
{49,1,26,58,5,61,30,49,2,6,44}
{13,11,29,41,18,32,8,28,52,40,35}
Returns: { 2, 3, 5, 6, 8, 10 }
{91,209,73,119}
{68,91,15,195}
{32,10,35,21}
{31,41,47,36}
Returns: { }
{81,174,120,78,38,124,26,75,210,36,163,70,155,105,136,23,171,10}
{105,193,42,141,89,80,3,73,167,82,49,19,144,106,119,169,6,86}
{37,4,43,38,39,29,53,2,19,1,38,9,10,6,17,28,18,47}
{15,42,54,56,49,52,11,33,50,63,12,54,29,35,40,40,64,10}
Returns: { 0, 2, 4, 5, 7, 9, 10, 13, 14, 16, 17 }
{205,192,145,49,213,93,115,30,106,170,210,186,93,41,65,114,27,223,184,155}
{63,32,138,199,141,80,192,178,179,42,69,13,50,112,205,232,143,29,91,28}
{32,17,33,56,16,59,20,18,63,58,30,18,16,11,27,47,46,22,55,12}
{8,47,30,5,16,42,14,4,63,16,11,52,41,36,17,23,12,62,27,42}
Returns: { 0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17 }
{31,39,124,184,122,181,48,160,180,3,191,112,155,224,80,3,176,222,128,127,193,2,139,245,36,90,153,186,224,248,16,82,55,201,97,171,13,236,39,103,176,77,145,15,44,2,130,182}
{177,148,166,88,83,1,138,215,156,170,109,48,169,71,56,190,54,117,66,165,187,170,94,48,185,39,190,117,73,60,161,207,7,7,17,153,129,222,2,187,79,142,202,203,203,157,105,125}
{26,52,18,41,14,38,64,39,11,11,44,20,6,9,45,41,17,34,5,10,18,13,28,2,56,33,2,18,12,5,63,13,63,51,43,58,13,2,21,9,43,60,58,14,63,8,62,14}
{48,33,52,33,38,41,62,8,44,61,33,41,43,10,61,50,57,2,40,38,56,7,21,60,17,52,30,19,14,6,42,9,7,29,44,43,54,24,3,61,31,16,48,40,26,48,44,55}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47 }
{126,94,118,106,47,35,71,126,139,18,6,142,218,20,58,34,215,213,129,104,159,210,31,17,108,35,202,67,135,97,142,10,117,148}
{212,55,91,139,65,214,93,61,95,204,30,207,52,149,117,89,211,198,71,158,81,77,143,25,130,147,101,168,216,247,207,14,178,87}
{25,62,41,37,16,16,11,45,8,28,45,50,27,28,63,10,41,41,51,45,21,36,19,14,25,1,31,13,1,39,22,14,58,53}
{18,18,34,27,38,18,59,56,32,28,41,33,55,20,50,49,25,10,32,37,45,4,55,58,6,48,38,62,4,9,18,64,26,34}
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33 }
{69,166,180,19,145,155,127,96,6,163,6,154,142,98,67,235,244,240,12,137,42,130}
{77,66,141,78,38,47,209,111,72,101,134,102,107,88,18,191,233,150,99,55,123,186}
{55,26,34,53,26,21,54,1,42,47,9,42,25,61,8,2,5,7,8,37,4,52}
{52,38,9,41,64,49,5,39,55,17,14,29,53,34,18,4,16,45,63,2,14,6}
Returns: { 0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 18, 19, 20 }
{ 1, 1 }
{ 2, 2 }
{ 3, 3 }
{ 3, 3 }
Returns: { 0, 1 }
{ 1, 3, 8, 9, 100, 6 }
{ 1, 3, 3, 0, 100, 3 }
{ 6, 3, 6, 9, 20, 4 }
{ 3, 2, 6, 9, 20, 4 }
Returns: { 0, 1, 2, 3, 5 }
{ 4, 5, 6, 7 }
{ 1, 2, 3, 4 }
{ 2, 3, 4, 5 }
{ 9, 9, 1, 1 }
Returns: { 0, 1, 2, 3 }
{ 50, 10, 0, 50, 50, 100, 101 }
{ 50, 0, 10, 50, 50, 100, 101 }
{ 50, 1, 20, 50, 50, 1, 1 }
{ 50, 20, 1, 50, 50, 1, 1 }
Returns: { 0, 1, 2, 3, 4 }
{ 0, 1 }
{ 1, 0 }
{ 2, 2 }
{ 1, 3 }
Returns: { 0, 1 }
{ 1, 4 }
{ 1, 4 }
{ 10, 10 }
{ 10, 10 }
Returns: { 0, 1 }
{ 1, 11 }
{ 1, 11 }
{ 10, 10 }
{ 10, 10 }
Returns: { }
{ 1, 3, 5 }
{ 1, 3, 5 }
{ 1, 1, 1 }
{ 1, 1, 1 }
Returns: { }
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
{ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }
{ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }
Returns: { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }
{ 10, 0 }
{ 0, 10 }
{ 1, 20 }
{ 20, 1 }
Returns: { 0, 1 }
{ 10, 5 }
{ 0, 5 }
{ 1, 10 }
{ 10, 1 }
Returns: { 0, 1 }
{ 0, 64, 128, 192 }
{ 0, 0, 0, 0 }
{ 64, 64, 64, 64 }
{ 64, 64, 64, 64 }
Returns: { }
{ 3, 5 }
{ 3, 5 }
{ 2, 2 }
{ 2, 2 }
Returns: { }
{ 5, 10 }
{ 10, 5 }
{ 20, 20 }
{ 20, 20 }
Returns: { 0, 1 }
{ 1, 7 }
{ 7, 1 }
{ 10, 10 }
{ 10, 10 }
Returns: { 0, 1 }