24 Game
The 24 Game is an arithmetical card game in which the objective is to find a way to manipulate four integers so that the end result is 24.
For example, for the card with the numbers 4, 7, 8, 8, a possible solution is (7 - (8 / 8)) * 4 = 24.
Given 4 numbers, find a solution string.
Example:
- Given
[3, 3, 7, 7], one possible solution is"((3 / 7) + 3) * 7". - Given
[1, 5, 5, 5], one possible solution is"(5 - (1 / 5)) * 5". - Given
[3, 8, 8, 10], one possible solution is"((8 * 10) - 8) / 3".
Solution: DFS
class Solution:
def game24(self, nums, target=24):
solutions = set()
def dfs(ops):
if len(ops) == 1 and self.is_close(ops[0][0], target):
solutions.add(ops[0][1])
if len(ops) <= 1:
return
for picks, unpicks in self.combine(ops, 2):
(a, op_a), (b, op_b) = picks
for op in self.calculate(a, b, op_a, op_b):
dfs(unpicks + [op])
dfs([(num, '') for num in nums])
return solutions
def is_close(self, a, b):
return abs(a - b) <= max(1e-9 * max(abs(a), abs(b)), 0.0)
def combine(self, nums, k):
nums.sort()
picks, unpicks = [], []
result = []
def dfs(start, _k):
if len(nums) - start < _k:
return
if _k <= 0:
result.append((picks[:], unpicks + nums[start:]))
return
for idx in xrange(start, len(nums)):
num = nums[idx]
if idx > start and num == nums[idx - 1]:
unpicks.append(num)
continue
picks.append(num)
dfs(idx + 1, _k - 1)
picks.pop()
unpicks.append(num)
for _ in xrange(start, len(nums)):
unpicks.pop()
dfs(0, k)
return result
def calculate(self, a, b, op_a, op_b):
op_a = '({})'.format(op_a) if op_a else str(a)
op_b = '({})'.format(op_b) if op_b else str(b)
yield a + b, '{} + {}'.format(op_a, op_b)
yield a - b, '{} - {}'.format(op_a, op_b)
yield a * b, '{} * {}'.format(op_a, op_b)
if b:
yield float(a) / b, '{} / {}'.format(op_a, op_b)
if a != b:
yield b - a, '{} - {}'.format(op_b, op_a)
if a:
yield float(b) / a, '{} / {}'.format(op_b, op_a)
def run():
s = Solution()
cards = [card for card in xrange(1, 14) for _ in xrange(4)]
for hand, _ in s.combine(cards, 4):
solutions = s.game24(hand)
if len(solutions) == 1:
print '{}: {}'.format(hand, solutions.pop())
Lessons:
170 hands have only 1 solution:
[1, 1, 1, 8]: (1 + (1 + 1)) * 8 [1, 1, 1, 11]: (1 + 1) * (1 + 11) [1, 1, 1, 13]: (1 + 1) * (13 - 1) [1, 1, 2, 7]: (1 + 2) * (1 + 7) [1, 1, 2, 9]: (1 + 2) * (9 - 1) [1, 1, 3, 5]: (1 + 3) * (1 + 5) [1, 1, 3, 11]: (3 - 1) * (1 + 11) [1, 1, 4, 10]: 4 + ((1 + 1) * 10) [1, 1, 6, 9]: 6 + ((1 + 1) * 9) [1, 1, 6, 12]: 12 + ((1 + 1) * 6) [1, 1, 7, 10]: 10 + ((1 + 1) * 7) [1, 1, 8, 8]: 8 + ((1 + 1) * 8) [1, 2, 7, 7]: ((7 * 7) - 1) / 2 [1, 2, 9, 11]: ((1 + 2) * 11) - 9 [1, 3, 4, 6]: 6 / (1 - (3 / 4)) [1, 3, 9, 10]: (3 * (1 + 10)) - 9 [1, 4, 6, 10]: ((4 - 1) * 10) - 6 [1, 4, 7, 7]: (7 - 4) * (1 + 7) [1, 4, 7, 11]: ((1 + 4) * 7) - 11 [1, 5, 5, 5]: (5 - (1 / 5)) * 5 [1, 5, 5, 9]: (9 - 5) * (1 + 5) [1, 5, 5, 10]: (5 * (10 - 5)) - 1 [1, 5, 5, 12]: (1 + (5 / 5)) * 12 [1, 5, 8, 13]: (5 * (13 - 8)) - 1 [1, 5, 9, 13]: (13 - 9) * (1 + 5) [1, 5, 11, 11]: ((11 * 11) - 1) / 5 [1, 6, 6, 6]: ((6 - 1) * 6) - 6 [1, 6, 6, 8]: 6 / (1 - (6 / 8)) [1, 6, 7, 9]: (9 - 6) * (1 + 7) [1, 6, 11, 13]: (1 + (11 * 13)) / 6 [1, 7, 7, 12]: (1 + (7 / 7)) * 12 [1, 7, 9, 11]: (9 - 7) * (1 + 11) [1, 7, 10, 13]: (13 - 10) * (1 + 7) [1, 7, 13, 13]: ((13 * 13) - 1) / 7 [1, 8, 10, 11]: (10 - 8) * (1 + 11) [1, 8, 12, 12]: 12 / ((12 / 8) - 1) [1, 9, 11, 11]: (11 - 9) * (1 + 11) [1, 10, 10, 12]: (1 + (10 / 10)) * 12 [1, 11, 11, 12]: (1 + (11 / 11)) * 12 [1, 12, 12, 12]: (1 + (12 / 12)) * 12 [1, 12, 13, 13]: (1 + (13 / 13)) * 12 [2, 2, 2, 5]: 2 * (2 + (2 * 5)) [2, 2, 2, 7]: 2 * ((2 * 7) - 2) [2, 2, 2, 9]: 2 + (2 * (2 + 9)) [2, 2, 3, 5]: 3 * ((2 * 5) - 2) [2, 2, 3, 10]: (2 * (3 + 10)) - 2 [2, 2, 5, 7]: (2 * 5) + (2 * 7) [2, 2, 5, 8]: (2 * (5 + 8)) - 2 [2, 2, 6, 13]: (2 * (2 + 13)) - 6 [2, 2, 7, 10]: 2 * ((10 / 2) + 7) [2, 2, 10, 11]: 2 * ((2 * 11) - 10) [2, 2, 11, 11]: ((2 / 11) + 2) * 11 [2, 2, 13, 13]: (2 - (2 / 13)) * 13 [2, 3, 5, 12]: 12 / (3 - (5 / 2)) [2, 3, 8, 13]: (2 * (3 + 13)) - 8 [2, 4, 4, 9]: (4 * (9 - 2)) - 4 [2, 4, 5, 5]: 4 + (2 * (5 + 5)) [2, 4, 7, 7]: (2 * (7 + 7)) - 4 [2, 4, 10, 10]: ((4 / 10) + 2) * 10 [2, 4, 11, 12]: (4 * (11 - 2)) - 12 [2, 5, 5, 8]: ((5 / 5) + 2) * 8 [2, 5, 5, 10]: (5 - (2 / 10)) * 5 [2, 5, 7, 8]: ((2 * 5) - 7) * 8 [2, 6, 6, 11]: 2 * ((6 / 6) + 11) [2, 6, 6, 13]: 2 * (13 - (6 / 6)) [2, 7, 7, 10]: ((10 / 7) + 2) * 7 [2, 7, 7, 13]: 2 * (13 - (7 / 7)) [2, 7, 8, 9]: (2 * (7 + 9)) - 8 [2, 8, 8, 11]: 2 * ((8 / 8) + 11) [2, 8, 11, 11]: ((11 / 11) + 2) * 8 [2, 8, 13, 13]: ((13 / 13) + 2) * 8 [2, 9, 9, 11]: 2 * ((9 / 9) + 11) [2, 9, 9, 13]: 2 * (13 - (9 / 9)) [2, 9, 13, 13]: ((9 + 13) / 2) + 13 [2, 10, 10, 11]: 2 * ((10 / 10) + 11) [2, 11, 11, 11]: 2 * ((11 / 11) + 11) [2, 13, 13, 13]: 2 * (13 - (13 / 13)) [3, 3, 3, 3]: (3 * (3 * 3)) - 3 [3, 3, 3, 5]: (3 * 3) + (3 * 5) [3, 3, 3, 9]: 3 * (9 - (3 / 3)) [3, 3, 3, 11]: (3 * 11) - (3 * 3) [3, 3, 4, 13]: (3 * (13 - 4)) - 3 [3, 3, 5, 5]: (5 * 5) - (3 / 3) [3, 3, 5, 7]: 3 * ((3 * 5) - 7) [3, 3, 6, 6]: 3 * ((6 / 3) + 6) [3, 3, 7, 7]: ((3 / 7) + 3) * 7 [3, 3, 7, 13]: 3 * ((3 * 7) - 13) [3, 3, 8, 8]: 8 / (3 - (8 / 3)) [3, 3, 9, 13]: (13 - 9) * (3 + 3) [3, 4, 4, 4]: (4 * (3 + 4)) - 4 [3, 4, 4, 10]: (4 * (10 - 3)) - 4 [3, 5, 5, 12]: (3 - (5 / 5)) * 12 [3, 5, 7, 13]: (7 + (5 * 13)) / 3 [3, 5, 10, 10]: 3 * (10 - (10 / 5)) [3, 6, 6, 10]: ((6 - 3) * 10) - 6 [3, 6, 6, 11]: (6 + (6 * 11)) / 3 [3, 7, 7, 9]: 3 * (9 - (7 / 7)) [3, 7, 7, 12]: (3 - (7 / 7)) * 12 [3, 7, 11, 11]: 3 * ((11 / 11) + 7) [3, 7, 13, 13]: 3 * ((13 / 13) + 7) [3, 8, 8, 10]: ((8 * 10) - 8) / 3 [3, 9, 10, 10]: 3 * (9 - (10 / 10)) [3, 9, 11, 13]: (13 - 11) * (3 + 9) [3, 9, 13, 13]: 3 * (9 - (13 / 13)) [3, 11, 11, 12]: (3 - (11 / 11)) * 12 [3, 12, 12, 12]: (3 - (12 / 12)) * 12 [3, 12, 13, 13]: (3 - (13 / 13)) * 12 [4, 4, 4, 5]: 4 * ((4 / 4) + 5) [4, 4, 4, 11]: (4 * (11 - 4)) - 4 [4, 4, 6, 13]: (4 * (13 - 6)) - 4 [4, 4, 7, 7]: (4 - (4 / 7)) * 7 [4, 4, 7, 10]: (10 - 7) * (4 + 4) [4, 4, 7, 13]: (4 * 13) - (4 * 7) [4, 4, 10, 10]: ((10 * 10) - 4) / 4 [4, 5, 5, 7]: 4 * (7 - (5 / 5)) [4, 5, 5, 8]: (4 - (5 / 5)) * 8 [4, 5, 9, 9]: 4 * ((9 / 9) + 5) [4, 5, 13, 13]: 4 * ((13 / 13) + 5) [4, 7, 7, 7]: 4 * (7 - (7 / 7)) [4, 7, 9, 9]: 4 * (7 - (9 / 9)) [4, 7, 10, 10]: 4 * (7 - (10 / 10)) [4, 7, 11, 11]: 4 * (7 - (11 / 11)) [4, 7, 13, 13]: 4 * (7 - (13 / 13)) [4, 8, 8, 11]: (8 + (8 * 11)) / 4 [4, 8, 8, 13]: ((8 * 13) - 8) / 4 [4, 8, 9, 9]: (4 - (9 / 9)) * 8 [5, 5, 5, 5]: (5 * 5) - (5 / 5) [5, 5, 7, 11]: (7 - (11 / 5)) * 5 [5, 5, 8, 8]: (5 * 5) - (8 / 8) [5, 5, 9, 9]: (5 * 5) - (9 / 9) [5, 5, 10, 10]: (5 * 5) - (10 / 10) [5, 5, 11, 11]: (5 * 5) - (11 / 11) [5, 5, 13, 13]: (5 * 5) - (13 / 13) [5, 6, 6, 6]: (5 - (6 / 6)) * 6 [5, 6, 6, 9]: (6 * 9) - (5 * 6) [5, 6, 7, 7]: (5 - (7 / 7)) * 6 [5, 6, 11, 11]: (5 - (11 / 11)) * 6 [5, 6, 13, 13]: (5 - (13 / 13)) * 6 [5, 7, 7, 9]: (9 - 7) * (5 + 7) [5, 7, 7, 11]: (5 - (11 / 7)) * 7 [5, 7, 8, 10]: (10 - 8) * (5 + 7) [5, 7, 9, 11]: (11 - 9) * (5 + 7) [5, 7, 10, 11]: ((10 - 5) * 7) - 11 [5, 7, 11, 13]: (13 - 11) * (5 + 7) [5, 7, 12, 12]: (7 * 12) - (5 * 12) [5, 8, 12, 12]: ((8 - 5) * 12) - 12 [5, 10, 10, 11]: (10 + (10 * 11)) / 5 [5, 10, 10, 13]: ((10 * 13) - 10) / 5 [6, 6, 6, 10]: (6 * 10) - (6 * 6) [6, 6, 6, 11]: ((11 - 6) * 6) - 6 [6, 6, 7, 11]: (6 * 11) - (6 * 7) [6, 6, 8, 13]: ((13 - 8) * 6) - 6 [6, 6, 9, 13]: (6 * 13) - (6 * 9) [6, 7, 10, 10]: ((10 - 7) * 10) - 6 [6, 7, 11, 11]: ((11 - 6) * 7) - 11 [6, 8, 10, 11]: ((11 - 8) * 10) - 6 [6, 10, 10, 13]: ((13 - 10) * 10) - 6 [6, 11, 12, 12]: (12 + (11 * 12)) / 6 [6, 12, 12, 13]: ((12 * 13) - 12) / 6 [7, 8, 8, 10]: (8 * 10) - (7 * 8) [7, 8, 8, 11]: ((11 - 7) * 8) - 8 [7, 9, 12, 12]: (9 * 12) - (7 * 12) [8, 8, 8, 11]: (8 * 11) - (8 * 8) [8, 8, 9, 12]: (8 * 12) - (8 * 9) [8, 8, 9, 13]: ((13 - 9) * 8) - 8 [8, 9, 11, 11]: ((11 - 8) * 11) - 9 [8, 11, 12, 12]: ((11 - 8) * 12) - 12 [9, 11, 12, 12]: (11 * 12) - (9 * 12) [9, 12, 12, 12]: ((12 - 9) * 12) - 12 [10, 12, 12, 12]: (12 * 12) - (10 * 12)458 hands have 0 solution:
[1, 1, 1, 1] [1, 1, 1, 2] [1, 1, 1, 3] [1, 1, 1, 4] [1, 1, 1, 5] [1, 1, 1, 6] [1, 1, 1, 7] [1, 1, 1, 9] [1, 1, 1, 10] [1, 1, 2, 2] [1, 1, 2, 3] [1, 1, 2, 4] [1, 1, 2, 5] [1, 1, 3, 3] [1, 1, 4, 11] [1, 1, 4, 13] [1, 1, 5, 9] [1, 1, 5, 10] [1, 1, 5, 11] [1, 1, 5, 12] [1, 1, 5, 13] [1, 1, 6, 7] [1, 1, 6, 10] [1, 1, 6, 11] [1, 1, 6, 13] [1, 1, 7, 7] [1, 1, 7, 8] [1, 1, 7, 9] [1, 1, 7, 11] [1, 1, 7, 12] [1, 1, 7, 13] [1, 1, 8, 9] [1, 1, 8, 10] [1, 1, 8, 11] [1, 1, 8, 12] [1, 1, 8, 13] [1, 1, 9, 9] [1, 1, 9, 10] [1, 1, 9, 11] [1, 1, 9, 12] [1, 1, 10, 10] [1, 1, 10, 11] [1, 2, 2, 2] [1, 2, 2, 3] [1, 2, 5, 11] [1, 2, 7, 13] [1, 2, 8, 11] [1, 2, 8, 12] [1, 2, 9, 9] [1, 2, 9, 10] [1, 2, 10, 10] [1, 3, 3, 13] [1, 3, 5, 5] [1, 3, 7, 11] [1, 3, 10, 13] [1, 3, 11, 13] [1, 4, 4, 13] [1, 4, 7, 10] [1, 4, 8, 10] [1, 4, 9, 9] [1, 4, 10, 13] [1, 4, 11, 11] [1, 4, 11, 12] [1, 4, 11, 13] [1, 4, 12, 13] [1, 4, 13, 13] [1, 5, 5, 7] [1, 5, 5, 8] [1, 5, 7, 7] [1, 5, 11, 13] [1, 5, 12, 13] [1, 5, 13, 13] [1, 6, 6, 7] [1, 6, 7, 7] [1, 6, 7, 8] [1, 6, 7, 13] [1, 6, 9, 11] [1, 6, 10, 10] [1, 6, 10, 11] [1, 6, 11, 11] [1, 6, 13, 13] [1, 7, 7, 7] [1, 7, 7, 8] [1, 7, 7, 13] [1, 7, 8, 13] [1, 7, 10, 10] [1, 7, 10, 11] [1, 7, 11, 11] [1, 7, 11, 12] [1, 7, 11, 13] [1, 8, 8, 13] [1, 8, 9, 9] [1, 8, 9, 10] [1, 8, 10, 10] [1, 8, 11, 11] [1, 8, 12, 13] [1, 8, 13, 13] [1, 9, 9, 9] [1, 9, 9, 10] [1, 9, 9, 11] [1, 9, 9, 13] [1, 9, 10, 10] [1, 9, 10, 11] [1, 9, 12, 13] [1, 9, 13, 13] [1, 10, 10, 10] [1, 10, 10, 11] [1, 10, 10, 13] [1, 10, 11, 11] [1, 10, 11, 13] [1, 10, 13, 13] [1, 11, 11, 11] [1, 13, 13, 13] [2, 2, 2, 2] [2, 2, 2, 6] [2, 2, 5, 13] [2, 2, 7, 9] [2, 2, 7, 11] [2, 2, 8, 11] [2, 2, 8, 13] [2, 2, 9, 9] [2, 2, 9, 13] [2, 2, 10, 12] [2, 3, 3, 4] [2, 3, 9, 11] [2, 3, 10, 11] [2, 4, 7, 13] [2, 4, 9, 11] [2, 4, 11, 13] [2, 4, 12, 13] [2, 5, 5, 5] [2, 5, 5, 6] [2, 5, 7, 12] [2, 5, 9, 9] [2, 5, 9, 13] [2, 5, 11, 11] [2, 5, 11, 13] [2, 5, 13, 13] [2, 6, 7, 7] [2, 6, 9, 13] [2, 6, 11, 11] [2, 6, 13, 13] [2, 7, 7, 7] [2, 7, 7, 9] [2, 7, 8, 10] [2, 7, 9, 9] [2, 7, 9, 12] [2, 7, 10, 13] [2, 7, 11, 11] [2, 7, 11, 13] [2, 7, 13, 13] [2, 8, 11, 13] [2, 9, 9, 9] [2, 9, 9, 10] [2, 9, 11, 12] [2, 9, 12, 12] [2, 10, 10, 10] [2, 10, 12, 12] [2, 10, 13, 13] [3, 3, 3, 13] [3, 3, 4, 10] [3, 3, 5, 8] [3, 3, 5, 11] [3, 3, 7, 10] [3, 3, 8, 11] [3, 3, 10, 10] [3, 3, 10, 11] [3, 3, 10, 12] [3, 3, 11, 11] [3, 3, 13, 13] [3, 4, 6, 7] [3, 4, 7, 13] [3, 4, 8, 8] [3, 4, 9, 10] [3, 4, 10, 11] [3, 4, 11, 11] [3, 4, 13, 13] [3, 5, 5, 5] [3, 5, 5, 10] [3, 5, 5, 13] [3, 5, 7, 7] [3, 5, 8, 10] [3, 5, 9, 11] [3, 5, 11, 13] [3, 6, 7, 11] [3, 6, 8, 11] [3, 6, 10, 13] [3, 7, 7, 11] [3, 7, 8, 10] [3, 7, 10, 12] [3, 7, 11, 13] [3, 8, 8, 13] [3, 8, 10, 13] [3, 8, 11, 13] [3, 10, 10, 10] [3, 10, 10, 11] [3, 10, 10, 13] [3, 10, 11, 11] [3, 10, 12, 12] [3, 10, 12, 13] [3, 10, 13, 13] [3, 11, 11, 11] [3, 11, 11, 13] [3, 11, 12, 13] [3, 11, 13, 13] [3, 13, 13, 13] [4, 4, 4, 13] [4, 4, 5, 9] [4, 4, 6, 6] [4, 4, 6, 7] [4, 4, 7, 11] [4, 4, 9, 9] [4, 4, 9, 10] [4, 4, 9, 13] [4, 4, 10, 11] [4, 4, 11, 11] [4, 4, 13, 13] [4, 5, 5, 11] [4, 5, 5, 12] [4, 5, 5, 13] [4, 5, 9, 11] [4, 6, 6, 11] [4, 6, 6, 13] [4, 6, 7, 11] [4, 6, 7, 13] [4, 6, 8, 11] [4, 6, 9, 11] [4, 6, 10, 13] [4, 6, 11, 13] [4, 7, 7, 9] [4, 7, 7, 10] [4, 7, 7, 12] [4, 7, 7, 13] [4, 7, 10, 13] [4, 8, 10, 13] [4, 9, 9, 9] [4, 9, 9, 11] [4, 9, 9, 13] [4, 9, 10, 10] [4, 9, 11, 13] [4, 9, 12, 13] [4, 9, 13, 13] [4, 10, 10, 10] [4, 10, 10, 13] [4, 10, 11, 11] [4, 10, 13, 13] [4, 11, 11, 11] [4, 11, 11, 12] [4, 11, 11, 13] [4, 11, 12, 12] [4, 11, 13, 13] [4, 12, 12, 13] [4, 12, 13, 13] [4, 13, 13, 13] [5, 5, 5, 7] [5, 5, 5, 8] [5, 5, 5, 10] [5, 5, 5, 11] [5, 5, 5, 13] [5, 5, 6, 9] [5, 5, 6, 10] [5, 5, 6, 12] [5, 5, 6, 13] [5, 5, 7, 9] [5, 5, 7, 12] [5, 5, 7, 13] [5, 5, 9, 12] [5, 5, 9, 13] [5, 5, 10, 12] [5, 6, 6, 11] [5, 6, 6, 13] [5, 6, 7, 10] [5, 6, 7, 11] [5, 6, 8, 11] [5, 7, 7, 7] [5, 7, 7, 8] [5, 7, 7, 12] [5, 7, 7, 13] [5, 7, 8, 11] [5, 7, 8, 12] [5, 7, 8, 13] [5, 7, 9, 9] [5, 7, 11, 12] [5, 7, 12, 13] [5, 8, 8, 11] [5, 8, 8, 12] [5, 8, 9, 9] [5, 8, 9, 10] [5, 8, 10, 10] [5, 8, 10, 13] [5, 8, 11, 11] [5, 8, 12, 13] [5, 8, 13, 13] [5, 9, 9, 9] [5, 9, 9, 10] [5, 9, 9, 13] [5, 9, 10, 12] [5, 9, 11, 11] [5, 9, 11, 12] [5, 9, 13, 13] [5, 10, 10, 10] [5, 10, 11, 12] [5, 10, 11, 13] [5, 10, 12, 12] [5, 11, 11, 11] [5, 11, 11, 12] [5, 11, 11, 13] [5, 11, 12, 13] [5, 11, 13, 13] [5, 12, 12, 12] [5, 12, 12, 13] [5, 12, 13, 13] [5, 13, 13, 13] [6, 6, 6, 7] [6, 6, 6, 13] [6, 6, 7, 7] [6, 6, 7, 8] [6, 6, 7, 13] [6, 6, 9, 9] [6, 6, 10, 10] [6, 6, 10, 11] [6, 6, 11, 11] [6, 6, 13, 13] [6, 7, 7, 7] [6, 7, 7, 8] [6, 7, 7, 9] [6, 7, 7, 12] [6, 7, 7, 13] [6, 7, 8, 8] [6, 7, 8, 13] [6, 7, 9, 10] [6, 7, 9, 11] [6, 7, 9, 13] [6, 7, 10, 11] [6, 7, 13, 13] [6, 8, 8, 13] [6, 8, 10, 10] [6, 8, 12, 13] [6, 9, 9, 9] [6, 9, 9, 13] [6, 9, 10, 10] [6, 9, 10, 13] [6, 9, 11, 11] [6, 9, 13, 13] [6, 10, 10, 11] [6, 10, 10, 12] [6, 10, 11, 11] [6, 10, 11, 13] [6, 10, 13, 13] [6, 11, 11, 11] [6, 11, 11, 13] [6, 11, 13, 13] [6, 13, 13, 13] [7, 7, 7, 7] [7, 7, 7, 8] [7, 7, 7, 9] [7, 7, 7, 10] [7, 7, 7, 11] [7, 7, 7, 13] [7, 7, 8, 8] [7, 7, 8, 9] [7, 7, 8, 10] [7, 7, 8, 12] [7, 7, 8, 13] [7, 7, 9, 9] [7, 7, 9, 11] [7, 7, 9, 12] [7, 7, 9, 13] [7, 7, 10, 10] [7, 7, 10, 11] [7, 7, 10, 12] [7, 7, 11, 11] [7, 7, 13, 13] [7, 8, 8, 8] [7, 8, 9, 9] [7, 8, 9, 11] [7, 8, 10, 12] [7, 8, 11, 11] [7, 8, 13, 13] [7, 9, 9, 9] [7, 9, 9, 10] [7, 9, 9, 11] [7, 9, 9, 12] [7, 9, 10, 10] [7, 9, 10, 13] [7, 9, 11, 13] [7, 9, 12, 13] [7, 10, 10, 10] [7, 10, 10, 13] [7, 10, 11, 11] [7, 10, 11, 12] [7, 10, 13, 13] [7, 11, 11, 11] [7, 11, 11, 12] [7, 11, 11, 13] [7, 11, 12, 12] [7, 11, 12, 13] [7, 11, 13, 13] [7, 12, 12, 12] [7, 12, 13, 13] [7, 13, 13, 13] [8, 8, 8, 8] [8, 8, 8, 9] [8, 8, 9, 9] [8, 8, 9, 10] [8, 8, 10, 10] [8, 8, 10, 11] [8, 8, 11, 11] [8, 8, 13, 13] [8, 9, 9, 9] [8, 9, 9, 10] [8, 9, 9, 11] [8, 9, 9, 13] [8, 9, 10, 10] [8, 9, 10, 11] [8, 9, 13, 13] [8, 10, 10, 10] [8, 10, 10, 11] [8, 10, 10, 13] [8, 10, 11, 12] [8, 10, 11, 13] [8, 11, 11, 11] [8, 11, 11, 12] [8, 11, 11, 13] [8, 11, 12, 13] [8, 11, 13, 13] [8, 12, 12, 12] [8, 12, 12, 13] [8, 12, 13, 13] [8, 13, 13, 13] [9, 9, 9, 9] [9, 9, 9, 10] [9, 9, 9, 11] [9, 9, 9, 13] [9, 9, 10, 10] [9, 9, 10, 11] [9, 9, 10, 12] [9, 9, 11, 11] [9, 9, 13, 13] [9, 10, 10, 10] [9, 10, 10, 11] [9, 10, 10, 12] [9, 10, 11, 11] [9, 10, 13, 13] [9, 11, 11, 12] [9, 11, 11, 13] [9, 12, 12, 13] [9, 12, 13, 13] [9, 13, 13, 13] [10, 10, 10, 10] [10, 10, 10, 11] [10, 10, 11, 11] [10, 10, 13, 13] [10, 11, 11, 11] [10, 11, 13, 13] [11, 11, 11, 11] [11, 11, 13, 13] [13, 13, 13, 13]