Problem Statement
The figure below shows a tower of rectangles that consists of three rectangles: a 5x3 rectangle A, a 4x4 rectangle B, and a 1x9 rectangle C.
AAA AAA AAA AAA AAA BBBB BBBB BBBB BBBB CCCCCCCCC
In such a tower there are only two rules:
- The rectangles must form a single sequence from top to bottom, each rectangle standing on the next one (except for the bottom one that stands on the ground).
- The bottom side of each rectangle must completely stand on the top side of the rectangle immediately below it. (The touching sides may be exactly equal.)
Note that the second rule implies that as we go from the top to the bottom, the width of the tower never decreases.
Alice and Bob have a collection of N rectangles.
You are given their description: the
When building the tower, the rectangles can be rotated by multiples of 90 degrees. E.g., a 5x3 rectangle can be also used as a 3x5 rectangle. The rectangles can be used in any order.
Alice used all N rectangles to build the tallest possible tower. Then, Bob took apart Alice's tower and instead he used all N rectangles to build the shortest possible tower. Return the difference between the heights of those two towers.
Definition
- Class:
- TwoTowers
- Method:
- maxDifference
- Parameters:
- int[], int[]
- Returns:
- int
- Method signature:
- int maxDifference(int[] A, int[] B)
- (be sure your method is public)
Notes
- For any collection of rectangles there is always at least one way to rotate them and reorder them into a valid tower, so the return value is always well-defined.
Constraints
- A will have between 1 and 50 elements, inclusive.
- Each element of A will be between 1 and 10^6, inclusive.
- B will have the same number of elements as A.
- Each element of B will be between 1 and 10^6, inclusive.
Examples
{3}
{5}
Returns: 2
A single 3x5 rectangle. Alice will place it as follows: AAA AAA AAA AAA AAA while Bob will place it as follows: AAAAA AAAAA AAAAA Thus, Alice's tower has height 5, Bob's tower has height 3, and the difference is 5-3 = 2.
{5, 4, 1}
{3, 4, 9}
Returns: 10
These are the three rectangles from the first figure in the problem statement. That particular tower (of height 10) is neither the tallest nor the shortest tower possible: Alice can build a tower of height 18 and Bob can build a tower of height 8.(Note that each of them needs to rotate and reorder the rectangles in a different way. For example, Bob's tower must have the 4x4 square on the top.)
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
Returns: 0
Here the rotations do not matter (all rectangles are actually squares) and their order is forced: both Alice and Bob must place them from the smallest one on the top to the largest one on the bottom. Thus, they will both build the same tower and the height difference is zero.
{1}
{1}
Returns: 0
{1, 2, 3}
{3, 2, 1}
Returns: 4
{2, 7, 9, 8}
{2, 7, 9, 8}
Returns: 0
{6, 5, 9, 7, 7, 10}
{6, 5, 9, 7, 7, 10}
Returns: 0
{7, 1, 2, 1, 5, 8, 9, 1, 6, 10}
{7, 1, 2, 1, 5, 8, 9, 1, 6, 10}
Returns: 0
{4, 4, 9, 9, 6, 8, 4, 1, 9, 6, 6, 10, 6}
{4, 4, 9, 9, 6, 8, 4, 1, 9, 6, 6, 10, 6}
Returns: 0
{4, 1, 3, 6, 2, 6, 10, 7, 9, 9, 5, 2, 4, 6, 4, 8, 2, 7, 10, 6, 5, 4, 9, 5, 6, 9, 10, 1, 8, 5, 10, 7, 5, 9, 4, 10, 2, 4, 7, 8, 5, 10, 9, 3, 8, 1, 3, 9}
{4, 1, 3, 6, 2, 6, 10, 7, 9, 9, 5, 2, 4, 6, 4, 8, 2, 7, 10, 6, 5, 4, 9, 5, 6, 9, 10, 1, 8, 5, 10, 7, 5, 9, 4, 10, 2, 4, 7, 8, 5, 10, 9, 3, 8, 1, 3, 9}
Returns: 0
{2, 5, 9, 10, 9, 8, 7, 6, 1, 10, 5, 10, 9, 8, 6, 1, 10, 4, 4, 6, 7, 3, 3, 8, 4, 3, 2, 3, 10, 6, 9, 7, 2, 5, 8, 1, 2, 7, 2, 6, 1, 5, 1, 3, 3, 9, 8}
{2, 5, 9, 10, 9, 8, 7, 6, 1, 10, 5, 10, 9, 8, 6, 1, 10, 4, 4, 6, 7, 3, 3, 8, 4, 3, 2, 3, 10, 6, 9, 7, 2, 5, 8, 1, 2, 7, 2, 6, 1, 5, 1, 3, 3, 9, 8}
Returns: 0
{8, 9, 8, 10, 10, 1, 2, 3, 3, 9, 6, 1, 10, 4, 1, 7, 2, 1, 2, 5, 1, 9, 5, 4, 10, 9, 3, 9, 10, 5, 10, 10, 2, 10, 8, 6, 9, 1, 2, 7, 7, 6, 5, 10, 8, 10, 3, 2}
{8, 9, 8, 10, 10, 1, 2, 3, 3, 9, 6, 1, 10, 4, 1, 7, 2, 1, 2, 5, 1, 9, 5, 4, 10, 9, 3, 9, 10, 5, 10, 10, 2, 10, 8, 6, 9, 1, 2, 7, 7, 6, 5, 10, 8, 10, 3, 2}
Returns: 0
{8, 8, 1, 7, 10, 9, 2, 5, 8, 9, 2, 4, 6, 6, 3, 8, 1, 10, 2, 8, 8, 5, 9, 1, 9, 4, 5, 1, 5, 9, 8, 7, 2, 2, 9, 10, 10, 8, 9, 6, 10, 5, 7, 4, 2, 2, 9}
{8, 8, 1, 7, 10, 9, 2, 5, 8, 9, 2, 4, 6, 6, 3, 8, 1, 10, 2, 8, 8, 5, 9, 1, 9, 4, 5, 1, 5, 9, 8, 7, 2, 2, 9, 10, 10, 8, 9, 6, 10, 5, 7, 4, 2, 2, 9}
Returns: 0
{52, 43, 69, 47}
{52, 43, 69, 47}
Returns: 0
{12, 80}
{12, 80}
Returns: 0
{55, 47, 7, 45, 75, 8, 51, 82, 35, 33, 27, 38, 27, 60, 85}
{55, 47, 7, 45, 75, 8, 51, 82, 35, 33, 27, 38, 27, 60, 85}
Returns: 0
{57, 100, 57, 41, 87, 8, 20, 75, 62, 1, 4, 55}
{57, 100, 57, 41, 87, 8, 20, 75, 62, 1, 4, 55}
Returns: 0
{67, 57, 79, 33, 38, 14, 39, 16, 22, 55, 44, 64, 55, 31, 65, 73, 66, 34, 41, 72, 3, 78, 87, 49, 77, 76, 90, 77, 89, 80, 60, 79, 72, 23, 88, 90, 49, 6, 24, 79, 24, 80, 10, 63, 53, 8, 29, 60, 23, 77}
{67, 57, 79, 33, 38, 14, 39, 16, 22, 55, 44, 64, 55, 31, 65, 73, 66, 34, 41, 72, 3, 78, 87, 49, 77, 76, 90, 77, 89, 80, 60, 79, 72, 23, 88, 90, 49, 6, 24, 79, 24, 80, 10, 63, 53, 8, 29, 60, 23, 77}
Returns: 0
{1, 80, 18, 96, 10, 72, 50, 1, 50, 64, 95, 59, 81, 48, 94, 16, 66, 52, 14, 12, 54, 53, 71, 14, 80, 23, 86, 64, 61, 57, 77, 12, 51, 68, 65, 42, 56, 96, 26, 41, 51, 10, 17, 92, 63, 43, 84, 84, 14, 33}
{1, 80, 18, 96, 10, 72, 50, 1, 50, 64, 95, 59, 81, 48, 94, 16, 66, 52, 14, 12, 54, 53, 71, 14, 80, 23, 86, 64, 61, 57, 77, 12, 51, 68, 65, 42, 56, 96, 26, 41, 51, 10, 17, 92, 63, 43, 84, 84, 14, 33}
Returns: 0
{12, 46, 4, 51, 80, 11, 77, 29, 67, 83, 27, 65, 33, 92, 98, 40, 65, 78, 15, 72, 8, 37, 93, 23, 63, 90, 31, 52, 79, 61, 1, 76, 52, 78, 31, 81, 71, 48, 14, 44, 9, 21, 76, 14, 31, 24, 11, 19, 66, 22}
{12, 46, 4, 51, 80, 11, 77, 29, 67, 83, 27, 65, 33, 92, 98, 40, 65, 78, 15, 72, 8, 37, 93, 23, 63, 90, 31, 52, 79, 61, 1, 76, 52, 78, 31, 81, 71, 48, 14, 44, 9, 21, 76, 14, 31, 24, 11, 19, 66, 22}
Returns: 0
{10, 12, 17, 76, 51, 45, 16, 54, 38, 71, 82, 29, 87, 45, 99, 12, 83, 41, 14, 5, 26, 72, 18, 43, 12, 41, 99, 92, 85, 55, 65, 70, 74, 97, 99, 88, 46, 67, 67, 55, 82, 57, 56, 87, 53, 94, 63, 3}
{10, 12, 17, 76, 51, 45, 16, 54, 38, 71, 82, 29, 87, 45, 99, 12, 83, 41, 14, 5, 26, 72, 18, 43, 12, 41, 99, 92, 85, 55, 65, 70, 74, 97, 99, 88, 46, 67, 67, 55, 82, 57, 56, 87, 53, 94, 63, 3}
Returns: 0
{342292, 51456, 628798}
{342292, 51456, 628798}
Returns: 0
{945022, 106024, 460424, 810917, 611113}
{945022, 106024, 460424, 810917, 611113}
Returns: 0
{100971, 887741, 350922, 458391, 774665, 955520, 61879, 349915, 826046, 791281}
{100971, 887741, 350922, 458391, 774665, 955520, 61879, 349915, 826046, 791281}
Returns: 0
{958306, 852730, 701373, 428631, 491577, 777453, 958899, 970773, 543114, 498062, 726412}
{958306, 852730, 701373, 428631, 491577, 777453, 958899, 970773, 543114, 498062, 726412}
Returns: 0
{977767, 967077, 240585, 208256, 657826, 27662, 566149, 517551, 341011, 964867, 148906, 708201, 171778, 811705, 303117, 76118, 49244, 782849, 878399, 948686, 634003, 313211, 46363, 673114, 647376, 894104, 701839, 6609, 268627, 361410, 947162, 201563, 582496, 225506, 387318, 945884, 388692, 140101, 212230, 469133, 646128, 36217, 835134, 777725, 853426, 316261, 631909}
{977767, 967077, 240585, 208256, 657826, 27662, 566149, 517551, 341011, 964867, 148906, 708201, 171778, 811705, 303117, 76118, 49244, 782849, 878399, 948686, 634003, 313211, 46363, 673114, 647376, 894104, 701839, 6609, 268627, 361410, 947162, 201563, 582496, 225506, 387318, 945884, 388692, 140101, 212230, 469133, 646128, 36217, 835134, 777725, 853426, 316261, 631909}
Returns: 0
{442265, 116178, 443158, 884564, 438632, 364385, 793549, 521960, 269300, 47601, 759227, 592391, 756801, 722938, 956188, 514635, 240885, 283717, 425229, 61316, 915071, 25168, 412212, 200006, 802817, 437577, 384657, 545471, 93025, 361918, 757666, 909518, 654972, 929150, 658080, 355471, 462643, 908050, 877012, 71072, 923964, 68635, 496149, 279767, 67483, 170144, 214672, 238479, 974010}
{442265, 116178, 443158, 884564, 438632, 364385, 793549, 521960, 269300, 47601, 759227, 592391, 756801, 722938, 956188, 514635, 240885, 283717, 425229, 61316, 915071, 25168, 412212, 200006, 802817, 437577, 384657, 545471, 93025, 361918, 757666, 909518, 654972, 929150, 658080, 355471, 462643, 908050, 877012, 71072, 923964, 68635, 496149, 279767, 67483, 170144, 214672, 238479, 974010}
Returns: 0
{495601, 831855, 207045, 311127, 6228, 119734, 633879, 591833, 854132, 12440, 263304, 559313, 223346, 558161, 390773, 493891, 960975, 224667, 348572, 419918, 955573, 40198, 705702, 677872, 614965, 434866, 341260, 850336, 843438, 563715, 361471, 938608, 7846, 114597, 21556, 326078, 830213, 50949, 638555, 229297, 862916, 861088, 885507, 549704, 906441, 641638, 3524, 36610, 914224, 581599}
{495601, 831855, 207045, 311127, 6228, 119734, 633879, 591833, 854132, 12440, 263304, 559313, 223346, 558161, 390773, 493891, 960975, 224667, 348572, 419918, 955573, 40198, 705702, 677872, 614965, 434866, 341260, 850336, 843438, 563715, 361471, 938608, 7846, 114597, 21556, 326078, 830213, 50949, 638555, 229297, 862916, 861088, 885507, 549704, 906441, 641638, 3524, 36610, 914224, 581599}
Returns: 0
{402073, 936446, 800140, 486579, 200246, 94134, 290724, 986755, 707911, 975552, 666705, 930247, 414639, 534999, 364762, 39647, 929736, 68438, 318812, 630653, 749013, 326306, 54559, 639850, 961336, 463208, 485922, 426528, 763912, 755323, 348772, 754435, 94301, 265510, 894370, 934935, 993607, 440845, 391643, 983866, 102996, 742713, 395725, 395808, 184991, 310056, 31240}
{402073, 936446, 800140, 486579, 200246, 94134, 290724, 986755, 707911, 975552, 666705, 930247, 414639, 534999, 364762, 39647, 929736, 68438, 318812, 630653, 749013, 326306, 54559, 639850, 961336, 463208, 485922, 426528, 763912, 755323, 348772, 754435, 94301, 265510, 894370, 934935, 993607, 440845, 391643, 983866, 102996, 742713, 395725, 395808, 184991, 310056, 31240}
Returns: 0
{10, 10}
{10, 10}
Returns: 0
{3, 2, 1, 10}
{1, 3, 10, 2}
Returns: 20
{2, 3, 5, 10, 8, 8, 8, 10, 5, 7, 8}
{5, 3, 8, 10, 2, 8, 5, 10, 7, 8, 8}
Returns: 18
{7, 2, 2, 10, 1, 6, 6, 10, 3, 1, 5, 6, 3}
{3, 5, 1, 2, 1, 7, 2, 6, 3, 6, 10, 10, 6}
Returns: 42
{5, 4, 8, 9, 6, 3, 9, 6, 2, 3, 3, 10, 4, 9, 10, 9, 6, 9, 4, 4, 1, 6, 7, 3, 8, 10, 3, 4, 7, 1, 8, 6, 9, 9, 2, 5, 2, 3, 9, 10, 4, 5, 10, 7, 2, 5, 9, 6}
{5, 4, 8, 9, 6, 3, 9, 6, 2, 3, 3, 10, 4, 9, 4, 9, 9, 9, 10, 4, 1, 6, 7, 8, 3, 10, 3, 4, 7, 1, 8, 6, 9, 9, 5, 5, 2, 3, 6, 10, 4, 2, 10, 2, 7, 5, 9, 6}
Returns: 44
{10, 1, 10, 4, 5, 8, 6, 2, 3, 10, 3, 5, 6, 5, 2, 5, 4, 1, 5, 10, 4, 4, 8, 8, 2, 7, 1, 10, 3, 2, 7, 5, 4, 7, 4, 2, 4, 4, 9, 2, 9, 7, 5, 6, 6, 2, 2, 6, 8}
{10, 1, 10, 2, 5, 4, 6, 7, 3, 10, 3, 5, 6, 5, 4, 5, 4, 1, 5, 10, 4, 5, 8, 8, 2, 7, 1, 10, 3, 2, 6, 5, 4, 7, 8, 2, 8, 4, 9, 2, 9, 2, 4, 6, 7, 2, 2, 6, 4}
Returns: 34
{5, 7, 5, 10, 1, 2, 5, 8, 9, 4, 9, 9, 8, 5, 6, 7, 9, 4, 10, 6, 10, 4, 10, 3, 4, 4, 1, 1, 10, 9, 10, 5, 10, 5, 4, 6, 10, 10, 9, 6, 9, 3, 6, 6, 3, 3, 8, 2, 1}
{5, 7, 5, 10, 1, 2, 6, 8, 9, 4, 9, 9, 8, 10, 6, 7, 9, 4, 9, 6, 10, 4, 10, 3, 4, 4, 1, 1, 10, 3, 10, 9, 10, 5, 4, 6, 10, 10, 9, 5, 5, 3, 6, 6, 5, 3, 8, 2, 1}
Returns: 24
{2, 5, 10, 7, 6, 8, 5, 3, 4, 3, 6, 4, 5, 1, 4, 10, 8, 1, 6, 1, 5, 5, 9, 7, 9, 4, 8, 8, 1, 2, 3, 7, 8, 3, 4, 1, 7, 8, 9, 9, 2, 9, 1, 9, 8, 9, 8, 10, 3, 3}
{2, 5, 10, 7, 6, 8, 5, 3, 4, 3, 6, 4, 5, 1, 4, 10, 2, 10, 6, 1, 5, 5, 9, 7, 9, 4, 8, 8, 1, 8, 3, 8, 7, 3, 4, 9, 7, 8, 9, 9, 2, 9, 1, 1, 8, 9, 8, 1, 3, 3}
Returns: 48
{68, 15, 29, 98}
{68, 98, 29, 15}
Returns: 166
{96, 22, 11}
{96, 22, 11}
Returns: 0
{12, 58, 36, 13, 39, 26, 76, 97, 97, 64, 80}
{64, 58, 76, 12, 80, 26, 36, 39, 13, 97, 97}
Returns: 366
{48, 82, 32, 52, 65, 23, 23, 23, 78, 7}
{78, 23, 32, 82, 23, 7, 65, 52, 48, 23}
Returns: 294
{38, 59, 23, 23, 71, 39, 59, 38, 38, 79, 95, 7, 40, 5, 85, 9, 79, 77, 52, 73, 65, 55, 19, 49, 50, 85, 70, 29, 68, 72, 53, 89, 57, 70, 24, 33, 52, 42, 43, 16, 49, 56, 18, 12, 95, 56, 32, 31}
{38, 55, 23, 23, 71, 39, 59, 38, 38, 79, 95, 7, 24, 5, 85, 9, 40, 77, 52, 56, 65, 59, 19, 49, 50, 79, 70, 29, 68, 72, 53, 89, 57, 70, 85, 33, 52, 42, 43, 16, 49, 56, 18, 12, 95, 73, 32, 31}
Returns: 164
{87, 7, 32, 23, 79, 46, 45, 11, 88, 64, 34, 36, 99, 77, 48, 27, 7, 34, 63, 30, 86, 14, 68, 40, 24, 51, 36, 95, 76, 92, 26, 68, 36, 98, 21, 21, 41, 20, 36, 62, 13, 37, 89, 34, 20, 51, 87}
{87, 7, 45, 23, 79, 63, 32, 11, 88, 98, 34, 48, 99, 77, 36, 27, 7, 34, 92, 30, 86, 14, 68, 40, 24, 51, 36, 95, 76, 46, 26, 68, 36, 64, 21, 34, 41, 20, 36, 62, 13, 37, 89, 21, 20, 51, 87}
Returns: 236
{27, 14, 26, 64, 50, 39, 92, 33, 2, 43, 47, 54, 13, 12, 43, 34, 69, 30, 75, 93, 89, 18, 32, 87, 64, 71, 90, 81, 26, 99, 5, 95, 22, 4, 73, 41, 30, 88, 47, 30, 32, 63, 48, 26, 55, 24, 60, 77}
{34, 26, 43, 64, 95, 39, 92, 33, 2, 43, 47, 54, 60, 12, 81, 27, 69, 30, 75, 93, 89, 18, 32, 87, 64, 13, 99, 14, 26, 90, 5, 50, 30, 4, 73, 41, 30, 88, 47, 22, 32, 63, 48, 26, 55, 24, 71, 77}
Returns: 388
{67, 2, 71, 38, 62, 41, 40, 79, 90, 86, 67, 91, 89, 96, 81, 65, 49, 80, 29, 87, 7, 28, 28, 98, 63, 76, 57, 64, 52, 70, 52, 18, 54, 46, 2, 90, 68, 44, 70, 96, 14, 98, 79, 47, 66, 50, 34, 20, 7, 28}
{67, 2, 71, 38, 62, 41, 40, 79, 90, 86, 67, 98, 89, 96, 49, 65, 66, 80, 29, 87, 7, 28, 28, 96, 63, 76, 57, 64, 52, 70, 52, 18, 54, 46, 2, 90, 81, 44, 70, 91, 14, 98, 79, 47, 68, 50, 34, 20, 7, 28}
Returns: 78
{580634, 851778, 908210, 971347, 139774, 247291}
{908210, 247291, 971347, 580634, 139774, 851778}
Returns: 1990400
{65913, 653895, 767530, 558194, 161450, 985368}
{65913, 653895, 161450, 767530, 558194, 985368}
Returns: 1212160
{559408, 280619, 487518, 550020, 643105, 489667, 922464, 157872, 381150, 141500, 703658, 900004}
{922464, 559408, 141500, 157872, 643105, 489667, 280619, 550020, 703658, 487518, 381150, 900004}
Returns: 3405038
{734616, 385582, 60868, 584836, 779724, 190589, 921569, 576640, 249947, 504914, 812399, 502740, 447650, 59806, 736576}
{734616, 385582, 576640, 584836, 779724, 504914, 59806, 60868, 249947, 190589, 812399, 921569, 502740, 447650, 736576}
Returns: 3383720
{180155, 921126, 207736, 843456, 348679, 1964, 620763, 548757, 771651, 209709, 575068, 890535, 469581, 171528, 305766, 547064, 673246, 455602, 686482, 495294, 581315, 457236, 905075, 719917, 22505, 174907, 610792, 449019, 418246, 998633, 33841, 584622, 51816, 63529, 635330, 723357, 106795, 217630, 505520, 197437, 837534, 578300, 936220, 33612, 827823, 559562, 940586, 807055}
{180155, 457236, 207736, 843456, 348679, 1964, 455602, 905075, 771651, 209709, 575068, 890535, 469581, 171528, 305766, 547064, 33841, 620763, 686482, 495294, 581315, 921126, 548757, 719917, 22505, 174907, 610792, 449019, 418246, 998633, 673246, 584622, 51816, 63529, 635330, 723357, 106795, 217630, 505520, 197437, 837534, 578300, 807055, 33612, 827823, 559562, 940586, 936220}
Returns: 3507878
{9489, 291981, 599204, 482469, 918754, 964526, 467673, 194652, 129259, 981652, 271290, 386575, 488475, 56524, 515902, 725889, 34364, 446547, 672693, 85889, 722420, 939765, 797178, 733093, 220248, 388711, 205699, 241662, 759216, 613787, 150164, 215939, 519536, 539016, 780880, 111848, 304720, 807908, 635353, 668742, 774975, 718684, 566641, 796666, 902647, 104269, 831858, 881766, 513812, 203600}
{9489, 291981, 599204, 482469, 918754, 964526, 467673, 194652, 129259, 939765, 271290, 386575, 488475, 56524, 515902, 725889, 881766, 733093, 672693, 85889, 722420, 34364, 797178, 446547, 220248, 388711, 205699, 241662, 759216, 613787, 150164, 215939, 513812, 539016, 780880, 111848, 304720, 807908, 635353, 668742, 774975, 718684, 566641, 796666, 902647, 104269, 831858, 981652, 519536, 203600}
Returns: 2479116
{942585, 133255, 948455, 150346, 449052, 426490, 598523, 848585, 333042, 711142, 188543, 634296, 856242, 814930, 393317, 19868, 956491, 109690, 445104, 781409, 174904, 715643, 963856, 899655, 68169, 105691, 136153, 108273, 831256, 80158, 842171, 901978, 228547, 30050, 189697, 861505, 405500, 101194, 67169, 853914, 585543, 504918, 784823, 926148, 18300, 128663, 181238, 349976, 702418}
{942585, 861505, 948455, 68169, 19868, 426490, 598523, 848585, 393317, 711142, 136153, 634296, 856242, 814930, 109690, 449052, 956491, 18300, 445104, 781409, 174904, 715643, 963856, 899655, 150346, 105691, 188543, 228547, 831256, 80158, 842171, 901978, 585543, 30050, 189697, 133255, 405500, 101194, 67169, 853914, 108273, 504918, 784823, 333042, 926148, 128663, 181238, 349976, 702418}
Returns: 5474788
{816075, 977481, 371360, 254589, 374017, 279327, 959540, 997795, 197463, 46371, 320430, 946061, 46707, 185872, 952440, 62028, 548884, 326398, 322709, 458162, 752237, 968911, 356769, 923534, 962842, 49392, 385436, 780284, 822602, 680935, 630515, 263872, 668164, 992489, 191952, 545541, 819630, 831220, 658129, 171475, 199769, 649287, 25285, 558380, 787570, 828751, 488286}
{630515, 977481, 371360, 649287, 968911, 548884, 959540, 997795, 197463, 46371, 320430, 946061, 46707, 185872, 952440, 62028, 385436, 326398, 322709, 458162, 752237, 171475, 356769, 923534, 962842, 49392, 279327, 780284, 822602, 680935, 816075, 263872, 668164, 992489, 191952, 545541, 819630, 831220, 658129, 374017, 199769, 254589, 25285, 558380, 787570, 828751, 488286}
Returns: 3294502
{4, 5, 6, 2}
{10, 3, 10, 8}
Returns: 18
{10, 6, 4, 5, 5}
{8, 4, 8, 3, 10}
Returns: 15
{7, 4, 1, 6, 1, 4, 2, 2, 5, 4, 8, 8, 3}
{10, 2, 1, 10, 6, 5, 10, 1, 5, 6, 6, 6, 3}
Returns: 30
{5, 2, 8, 9, 9, 8, 6, 10, 7, 3}
{5, 2, 8, 7, 10, 5, 4, 4, 1, 3}
Returns: 20
{5, 7, 8, 4, 4, 1, 5, 10, 10, 4, 9, 1, 6, 5, 3, 7, 2, 2, 4, 9, 3, 10, 3, 10, 2, 7, 6, 5, 1, 9, 9, 5, 3, 9, 1, 9, 10, 5, 10, 5, 7, 10, 10, 6, 6, 4, 5}
{4, 6, 7, 6, 4, 3, 6, 9, 1, 8, 3, 9, 6, 7, 2, 2, 2, 9, 7, 9, 3, 3, 3, 8, 2, 4, 6, 7, 4, 8, 2, 9, 8, 4, 1, 1, 6, 9, 4, 7, 1, 3, 9, 7, 6, 4, 2}
Returns: 135
{4, 7, 5, 10, 8, 7, 7, 8, 1, 3, 3, 4, 6, 10, 9, 6, 3, 1, 1, 3, 3, 3, 1, 1, 6, 4, 1, 9, 3, 1, 6, 5, 5, 7, 3, 8, 8, 3, 3, 9, 7, 1, 3, 3, 8, 3, 7, 6}
{1, 1, 10, 8, 4, 5, 3, 5, 9, 5, 10, 7, 3, 6, 2, 10, 6, 9, 4, 4, 10, 8, 8, 3, 4, 5, 1, 2, 7, 1, 6, 10, 1, 8, 1, 2, 5, 6, 4, 6, 1, 6, 4, 4, 4, 3, 6, 4}
Returns: 165
{1, 2, 3, 10, 9, 10, 7, 6, 6, 8, 8, 8, 8, 10, 3, 1, 7, 10, 9, 9, 8, 6, 6, 7, 3, 9, 9, 9, 4, 8, 7, 1, 6, 5, 10, 4, 8, 4, 4, 2, 8, 7, 10, 4, 8, 1, 6, 4, 4, 6}
{10, 9, 4, 1, 7, 1, 9, 10, 6, 9, 9, 6, 6, 9, 8, 10, 1, 10, 10, 3, 2, 4, 2, 5, 10, 5, 7, 10, 1, 2, 9, 9, 6, 7, 5, 6, 5, 3, 8, 9, 3, 10, 10, 9, 3, 5, 5, 1, 10, 7}
Returns: 181
{9, 10, 7, 10, 10, 8, 9, 10, 1, 5, 5, 8, 5, 9, 7, 3, 4, 7, 7, 8, 1, 5, 8, 2, 9, 5, 6, 9, 9, 4, 2, 10, 2, 1, 3, 5, 6, 7, 2, 4, 10, 10, 5, 4, 6, 2, 9, 4, 8}
{3, 2, 8, 1, 4, 2, 6, 1, 8, 2, 9, 2, 8, 4, 3, 2, 3, 2, 4, 4, 3, 10, 4, 7, 9, 8, 7, 1, 9, 3, 4, 9, 10, 1, 6, 2, 5, 9, 8, 8, 7, 4, 8, 4, 5, 10, 9, 3, 7}
Returns: 176
{74, 80, 23, 93}
{75, 21, 40, 4}
Returns: 166
{98, 69}
{70, 83}
Returns: 42
{25, 26, 76, 11, 83, 56, 72, 29, 71, 1, 66, 20, 32, 91, 60}
{56, 12, 66, 98, 99, 100, 68, 7, 80, 78, 22, 85, 94, 50, 37}
Returns: 549
{39, 52, 64, 12, 39, 37, 40, 64, 77, 73, 16, 96}
{41, 67, 43, 44, 58, 26, 6, 79, 1, 4, 94, 64}
Returns: 404
{85, 71, 37, 55, 43, 82, 17, 83, 9, 88, 14, 48, 28, 36, 63, 94, 37, 77, 48, 93, 41, 27, 25, 28, 24, 21, 27, 62, 48, 77, 39, 21, 52, 86, 41, 76, 50, 15, 16, 54, 93, 1, 4, 26, 50, 22, 87, 91, 87, 87}
{85, 62, 16, 5, 31, 85, 3, 27, 10, 55, 53, 89, 26, 29, 75, 18, 61, 72, 58, 100, 10, 21, 40, 11, 85, 56, 88, 75, 52, 37, 67, 23, 19, 88, 28, 46, 67, 48, 33, 10, 18, 70, 86, 11, 32, 78, 40, 47, 59, 93}
Returns: 1364
{83, 65, 57, 78, 56, 13, 21, 91, 96, 71, 6, 19, 61, 77, 40, 79, 88, 53, 60, 65, 53, 85, 67, 65, 54, 65, 30, 65, 35, 23, 55, 78, 15, 16, 93, 99, 97, 41, 49, 25, 29, 52, 89, 6, 20, 9, 99, 78}
{24, 48, 46, 84, 56, 37, 92, 78, 8, 58, 56, 92, 3, 92, 93, 99, 71, 5, 3, 90, 7, 78, 16, 6, 14, 70, 15, 69, 32, 2, 70, 19, 39, 65, 62, 1, 11, 65, 77, 70, 80, 74, 34, 100, 61, 24, 28, 28}
Returns: 1827
{90, 99, 11, 86, 77, 75, 64, 15, 3, 60, 88, 57, 4, 6, 64, 59, 27, 96, 99, 16, 75, 52, 42, 55, 47, 95, 100, 21, 38, 54, 99, 86, 62, 73, 32, 38, 59, 43, 50, 68, 40, 56, 79, 97, 43, 57, 1, 20, 94}
{32, 79, 46, 29, 16, 40, 11, 97, 89, 62, 42, 13, 42, 1, 51, 26, 99, 68, 35, 70, 32, 18, 95, 82, 5, 8, 40, 17, 78, 64, 67, 39, 13, 64, 56, 25, 94, 54, 15, 47, 81, 51, 60, 24, 36, 100, 37, 5, 76}
Returns: 1819
{32, 5, 38, 44, 4, 63, 73, 50, 89, 86, 36, 83, 54, 78, 23, 86, 15, 76, 1, 50, 84, 69, 98, 72, 48, 94, 12, 72, 85, 89, 26, 73, 57, 66, 70, 99, 68, 91, 95, 86, 20, 32, 78, 46, 70, 62, 82, 100, 52}
{48, 55, 37, 51, 22, 24, 27, 64, 46, 70, 80, 33, 54, 98, 46, 49, 34, 22, 51, 7, 77, 98, 6, 50, 69, 57, 42, 5, 36, 92, 86, 100, 50, 50, 29, 50, 29, 48, 4, 16, 38, 16, 69, 79, 91, 15, 92, 53, 81}
Returns: 1620
{270029, 387270, 400388, 381474, 54657}
{983454, 360178, 847912, 811328, 975654}
Returns: 2538892
{176715, 684068, 525482, 170722, 438374}
{742416, 738659, 808539, 28755, 264643}
Returns: 1219047
{362905, 723554, 61525, 749544, 591773, 763049, 509390, 246744, 887942, 645949, 106314, 902732}
{327093, 703042, 587695, 792792, 75159, 448701, 510092, 577573, 553290, 966872, 398398, 370426}
Returns: 3268200
{863356, 203105, 666306, 602420, 483371, 216810, 398368, 503968, 358028, 944434, 259680, 407713, 292973, 573707}
{751473, 415938, 398201, 104157, 387159, 2337, 739610, 7854, 245516, 288083, 46033, 847019, 120369, 469946}
Returns: 3937306
{486887, 764487, 250696, 450652, 838876, 934659, 893283, 874352, 873851, 594816, 7991, 294813, 465776, 409278, 341146, 926524, 164610, 983659, 998631, 380489, 337738, 883195, 390470, 866749, 791505, 982169, 368359, 245702, 349245, 936148, 763927, 746146, 271106, 428148, 33574, 848707, 761723, 200769, 300131, 773646, 819590, 865308, 577778, 63026, 624356, 995917, 956306, 180495, 413925}
{84879, 283740, 496263, 115251, 57883, 54373, 157592, 300473, 614007, 840681, 179607, 493669, 547172, 716490, 899679, 404143, 537103, 690243, 718366, 88637, 261871, 936580, 519760, 758822, 330148, 449693, 556988, 596130, 234248, 237144, 308405, 316085, 979729, 124045, 159318, 508926, 709126, 73690, 206320, 540970, 943829, 967541, 957263, 418796, 506090, 554700, 443869, 705222, 221510}
Returns: 16352447
{264573, 944943, 47490, 401402, 638028, 396778, 295763, 839499, 676250, 540751, 554880, 713404, 690978, 819788, 742531, 906106, 902699, 178790, 15339, 433512, 848733, 328297, 75675, 188706, 786906, 265549, 437273, 895605, 179967, 160291, 735827, 134765, 463689, 198874, 220368, 811867, 828924, 937065, 979505, 587141, 403781, 453164, 883715, 282462, 130569, 926208, 296343, 309156, 682218}
{486087, 523611, 64150, 29017, 864128, 212809, 4269, 457387, 19373, 108862, 563554, 438524, 786746, 687370, 178188, 464740, 303752, 480508, 934768, 766814, 333642, 434146, 840674, 480154, 465611, 796184, 118576, 637516, 513730, 920221, 577609, 230596, 273882, 62188, 790539, 2200, 603973, 977082, 419625, 60150, 678270, 701359, 536973, 832812, 29931, 699044, 526341, 101025, 797699}
Returns: 16688380
{632516, 38141, 598024, 486409, 257963, 334828, 489571, 382602, 770970, 469420, 390397, 71957, 697016, 789042, 935864, 922509, 436069, 465537, 567712, 282747, 129331, 735645, 343483, 12031, 515124, 597950, 544405, 556990, 715407, 331598, 575512, 490750, 116607, 700133, 868318, 196908, 462881, 880980, 869659, 996504, 72133, 987687, 259349, 209763, 602743, 666171, 294676, 184922}
{804493, 519898, 724030, 464215, 226295, 888806, 925221, 947002, 476865, 329485, 285819, 640164, 759535, 540190, 185261, 973047, 855391, 730371, 470112, 386240, 239035, 57963, 540894, 9322, 309489, 192277, 505744, 880518, 194421, 513000, 304828, 535325, 161479, 678469, 764678, 570705, 685805, 670927, 723820, 468556, 980413, 722321, 744796, 386014, 521148, 658207, 800735, 208380}
Returns: 12576023
{724153, 686999, 253462, 435049, 545990, 110829, 743763, 253788, 331949, 689217, 9059, 50967, 965920, 549628, 951762, 925144, 529701, 339959, 105471, 49553, 926929, 627683, 49770, 474471, 353117, 553918, 522195, 764680, 998817, 386598, 137191, 878053, 127324, 250444, 142604, 53401, 78443, 246208, 265047, 983599, 648300, 136742, 138392, 251954, 119794, 383450, 339967}
{415355, 431682, 630865, 423732, 422189, 211931, 254994, 420632, 433223, 274976, 731983, 808836, 594465, 146754, 432121, 668690, 183577, 719776, 744482, 510574, 243224, 835757, 979000, 182431, 461420, 737659, 808594, 25647, 828852, 145096, 745991, 681284, 715910, 22113, 37374, 686980, 661224, 54381, 940085, 197762, 328613, 913298, 675087, 724117, 843036, 774447, 185843}
Returns: 19018290
{2, 4, 6, 7}
{7, 6, 3, 2}
Returns: 15
{2, 4, 7, 9}
{9, 5, 5, 2}
Returns: 17
{1, 1, 3, 3, 5, 5, 5, 5, 5, 6, 7, 7, 10, 10}
{8, 9, 7, 8, 5, 6, 6, 6, 6, 3, 2, 3, 2, 2}
Returns: 56
{1, 2, 2, 3, 3, 6, 8, 8, 9, 9, 10, 10, 10}
{10, 9, 10, 8, 9, 7, 6, 7, 4, 4, 1, 3, 4}
Returns: 71
{1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10}
{9, 10, 10, 10, 10, 7, 7, 8, 8, 8, 8, 9, 9, 9, 6, 6, 6, 6, 5, 5, 6, 6, 5, 5, 5, 5, 4, 4, 4, 3, 3, 4, 4, 4, 1, 2, 2, 2, 2, 3, 3, 1, 1, 1, 1, 1, 1}
Returns: 248
{1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10}
{10, 10, 10, 8, 9, 9, 9, 9, 10, 8, 8, 8, 8, 7, 7, 7, 8, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 5, 5, 5, 6, 4, 4, 4, 5, 5, 3, 4, 1, 1, 1, 1, 2, 2, 3, 1, 1, 1}
Returns: 219
{1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10}
{10, 10, 10, 10, 9, 9, 9, 10, 8, 9, 9, 9, 8, 7, 8, 8, 8, 8, 8, 6, 7, 7, 6, 6, 6, 6, 4, 4, 5, 5, 5, 5, 5, 6, 6, 2, 2, 2, 3, 3, 3, 3, 4, 4, 1, 1, 1, 1, 1}
Returns: 242
{1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 10}
{9, 9, 10, 10, 10, 10, 10, 8, 8, 8, 9, 9, 6, 6, 6, 7, 7, 7, 8, 8, 8, 5, 5, 6, 6, 3, 4, 4, 4, 5, 5, 5, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1}
Returns: 240
{24, 64, 66, 71, 72, 99}
{83, 60, 35, 32, 9, 2}
Returns: 293
{44, 47}
{88, 37}
Returns: 54
{2, 4, 5, 11, 14, 22, 32, 54, 56, 60, 63, 64, 68, 80, 92}
{100, 93, 92, 83, 72, 68, 38, 36, 36, 33, 33, 16, 14, 8, 8}
Returns: 809
{7, 11, 21, 23, 24, 46, 50, 60, 66, 66, 72, 88, 98}
{88, 82, 73, 71, 63, 49, 47, 41, 33, 39, 15, 11, 7}
Returns: 601
{1, 4, 4, 5, 5, 8, 10, 12, 13, 16, 22, 24, 28, 28, 35, 36, 37, 38, 38, 41, 46, 50, 52, 53, 53, 54, 54, 55, 55, 56, 57, 58, 63, 63, 64, 66, 67, 69, 75, 79, 81, 82, 82, 84, 87, 87, 96, 96}
{99, 96, 98, 90, 94, 90, 86, 71, 71, 70, 70, 68, 67, 68, 65, 62, 61, 54, 61, 52, 44, 36, 33, 30, 31, 28, 29, 26, 26, 26, 25, 24, 22, 24, 22, 22, 21, 21, 21, 19, 17, 17, 17, 15, 7, 14, 3, 6}
Returns: 2346
{4, 4, 6, 7, 9, 10, 12, 13, 16, 18, 21, 23, 25, 27, 27, 28, 34, 37, 37, 40, 41, 43, 43, 46, 48, 49, 55, 57, 58, 58, 59, 65, 66, 68, 70, 75, 77, 78, 79, 80, 81, 85, 86, 86, 90, 90, 91, 95, 96}
{99, 100, 98, 96, 95, 93, 91, 90, 90, 85, 83, 82, 80, 79, 79, 78, 77, 75, 76, 73, 68, 67, 67, 66, 63, 61, 60, 55, 45, 53, 43, 39, 36, 31, 30, 25, 22, 21, 18, 16, 14, 13, 7, 12, 5, 6, 4, 3, 1}
Returns: 2639
{8, 10, 13, 16, 17, 20, 20, 21, 21, 25, 27, 28, 28, 29, 32, 35, 35, 37, 38, 47, 48, 49, 50, 52, 54, 54, 55, 56, 57, 59, 60, 67, 67, 72, 76, 77, 77, 77, 81, 82, 83, 86, 86, 86, 87, 87, 90, 94, 95, 100}
{100, 99, 97, 95, 94, 90, 90, 85, 88, 84, 79, 75, 75, 74, 74, 70, 70, 67, 66, 66, 65, 64, 62, 61, 49, 60, 47, 44, 43, 43, 43, 36, 37, 34, 34, 29, 31, 32, 28, 28, 27, 16, 19, 22, 7, 15, 7, 6, 4, 2}
Returns: 2418
{3, 6, 8, 9, 10, 11, 11, 13, 19, 24, 24, 25, 26, 30, 34, 34, 36, 36, 42, 44, 46, 47, 48, 50, 50, 53, 54, 54, 55, 55, 56, 57, 61, 68, 70, 72, 73, 75, 76, 76, 81, 81, 82, 82, 84, 94, 96, 97, 98, 100}
{99, 99, 89, 88, 88, 80, 85, 78, 72, 71, 71, 69, 66, 64, 60, 63, 57, 59, 55, 50, 50, 49, 48, 39, 47, 38, 34, 37, 31, 33, 29, 29, 28, 28, 28, 28, 27, 27, 21, 26, 13, 15, 11, 11, 11, 10, 9, 8, 7, 4}
Returns: 2345
{377624, 488795, 738551, 849824, 941184}
{959496, 463626, 369522, 278649, 13721}
Returns: 2474708
{68214, 274406, 359090, 503657, 514747, 722213}
{900577, 892405, 794250, 785369, 691777, 656336}
Returns: 2410141
{54658, 276342, 302577, 426758, 488711, 503971, 547449, 607052, 607634, 692568, 744304, 745940, 877339, 884521}
{983151, 954937, 879786, 694306, 667598, 623070, 593382, 592863, 512934, 430872, 395440, 364277, 70174, 14248}
Returns: 5574314
{196142, 198001, 358260, 553240, 716712, 766458, 767527, 782106, 856357, 917173, 930486, 969964}
{945329, 863698, 851982, 776396, 725270, 410845, 365187, 350872, 314097, 137250, 116355, 105300}
Returns: 6330485
{3157, 12525, 35690, 61419, 71776, 95705, 104195, 112750, 193406, 197827, 205839, 211893, 213734, 217437, 226120, 232439, 258325, 270403, 279331, 402960, 478791, 484379, 490465, 552880, 597554, 634899, 644113, 654453, 662561, 693521, 710124, 711927, 712412, 715635, 738584, 747836, 755813, 807183, 850870, 877239, 912101, 914440, 924775, 938477, 954704, 955134, 967963, 979996, 993434}
{977247, 929052, 878922, 854540, 825173, 782854, 751340, 738525, 648020, 645276, 635092, 602900, 602847, 593250, 588972, 587566, 561942, 557416, 552313, 535384, 521057, 498369, 458928, 453081, 422784, 410385, 406958, 367144, 355125, 323030, 294964, 286625, 264562, 249102, 205943, 186820, 183847, 183323, 164150, 146086, 122226, 118292, 109900, 102481, 84678, 60502, 58052, 55370, 1349}
Returns: 25521342
{9484, 36621, 52772, 71955, 84321, 145137, 203576, 228956, 229605, 245160, 265655, 283304, 309316, 340680, 350175, 407301, 415568, 426676, 442055, 443603, 448625, 469260, 474037, 534237, 592465, 625901, 644479, 651653, 674881, 676156, 679704, 703345, 768933, 779298, 801760, 801874, 812165, 815829, 817063, 843160, 851066, 865655, 928606, 942715, 942882, 970152, 995147}
{995166, 987790, 985046, 982537, 973658, 969073, 966484, 959543, 925038, 914451, 910152, 873822, 803159, 800578, 702446, 670335, 666856, 622611, 600870, 596460, 587009, 552192, 547070, 536150, 532063, 517989, 488056, 481464, 414243, 397024, 378891, 377090, 362961, 333150, 326810, 326517, 311164, 307793, 290752, 273977, 261948, 248067, 245395, 176361, 130080, 80906, 15203}
Returns: 23117402
{40174, 58557, 76948, 78557, 112823, 124323, 142254, 158830, 194325, 213831, 215296, 228723, 248122, 253907, 256407, 262902, 264720, 301468, 302480, 306724, 315194, 315320, 381881, 392777, 399601, 415373, 495403, 523816, 533240, 537258, 577633, 586574, 589995, 601176, 648936, 712524, 715078, 720209, 786684, 802906, 812510, 816342, 857707, 906599, 912424, 920479, 930636, 934209, 941502, 975485}
{977253, 922997, 909155, 902351, 901090, 875329, 861023, 842910, 841103, 806611, 796409, 792637, 778758, 749629, 710514, 695073, 691341, 657391, 648813, 646984, 627701, 607761, 599176, 595600, 535215, 528342, 503685, 481099, 459760, 458936, 448514, 444634, 410999, 362458, 357392, 347395, 276472, 274360, 246271, 242970, 234435, 205797, 176172, 160394, 154344, 143463, 137632, 115392, 109786, 3219}
Returns: 24539959
{5603, 18725, 48318, 49352, 69596, 80173, 85277, 128524, 135411, 136949, 187976, 236662, 318755, 323062, 342298, 361129, 400709, 401982, 417065, 424760, 429409, 435310, 473932, 479635, 500985, 503483, 530883, 531283, 558551, 622509, 644799, 650760, 651718, 651925, 707644, 792979, 799367, 812739, 817686, 829689, 849547, 866135, 907079, 913058, 933638, 940245, 943333, 978215}
{988775, 986451, 982041, 971355, 952339, 880350, 797255, 789174, 786743, 784798, 783868, 778477, 747896, 734921, 722336, 698738, 628832, 606936, 599380, 599148, 594863, 587836, 496958, 496269, 463549, 407514, 394079, 362516, 352039, 318030, 301706, 297348, 257288, 237749, 215760, 212833, 208156, 199359, 150184, 141830, 115208, 102587, 72770, 71996, 49881, 21408, 18811, 15107}
Returns: 24955669
{2, 2, 2, 2, 2}
{2, 2, 2, 2, 2}
Returns: 0
Here we have five identical 2x2 squares. They can be rotated and reordered arbitrarily, but it will still be a collection of five identical squares. So even though there are 2^5 ways to rotate them and then 5! possible orders, each time you will end up with exactly the same tower: a rectangle of width 2 and height 10.Thus, Alice will build a tower of height 10, Bob will build a tower of height 10, and the difference is 10-10 = 0.
{3 }
{5 }
Returns: 2