Skip to content

Instantly share code, notes, and snippets.

@rileyjshaw
Last active March 4, 2020 00:46
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rileyjshaw/2e048ece1b97702e50df918e3992e2ee to your computer and use it in GitHub Desktop.
Save rileyjshaw/2e048ece1b97702e50df918e3992e2ee to your computer and use it in GitHub Desktop.
I have some enclosures, and I want to make a puzzle. I wrote a script to help make it an interesting puzzle.
/**
* Partial calculator.
*
* I have some enclosures, and I want to make a puzzle.
*
* I'll turn the enclosures into a calculator, with no
* display but nine LEDs at the top. Some digits will
* be missing.
*
* The calculator will have 4 operations: +, -, x, ÷.
*
* The calculator will compute its solution after five
* digits are input, connected by four operations.
* Only single digit arguments are accepted; typing 3
* followed immediately by 6 is the same as just
* typing 6.
*
* There will be no parenthesis. Operations will happen
* immediately; order of operations does not apply.
*
* — — — — — — — — —
* |• * • * • * • * •|
* | |
* | 7 8 9 + |
* | |
* | 4 5 6 - |
* | |
* | 1 2 3 * |
* | |
* | 0 #MCU# ÷ |
* — — — — — — — — —
*
* The goal is to move from 0 to 512, moving on to
* the next level once an expression resolves to the
* current level number.
*
* For instance, to move through the first few levels:
*
* Level 0: 1 + 3 + 5 - 9
* Level 1: 3 + 7 - 5 - 2
* Level 2: 8 * 5 / 4 - 8
* ...etc.
*
* Holding an operation button for long enough should
* flash the current level in binary on the LEDs.
*
* This would be pretty easy with all 9 digits
* available. So some of the buttons will be torn off
* and unusable.
*
* Findings – this is the best calculator for low #s:
*
* — — — — — — — —
* | • * • * • * • |
* |— — — — — — — —|
* | 2 |
* | |
* | 4 6 |
* | |
* | 7 |
* |— — — — — — — —|
* | + - x ÷ |
* — — — — — — — —
*
* ...because it is pretty and takes us all the way to 98.
* Note that the case only needs seven LEDs for this one.
*
* Other nice ones are:
*
* - Got to 512 with [3, 6, 7, 8]
*
* — — — — — — — — —
* |• * • * • * • * •|
* | |
* | 7 8 + |
* | |
* | 6 - |
* | |
* | 3 * |
* | |
* | #MCU# ÷ |
* — — — — — — — — —
*
* The script below helped me figure out some good configurations:
*/
const digits = Array.from({length: 9}, (_, i) => i + 1); // 1...9.
const operations = [
[(a, b) => a + b, '+'],
[(a, b) => a - b, '-'],
[(a, b) => a * b, 'x'],
[(a, b) => a / b, '÷'],
];
const lengths = [6, 7]; // Acceptable numbers of digits.
const calculationLength = 5;
const getCombinations = (() => {
const memoizedCombinations = [];
const memoizedPermutations = [];
return function getCombinations (choices, length, permute = false) {
// Permute = false: [ [1, 2, 3], [1, 2, 4], ... ].
// Permute = true: [ [1, 1, 1], [1, 1, 2], ... ].
// Combinations are stored as indices until it's time to return.
const memo = permute ? memoizedPermutations : memoizedCombinations;
if (!memo[length]) memo[length] = [];
const memoized = memo[length][choices.length];
let combinations;
if (memoized) {
combinations = memoized;
} else {
const numChoices = choices.length;
combinations = (function nextIndex (start = 0, acc = []) {
const numRemainingSpots = length - acc.length;
if (!numRemainingSpots) return [acc];
let results = [];
if (permute || numRemainingSpots <= numChoices + 1 - start) {
for (let i = permute ? 0 : start; i < numChoices; ++i) {
const result = nextIndex(i + 1, acc.concat(i));
if (result.length) results.push(...result);
}
}
return results;
})();
memo[length][choices.length] = combinations;
}
return combinations.map(combination => combination.map(i => choices[i]));
};
})();
// Tests:
console.assert(
getCombinations(digits, 1).length === getCombinations(digits, 1, true).length,
'Permutations and combinations with length 1 should be the same.');
console.assert(getCombinations(digits, 2).every(combination =>
combination.slice(1).every((digit, i) => digit > combination[i])),
'Combinations should be in order.');
console.assert(getCombinations(digits, 4).length === 126,
'Incorrect number of combinations.');
console.assert(getCombinations(digits, 4, true).length === Math.pow(9, 4),
'Incorrect number of permutations.');
console.assert(getCombinations([2, 4, 5, 6, 7], 4, true).some(combination =>
combination.join('') === '4467'),
'Spot check.');
console.assert(getCombinations([2, 4, 5, 6, 7], 4).every(combination =>
combination.every(n => typeof n === 'number')),
'Spot check 2.');
// Get all possible combinations of operations, eg:
// [ [+, +, +], ..., [-, x, ÷], ... ].
const operationCombinations = getCombinations(operations, calculationLength - 1, true);
let highestScore = 0;
lengths.forEach(numAvailableDigits => {
// Run through each possible group of available digits.
// eg. if numAvailableDigits is 3:
// [ [1, 2, 3], [1, 2, 4], ... ].
const digitGroups = getCombinations(digits, numAvailableDigits);
// For each digit group, we need to do something like this:
//
// Get all possible combinations of digits in the digit group.
// eg. if the digit group is [1, 2, 3, 4, 7, 9]:
// [ [1, 1, 1, 1], ..., [1, 4, 9, 2], ... ].
//
digitGroups.forEach(digitGroup => {
const digitCombinations = getCombinations(digitGroup, calculationLength, true);
// First, test if the combination will be able to match the current
// high score. Then,
//
// Starting at 0, try all combinations of digits within the group
// against all combinations of operations until the target is reached.
// Then move on to the next target.
for (let target = -1, lastHit; target <= 1024; ++target) {
if (target === highestScore) continue;
else if (digitCombinations.some(digitCombination =>
operationCombinations.some(operationCombination => {
// If the digits and operations in order produce the target...
if (digitCombination.reduce((acc, digit, i) => {
const operation = operationCombination[i - 1][0];
return operation(acc, digit);
}) === (target === -1 ? highestScore : target)) {
lastHit = digitCombination.reduce((acc, digit, i) => {
const operation = operationCombination[i - 1][1];
return `${acc} ${operation} ${digit}`;
});
return true;
}
})
)) {
if (target >= highestScore) {
highestScore = target;
console.log(`Got to ${target} with [${digitGroup.join(', ')}] by ${lastHit}`);
}
} else break;
}
});
});
/*
~/Desktop ⋄ node partial-calculator.js
Got to 0 with [1, 2, 3, 4] by 1 + 1 - 1 - 1 x 1
Got to 1 with [1, 2, 3, 4] by 1 + 1 + 1 - 1 - 1
Got to 2 with [1, 2, 3, 4] by 1 + 1 + 1 - 1 x 1
Got to 3 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 - 1
Got to 4 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 x 1
Got to 5 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 + 1
Got to 6 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 + 2
Got to 7 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 + 3
Got to 8 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 x 2
Got to 9 with [1, 2, 3, 4] by 1 + 1 + 1 x 1 x 3
Got to 10 with [1, 2, 3, 4] by 1 + 1 + 1 + 2 x 2
Got to 11 with [1, 2, 3, 4] by 1 + 1 + 1 x 3 + 2
Got to 12 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 x 3
Got to 13 with [1, 2, 3, 4] by 1 + 1 + 1 x 3 + 4
Got to 14 with [1, 2, 3, 4] by 1 + 1 + 1 + 4 x 2
Got to 15 with [1, 2, 3, 4] by 1 + 1 + 1 + 2 x 3
Got to 16 with [1, 2, 3, 4] by 1 + 1 + 1 + 1 x 4
Got to 17 with [1, 2, 3, 4] by 1 + 1 + 2 x 4 + 1
Got to 18 with [1, 2, 3, 4] by 1 + 1 + 1 x 2 x 3
Got to 19 with [1, 2, 3, 4] by 1 + 1 + 2 x 4 + 3
Got to 20 with [1, 2, 3, 4] by 1 + 1 + 1 + 2 x 4
Got to 21 with [1, 2, 3, 4] by 1 + 1 + 1 + 4 x 3
Got to 22 with [1, 2, 3, 4] by 1 + 1 x 3 x 3 + 4
Got to 23 with [1, 2, 3, 4] by 1 + 1 x 3 x 4 - 1
Got to 24 with [1, 2, 3, 4] by 1 + 1 + 1 x 2 x 4
Got to 25 with [1, 2, 3, 4] by 1 + 1 x 3 x 4 + 1
Got to 26 with [1, 2, 3, 4] by 1 + 1 x 3 x 4 + 2
Got to 27 with [1, 2, 3, 4] by 1 + 1 + 1 x 3 x 3
Got to 28 with [1, 2, 3, 4] by 1 + 1 + 1 + 4 x 4
Got to 29 with [1, 2, 3, 4] by 1 + 1 x 4 x 4 - 3
Got to 30 with [1, 2, 3, 4] by 1 + 1 + 3 x 2 x 3
Got to 31 with [1, 2, 3, 4] by 1 + 1 x 4 x 4 - 1
Got to 32 with [1, 2, 3, 4] by 1 + 1 x 1 x 4 x 4
Got to 33 with [1, 2, 3, 4] by 1 + 1 x 4 + 3 x 3
Got to 34 with [1, 2, 3, 4] by 1 + 1 x 4 x 4 + 2
Got to 35 with [1, 2, 3, 4] by 1 + 1 x 4 x 4 + 3
Got to 36 with [1, 2, 3, 4] by 1 + 1 + 1 x 3 x 4
Got to 37 with [1, 2, 3, 4] by 1 + 2 x 3 x 4 + 1
Got to 38 with [1, 2, 3, 4] by 1 + 2 x 3 x 4 + 2
Got to 39 with [1, 2, 3, 4] by 1 + 2 x 3 + 4 x 3
Got to 40 with [1, 2, 3, 4] by 1 + 1 + 3 x 2 x 4
Got to 41 with [1, 2, 3, 4] by 1 + 4 x 2 x 4 + 1
Got to 42 with [1, 2, 3, 4] by 1 ÷ 2 + 3 x 3 x 4
Got to 43 with [1, 2, 3, 4] by 1 + 4 x 2 x 4 + 3
Got to 44 with [1, 2, 3, 4] by 1 + 1 x 4 + 3 x 4
Got to 45 with [1, 2, 3, 4] by 1 + 1 + 3 x 3 x 3
Got to 46 with [1, 2, 3, 4] by 1 + 2 x 4 x 4 - 2
Got to 47 with [1, 2, 3, 4] by 1 + 2 x 4 x 4 - 1
Got to 48 with [1, 2, 3, 4] by 1 + 1 + 1 x 4 x 4
Got to 49 with [1, 2, 3, 4] by 1 + 2 x 4 x 4 + 1
Got to 50 with [1, 2, 3, 4] by 1 + 2 x 4 x 4 + 2
Got to 51 with [1, 2, 3, 4] by 1 + 2 x 4 x 4 + 3
Got to 52 with [1, 2, 3, 4] by 1 + 2 x 3 + 4 x 4
Got to 53 with [1, 2, 3, 4] by 2 x 3 x 3 x 3 - 1
Got to 54 with [1, 2, 3, 4] by 1 + 1 x 3 x 3 x 3
Got to 55 with [1, 2, 3, 4] by 2 x 3 x 3 x 3 + 1
Got to 56 with [1, 2, 3, 4] by 1 ÷ 2 + 3 x 4 x 4
Got to 57 with [1, 2, 3, 4] by 1 + 3 x 4 + 3 x 3
Got to 58 with [1, 2, 3, 4] by 1 + 4 x 3 x 4 - 2
Got to 59 with [1, 2, 3, 4] by 1 + 4 x 3 x 4 - 1
Got to 60 with [1, 2, 3, 4] by 1 + 1 + 3 x 3 x 4
Got to 61 with [1, 2, 3, 4] by 1 + 3 x 4 x 4 - 3
Got to 62 with [1, 2, 3, 4] by 1 + 3 x 4 x 4 - 2
Got to 63 with [1, 2, 3, 4] by 1 + 2 + 4 x 3 x 3
Got to 64 with [1, 2, 3, 4] by 1 + 1 + 2 x 4 x 4
Got to 65 with [1, 2, 3, 4] by 1 + 3 x 4 x 4 + 1
Got to 66 with [1, 2, 3, 4] by 1 + 3 x 4 x 4 + 2
Got to 67 with [1, 2, 3, 4] by 1 + 3 x 4 x 4 + 3
Got to 68 with [1, 2, 3, 4] by 1 + 3 x 4 + 1 x 4
Got to 69 with [1, 2, 3, 4] by 1 + 4 x 4 + 3 x 3
Got to 70 with [1, 2, 3, 4] by 2 x 3 x 3 x 4 - 2
Got to 71 with [1, 2, 3, 4] by 2 x 3 x 3 x 4 - 1
Got to 72 with [1, 2, 3, 4] by 1 + 1 x 3 x 3 x 4
Got to 73 with [1, 2, 3, 4] by 2 x 3 x 3 x 4 + 1
Got to 74 with [1, 2, 3, 4] by 2 x 3 x 3 x 4 + 2
Got to 75 with [1, 2, 3, 4] by 2 x 3 x 3 x 4 + 3
Got to 76 with [1, 2, 3, 4] by 1 + 3 x 4 + 3 x 4
Got to 77 with [1, 2, 3, 4] by 1 + 4 x 4 x 4 - 3
Got to 78 with [1, 2, 3, 4] by 1 + 4 x 4 x 4 - 2
Got to 79 with [1, 2, 3, 4] by 1 + 4 x 4 x 4 - 1
Got to 80 with [1, 2, 3, 4] by 1 + 1 + 3 x 4 x 4
Got to 81 with [1, 2, 3, 4] by 1 + 2 x 3 x 3 x 3
Got to 82 with [1, 2, 3, 4] by 1 + 4 x 4 x 4 + 2
Got to 83 with [1, 2, 3, 4] by 1 + 4 x 4 x 4 + 3
Got to 84 with [1, 2, 3, 4] by 1 + 2 + 4 x 3 x 4
Got to 85 with [1, 2, 3, 4] by 3 x 3 x 3 x 3 + 4
Got to 86 with [1, 2, 3, 4] by 3 + 4 x 3 x 4 + 2
Got to 87 with [1, 2, 3, 4] by 2 x 4 x 4 - 3 x 3
Got to 88 with [1, 2, 3, 4] by 1 + 4 x 4 + 2 x 4
Got to 88 with [1, 2, 3, 5] by 1 + 5 x 3 x 5 - 2
Got to 89 with [1, 2, 3, 5] by 1 + 5 x 3 x 5 - 1
Got to 90 with [1, 2, 3, 5] by 1 + 1 x 3 x 3 x 5
Got to 91 with [1, 2, 3, 5] by 1 + 5 x 3 x 5 + 1
Got to 92 with [1, 2, 3, 5] by 1 + 5 x 3 x 5 + 2
Got to 93 with [1, 2, 3, 5] by 1 + 5 x 3 x 5 + 3
Got to 94 with [1, 2, 3, 5] by 2 x 5 x 5 - 3 x 2
Got to 95 with [1, 2, 3, 5] by 1 + 3 x 5 - 1 x 5
Got to 96 with [1, 2, 3, 5] by 1 + 5 x 5 + 2 x 3
Got to 97 with [1, 2, 3, 5] by 1 + 3 x 5 x 5 - 3
Got to 98 with [1, 2, 3, 5] by 1 + 3 x 5 x 5 - 2
Got to 99 with [1, 2, 3, 5] by 1 + 3 x 5 x 5 - 1
Got to 100 with [1, 2, 3, 5] by 1 + 1 + 2 x 5 x 5
Got to 101 with [1, 2, 3, 5] by 1 + 3 x 5 x 5 + 1
Got to 102 with [1, 2, 3, 5] by 1 + 3 x 5 x 5 + 2
Got to 103 with [1, 2, 3, 5] by 1 + 3 x 5 x 5 + 3
Got to 104 with [1, 2, 3, 5] by 2 + 5 x 3 x 5 - 1
Got to 105 with [1, 2, 3, 5] by 1 + 1 + 5 x 3 x 5
Got to 106 with [1, 2, 3, 5] by 2 + 5 x 3 x 5 + 1
Got to 107 with [1, 2, 3, 5] by 2 + 5 x 3 x 5 + 2
Got to 108 with [1, 2, 3, 5] by 1 + 3 x 3 x 3 x 3
Got to 109 with [1, 2, 3, 5] by 5 x 5 - 3 x 5 - 1
Got to 110 with [1, 2, 3, 5] by 1 + 3 x 5 + 2 x 5
Got to 111 with [1, 2, 3, 5] by 2 + 5 x 5 + 2 x 3
Got to 112 with [1, 2, 3, 5] by 5 x 5 - 2 x 5 - 3
Got to 113 with [1, 2, 3, 5] by 5 x 5 - 2 x 5 - 2
Got to 114 with [1, 2, 3, 5] by 2 + 5 x 5 + 3 x 3
Got to 115 with [1, 2, 3, 5] by 1 + 3 x 5 + 3 x 5
Got to 116 with [1, 2, 3, 5] by 5 x 5 - 2 x 5 + 1
Got to 117 with [1, 2, 3, 5] by 2 x 5 + 3 x 3 x 3
Got to 118 with [1, 2, 3, 5] by 3 + 5 x 3 x 5 - 2
Got to 119 with [1, 2, 3, 5] by 3 + 5 x 3 x 5 - 1
Got to 120 with [1, 2, 3, 5] by 1 + 2 + 5 x 3 x 5
Got to 121 with [1, 2, 3, 5] by 3 + 5 x 3 x 5 + 1
Got to 122 with [1, 2, 3, 5] by 1 x 5 x 5 x 5 - 3
Got to 123 with [1, 2, 3, 5] by 1 x 5 x 5 x 5 - 2
Got to 124 with [1, 2, 3, 5] by 1 x 5 x 5 x 5 - 1
Got to 125 with [1, 2, 3, 5] by 1 + 1 + 3 x 5 x 5
Got to 126 with [1, 2, 3, 5] by 1 x 5 x 5 x 5 + 1
Got to 127 with [1, 2, 3, 5] by 1 x 5 x 5 x 5 + 2
Got to 128 with [1, 2, 3, 5] by 1 x 5 x 5 x 5 + 3
Got to 129 with [1, 2, 3, 5] by 3 x 3 x 5 - 2 x 3
Got to 130 with [1, 2, 3, 5] by 1 x 5 x 5 + 1 x 5
Got to 131 with [1, 2, 3, 5] by 5 x 5 + 1 x 5 + 1
Got to 132 with [1, 2, 3, 5] by 3 x 3 x 3 x 5 - 3
Got to 133 with [1, 2, 3, 5] by 3 x 3 x 3 x 5 - 2
Got to 134 with [1, 2, 3, 5] by 3 x 3 x 3 x 5 - 1
Got to 135 with [1, 2, 3, 5] by 1 + 2 x 3 x 3 x 5
Got to 136 with [1, 2, 3, 5] by 3 x 3 x 3 x 5 + 1
Got to 137 with [1, 2, 3, 5] by 3 x 3 x 3 x 5 + 2
Got to 138 with [1, 2, 3, 5] by 3 x 3 x 3 x 5 + 3
Got to 139 with [1, 2, 3, 5] by 5 x 5 + 3 x 5 - 1
Got to 140 with [1, 2, 3, 5] by 1 + 5 x 5 - 2 x 5
Got to 141 with [1, 2, 3, 5] by 2 x 5 x 5 - 3 x 3
Got to 142 with [1, 2, 3, 5] by 5 x 5 + 3 x 5 + 2
Got to 143 with [1, 2, 3, 5] by 5 x 5 + 3 x 5 + 3
Got to 144 with [1, 2, 3, 5] by 2 x 5 x 5 - 2 x 3
Got to 145 with [1, 2, 3, 5] by 1 + 5 x 5 - 1 x 5
Got to 146 with [1, 2, 3, 5] by 3 x 5 x 5 - 2 x 2
Got to 147 with [1, 2, 3, 5] by 1 + 5 x 5 x 5 - 3
Got to 148 with [1, 2, 3, 5] by 1 + 5 x 5 x 5 - 2
Got to 149 with [1, 2, 3, 5] by 1 + 5 x 5 x 5 - 1
Got to 150 with [1, 2, 3, 5] by 1 + 1 x 3 x 5 x 5
Got to 151 with [1, 2, 3, 5] by 1 + 5 x 5 x 5 + 1
Got to 152 with [1, 2, 3, 5] by 1 + 5 x 5 x 5 + 2
Got to 153 with [1, 2, 3, 5] by 1 + 5 x 5 x 5 + 3
Got to 154 with [1, 2, 3, 5] by 3 x 5 x 5 + 2 x 2
Got to 155 with [1, 2, 3, 5] by 1 + 5 x 5 + 1 x 5
Got to 156 with [1, 2, 3, 5] by 2 x 5 x 5 + 2 x 3
Got to 156 with [1, 2, 3, 7] by 1 x 7 x 7 + 3 x 3
Got to 157 with [1, 2, 3, 7] by 3 x 7 + 1 x 7 + 3
Got to 158 with [1, 2, 3, 7] by 3 x 7 + 2 x 7 - 3
Got to 159 with [1, 2, 3, 7] by 1 + 7 x 7 - 3 x 3
Got to 160 with [1, 2, 3, 7] by 3 x 7 + 2 x 7 - 1
Got to 161 with [1, 2, 3, 7] by 1 + 2 x 7 + 2 x 7
Got to 162 with [1, 2, 3, 7] by 1 + 7 x 7 - 2 x 3
Got to 163 with [1, 2, 3, 7] by 3 x 7 + 2 x 7 + 2
Got to 164 with [1, 2, 3, 7] by 3 x 7 + 2 x 7 + 3
Got to 165 with [1, 2, 3, 7] by 1 + 7 x 3 x 7 - 3
Got to 166 with [1, 2, 3, 7] by 1 + 7 x 3 x 7 - 2
Got to 167 with [1, 2, 3, 7] by 1 + 7 x 3 x 7 - 1
Got to 168 with [1, 2, 3, 7] by 1 x 1 + 7 x 3 x 7
Got to 169 with [1, 2, 3, 7] by 1 + 7 x 3 x 7 + 1
Got to 170 with [1, 2, 3, 7] by 1 + 7 x 3 x 7 + 2
Got to 171 with [1, 2, 3, 7] by 1 + 7 x 3 x 7 + 3
Got to 172 with [1, 2, 3, 7] by 7 x 7 x 7 + 1 ÷ 2
Got to 173 with [1, 2, 3, 7] by 7 x 7 x 7 + 3 ÷ 2
Got to 174 with [1, 2, 3, 7] by 1 + 7 x 7 + 2 x 3
Got to 175 with [1, 2, 3, 7] by 1 + 3 x 7 - 3 x 7
Got to 175 with [1, 2, 3, 8] by 3 + 8 x 2 x 8 - 1
Got to 176 with [1, 2, 3, 8] by 1 + 2 + 8 x 2 x 8
Got to 177 with [1, 2, 3, 8] by 3 + 8 x 2 x 8 + 1
Got to 178 with [1, 2, 3, 8] by 3 + 8 x 2 x 8 + 2
Got to 179 with [1, 2, 3, 8] by 3 + 8 x 2 x 8 + 3
Got to 180 with [1, 2, 3, 8] by 2 + 8 x 2 x 3 x 3
Got to 181 with [1, 2, 3, 8] by 3 x 8 - 1 x 8 - 3
Got to 182 with [1, 2, 3, 8] by 3 x 8 - 1 x 8 - 2
Got to 183 with [1, 2, 3, 8] by 1 x 8 x 8 - 3 x 3
Got to 184 with [1, 2, 3, 8] by 1 + 2 x 8 - 1 x 8
Got to 185 with [1, 2, 3, 8] by 3 x 8 - 1 x 8 + 1
Got to 186 with [1, 2, 3, 8] by 1 x 8 x 8 - 2 x 3
Got to 187 with [1, 2, 3, 8] by 3 x 8 - 1 x 8 + 3
Got to 188 with [1, 2, 3, 8] by 3 x 8 x 8 - 1 - 3
Got to 189 with [1, 2, 3, 8] by 1 + 2 x 8 x 8 - 3
Got to 190 with [1, 2, 3, 8] by 1 + 2 x 8 x 8 - 2
Got to 191 with [1, 2, 3, 8] by 1 + 2 x 8 x 8 - 1
Got to 192 with [1, 2, 3, 8] by 1 + 1 + 1 x 8 x 8
Got to 193 with [1, 2, 3, 8] by 1 + 2 x 8 x 8 + 1
Got to 194 with [1, 2, 3, 8] by 1 + 2 x 8 x 8 + 2
Got to 195 with [1, 2, 3, 8] by 1 + 2 x 8 x 8 + 3
Got to 196 with [1, 2, 3, 8] by 3 x 8 x 8 + 1 + 3
Got to 197 with [1, 2, 3, 8] by 3 x 8 + 1 x 8 - 3
Got to 198 with [1, 2, 3, 8] by 1 x 8 x 8 + 2 x 3
Got to 199 with [1, 2, 3, 8] by 3 x 8 + 1 x 8 - 1
Got to 200 with [1, 2, 3, 8] by 1 + 2 x 8 + 1 x 8
Got to 201 with [1, 2, 3, 8] by 1 x 8 x 8 + 3 x 3
Got to 202 with [1, 2, 3, 8] by 3 x 8 + 1 x 8 + 2
Got to 203 with [1, 2, 3, 8] by 3 x 8 + 1 x 8 + 3
Got to 204 with [1, 2, 3, 8] by 1 ÷ 2 + 8 x 3 x 8
Got to 205 with [1, 2, 3, 8] by 3 x 8 + 2 x 8 - 3
Got to 206 with [1, 2, 3, 8] by 3 x 8 + 2 x 8 - 2
Got to 207 with [1, 2, 3, 8] by 1 + 8 x 8 - 3 x 3
Got to 208 with [1, 2, 3, 8] by 1 + 2 x 8 + 2 x 8
Got to 209 with [1, 2, 3, 8] by 3 x 8 + 2 x 8 + 1
Got to 210 with [1, 2, 3, 8] by 1 + 8 x 8 - 2 x 3
Got to 211 with [1, 2, 3, 8] by 3 x 8 + 2 x 8 + 3
Got to 211 with [1, 2, 5, 6] by 1 + 5 x 6 x 6 - 5
Got to 212 with [1, 2, 5, 6] by 1 + 6 x 5 x 6 + 2
Got to 213 with [1, 2, 5, 6] by 6 x 6 x 6 - 1 - 2
Got to 214 with [1, 2, 5, 6] by 1 + 5 x 6 x 6 - 2
Got to 215 with [1, 2, 5, 6] by 1 + 5 x 6 x 6 - 1
Got to 216 with [1, 2, 5, 6] by 1 x 1 + 5 x 6 x 6
Got to 217 with [1, 2, 5, 6] by 1 + 5 x 6 x 6 + 1
Got to 218 with [1, 2, 5, 6] by 1 + 5 x 6 x 6 + 2
Got to 219 with [1, 2, 5, 6] by 6 x 6 x 6 + 1 + 2
Got to 220 with [1, 2, 5, 6] by 1 + 6 x 6 + 2 x 5
Got to 221 with [1, 2, 5, 6] by 1 + 5 x 6 x 6 + 5
Got to 222 with [1, 2, 5, 6] by 1 + 5 x 6 + 1 x 6
Got to 223 with [1, 2, 5, 6] by 6 x 6 + 1 x 6 + 1
Got to 224 with [1, 2, 5, 6] by 6 x 6 + 1 x 6 + 2
Got to 225 with [1, 2, 5, 6] by 1 + 2 + 6 x 5 x 5
Got to 226 with [1, 2, 5, 6] by 6 x 6 + 2 x 6 - 2
Got to 227 with [1, 2, 5, 6] by 6 x 6 + 1 x 6 + 5
Got to 228 with [1, 2, 5, 6] by 1 + 5 x 6 + 2 x 6
Got to 229 with [1, 2, 5, 6] by 6 x 6 + 2 x 6 + 1
Got to 230 with [1, 2, 5, 6] by 2 + 6 x 5 + 6 x 5
Got to 230 with [1, 3, 5, 6] by 3 x 3 x 5 + 1 x 5
Got to 231 with [1, 3, 5, 6] by 3 x 3 x 5 x 5 + 6
Got to 231 with [1, 4, 5, 7] by 1 x 4 x 7 + 5 x 7
Got to 232 with [1, 4, 5, 7] by 4 + 5 x 5 x 5 + 7
Got to 233 with [1, 4, 5, 7] by 5 x 7 - 1 x 7 - 5
Got to 234 with [1, 4, 5, 7] by 5 x 7 - 1 x 7 - 4
Got to 235 with [1, 4, 5, 7] by 1 + 5 x 7 + 5 x 5
Got to 236 with [1, 4, 5, 7] by 4 x 4 x 4 - 5 x 4
Got to 237 with [1, 4, 5, 7] by 5 x 7 - 1 x 7 - 1
Got to 238 with [1, 4, 5, 7] by 1 + 4 x 7 - 1 x 7
Got to 239 with [1, 4, 5, 7] by 5 x 7 - 1 x 7 + 1
Got to 240 with [1, 4, 5, 7] by 1 + 4 + 7 x 4 x 5
Got to 241 with [1, 4, 5, 7] by 1 + 4 x 7 x 7 - 4
Got to 242 with [1, 4, 5, 7] by 5 x 7 - 1 x 7 + 4
Got to 243 with [1, 4, 5, 7] by 5 + 5 x 5 x 5 - 7
Got to 244 with [1, 4, 5, 7] by 1 + 4 x 7 x 7 - 1
Got to 245 with [1, 4, 5, 7] by 1 x 1 + 4 x 7 x 7
Got to 246 with [1, 4, 5, 7] by 1 + 4 x 7 x 7 + 1
Got to 247 with [1, 4, 5, 7] by 4 + 5 x 4 x 7 - 5
Got to 248 with [1, 4, 5, 7] by 4 + 5 x 4 x 7 - 4
Got to 249 with [1, 4, 5, 7] by 1 + 4 x 7 x 7 + 4
Got to 250 with [1, 4, 5, 7] by 1 + 1 x 5 x 5 x 5
Got to 251 with [1, 4, 5, 7] by 4 x 4 x 4 x 4 - 5
Got to 252 with [1, 4, 5, 7] by 1 + 1 + 7 x 4 x 7
Got to 253 with [1, 4, 5, 7] by 4 + 5 x 4 x 7 + 1
Got to 254 with [1, 4, 5, 7] by 5 + 5 x 5 x 5 + 4
Got to 255 with [1, 4, 5, 7] by 1 + 7 x 7 - 5 x 5
Got to 256 with [1, 4, 5, 7] by 1 x 4 x 4 x 4 x 4
Got to 257 with [1, 4, 5, 7] by 4 x 4 x 4 x 4 + 1
Got to 258 with [1, 4, 5, 7] by 7 x 7 + 4 x 5 - 7
Got to 259 with [1, 4, 5, 7] by 1 + 5 x 5 + 7 x 7
Got to 260 with [1, 4, 5, 7] by 1 + 5 + 7 x 4 x 5
Got to 261 with [1, 4, 5, 7] by 4 x 4 x 4 x 4 + 5
Got to 261 with [1, 5, 6, 8] by 5 - 1 x 8 x 8 + 5
Got to 262 with [1, 5, 6, 8] by 1 + 8 x 5 x 6 - 8
Got to 263 with [1, 5, 6, 8] by 5 x 5 + 8 x 8 - 1
Got to 264 with [1, 5, 6, 8] by 1 x 5 x 5 + 8 x 8
Got to 265 with [1, 5, 6, 8] by 1 + 5 x 8 + 5 x 5
Got to 266 with [1, 5, 6, 8] by 5 x 8 - 6 x 8 - 6
Got to 267 with [1, 5, 6, 8] by 5 + 6 x 5 x 5 - 8
Got to 268 with [1, 5, 6, 8] by 5 x 8 + 6 x 6 - 8
Got to 269 with [1, 5, 6, 8] by 1 + 8 x 5 x 6 - 1
Got to 270 with [1, 5, 6, 8] by 1 x 1 + 8 x 5 x 6
Got to 271 with [1, 5, 6, 8] by 1 + 8 x 5 x 6 + 1
Got to 272 with [1, 5, 6, 8] by 1 x 5 x 8 - 6 x 8
Got to 273 with [1, 5, 6, 8] by 5 x 8 - 6 x 8 + 1
Got to 274 with [1, 5, 6, 8] by 1 + 6 x 5 x 8 - 6
Got to 275 with [1, 5, 6, 8] by 1 + 5 + 5 x 5 x 5
Got to 276 with [1, 5, 6, 8] by 1 x 5 x 8 + 6 x 6
Got to 277 with [1, 5, 6, 8] by 5 x 8 + 6 x 6 + 1
Got to 278 with [1, 5, 6, 8] by 1 + 8 x 5 x 6 + 8
Got to 279 with [1, 5, 6, 8] by 1 + 6 x 5 x 8 - 1
Got to 280 with [1, 5, 6, 8] by 1 + 1 + 5 x 5 x 8
Got to 281 with [1, 5, 6, 8] by 1 + 6 x 5 x 8 + 1
Got to 282 with [1, 5, 6, 8] by 1 + 5 x 6 x 8 - 6
Got to 283 with [1, 5, 6, 8] by 1 + 5 x 6 x 8 - 5
Got to 284 with [1, 5, 6, 8] by 5 x 8 + 6 x 6 + 8
Got to 285 with [1, 5, 6, 8] by 1 + 6 x 5 x 8 + 5
Got to 286 with [1, 5, 6, 8] by 1 + 6 x 5 x 8 + 6
Got to 287 with [1, 5, 6, 8] by 1 + 5 x 6 x 8 - 1
Got to 288 with [1, 5, 6, 8] by 1 x 1 + 5 x 6 x 8
Got to 289 with [1, 5, 6, 8] by 1 + 5 x 6 x 8 + 1
Got to 290 with [1, 5, 6, 8] by 1 x 8 x 8 - 6 x 5
Got to 291 with [1, 5, 6, 8] by 6 x 6 + 1 x 8 - 5
Got to 292 with [1, 5, 6, 8] by 5 + 5 x 5 x 6 - 8
Got to 293 with [1, 5, 6, 8] by 1 + 5 x 6 x 8 + 5
Got to 294 with [1, 5, 6, 8] by 1 + 5 x 6 x 8 + 6
Got to 295 with [1, 5, 6, 8] by 1 + 8 x 6 + 5 x 5
Got to 296 with [1, 5, 6, 8] by 1 + 5 x 6 + 1 x 8
Got to 297 with [1, 5, 6, 8] by 6 x 6 + 1 x 8 + 1
Got to 298 with [1, 5, 6, 8] by 5 x 6 + 8 x 8 - 6
Got to 299 with [1, 5, 6, 8] by 5 + 5 x 5 x 6 - 1
Got to 300 with [1, 5, 6, 8] by 1 + 1 x 5 x 5 x 6
Got to 301 with [1, 5, 6, 8] by 5 + 5 x 5 x 6 + 1
Got to 302 with [1, 5, 6, 8] by 6 x 6 + 1 x 8 + 6
Got to 303 with [1, 5, 6, 8] by 5 x 6 + 8 x 8 - 1
Got to 304 with [1, 5, 6, 8] by 1 + 5 x 5 + 8 x 8
Got to 305 with [1, 5, 6, 8] by 1 + 6 x 8 + 5 x 5
Got to 306 with [1, 5, 6, 8] by 1 + 6 x 8 - 5 x 6
Got to 307 with [1, 5, 6, 8] by 5 x 8 - 1 x 8 - 5
Got to 308 with [1, 5, 6, 8] by 5 + 5 x 5 x 6 + 8
Got to 309 with [1, 5, 6, 8] by 5 x 6 + 8 x 8 + 5
Got to 310 with [1, 5, 6, 8] by 1 + 6 x 8 + 6 x 5
Got to 311 with [1, 5, 6, 8] by 5 x 8 - 1 x 8 - 1
Got to 312 with [1, 5, 6, 8] by 1 x 5 x 8 - 1 x 8
Got to 313 with [1, 5, 6, 8] by 5 x 8 - 1 x 8 + 1
Got to 314 with [1, 5, 6, 8] by 1 x 5 x 8 x 8 - 6
Got to 315 with [1, 5, 6, 8] by 1 x 5 x 8 x 8 - 5
Got to 316 with [1, 5, 6, 8] by 1 + 8 x 6 x 6 - 8
Got to 317 with [1, 5, 6, 8] by 5 x 8 - 1 x 8 + 5
Got to 318 with [1, 5, 6, 8] by 1 + 5 x 8 + 5 x 6
Got to 319 with [1, 5, 6, 8] by 1 x 5 x 8 x 8 - 1
Got to 320 with [1, 5, 6, 8] by 1 - 1 + 5 x 8 x 8
Got to 321 with [1, 5, 6, 8] by 1 x 5 x 8 x 8 + 1
Got to 322 with [1, 5, 6, 8] by 5 + 6 x 5 x 6 - 8
Got to 323 with [1, 5, 6, 8] by 1 + 8 x 6 x 6 - 1
Got to 324 with [1, 5, 6, 8] by 1 x 1 + 8 x 6 x 6
Got to 325 with [1, 5, 6, 8] by 1 x 5 + 8 x 5 x 5
Got to 326 with [1, 5, 6, 8] by 1 x 5 x 8 x 8 + 6
Got to 327 with [1, 5, 6, 8] by 5 x 8 + 1 x 8 - 1
Got to 328 with [1, 5, 6, 8] by 1 + 5 x 6 + 5 x 8
Got to 329 with [1, 5, 6, 8] by 1 + 8 x 6 x 6 + 5
Got to 330 with [1, 5, 6, 8] by 1 + 5 + 5 x 5 x 6
Got to 331 with [1, 5, 6, 8] by 1 + 6 x 6 x 8 - 5
Got to 332 with [1, 5, 6, 8] by 1 + 8 x 6 x 6 + 8
Got to 333 with [1, 5, 6, 8] by 5 x 8 + 1 x 8 + 5
Got to 334 with [1, 5, 6, 8] by 5 x 8 + 1 x 8 + 6
Got to 335 with [1, 5, 6, 8] by 1 + 6 x 6 x 8 - 1
Got to 336 with [1, 5, 6, 8] by 1 + 1 + 5 x 6 x 8
Got to 337 with [1, 5, 6, 8] by 1 + 6 x 6 x 8 + 1
Got to 338 with [1, 5, 6, 8] by 5 + 6 x 5 x 6 + 8
Got to 339 with [1, 5, 6, 8] by 6 x 8 - 5 x 8 - 5
Got to 340 with [1, 5, 6, 8] by 5 + 5 x 6 + 8 x 5
Got to 341 with [1, 5, 6, 8] by 1 + 6 x 6 x 8 + 5
Got to 342 with [1, 5, 6, 8] by 1 + 6 x 6 x 8 + 6
Got to 343 with [1, 5, 6, 8] by 6 x 8 - 5 x 8 - 1
Got to 344 with [1, 5, 6, 8] by 1 + 5 x 8 - 5 x 8
Got to 345 with [1, 5, 6, 8] by 1 x 8 x 8 + 5 x 5
Got to 346 with [1, 5, 6, 8] by 6 x 6 + 8 x 8 - 6
Got to 347 with [1, 5, 6, 8] by 6 x 6 + 8 x 8 - 5
Got to 348 with [1, 5, 6, 8] by 1 x 8 x 8 - 6 x 6
Got to 349 with [1, 5, 6, 8] by 6 + 8 x 5 x 5 - 1
Got to 350 with [1, 5, 6, 8] by 1 + 5 + 8 x 5 x 5
Got to 351 with [1, 5, 6, 8] by 6 x 6 + 8 x 8 - 1
Got to 352 with [1, 5, 6, 8] by 1 + 5 x 6 + 8 x 8
Got to 353 with [1, 5, 6, 8] by 6 x 6 + 8 x 8 + 1
Got to 354 with [1, 5, 6, 8] by 1 + 8 x 5 x 8 - 6
Got to 355 with [1, 5, 6, 8] by 1 + 8 x 5 x 8 - 5
Got to 356 with [1, 5, 6, 8] by 6 + 8 x 5 x 5 + 6
Got to 357 with [1, 5, 6, 8] by 6 x 6 + 8 x 8 + 5
Got to 358 with [1, 5, 6, 8] by 6 x 6 + 8 x 8 + 6
Got to 359 with [1, 5, 6, 8] by 1 + 8 x 5 x 8 - 1
Got to 360 with [1, 5, 6, 8] by 1 + 1 x 5 x 6 x 6
Got to 361 with [1, 5, 6, 8] by 1 + 8 x 5 x 8 + 1
Got to 362 with [1, 5, 6, 8] by 5 x 8 + 6 x 8 - 6
Got to 363 with [1, 5, 6, 8] by 5 x 8 + 6 x 8 - 5
Got to 363 with [2, 3, 6, 7] by 3 + 7 x 6 x 6 + 3
Got to 364 with [2, 3, 6, 7] by 2 + 7 x 6 - 2 x 7
Got to 364 with [2, 5, 8, 9] by 5 x 8 x 9 + 2 + 2
Got to 365 with [2, 5, 8, 9] by 5 + 8 x 5 + 8 x 5
Got to 366 with [2, 5, 8, 9] by 5 x 8 x 9 - 2 + 8
Got to 367 with [2, 5, 8, 9] by 5 x 8 x 9 + 2 + 5
Got to 368 with [2, 5, 8, 9] by 2 x 9 + 5 x 2 x 8
Got to 369 with [2, 5, 8, 9] by 2 + 2 x 8 + 9 x 9
Got to 370 with [2, 5, 8, 9] by 2 ÷ 8 + 9 x 5 x 8
Got to 371 with [2, 5, 8, 9] by 5 x 8 x 9 + 2 + 9
Got to 372 with [2, 5, 8, 9] by 8 x 9 + 2 x 5 + 2
Got to 373 with [2, 5, 8, 9] by 5 x 8 + 2 x 9 - 5
Got to 374 with [2, 5, 8, 9] by 5 x 8 x 9 + 5 + 9
Got to 375 with [2, 5, 8, 9] by 2 x 5 + 5 x 5 x 5
Got to 376 with [2, 5, 8, 9] by 2 + 5 x 8 - 9 x 8
Got to 377 with [2, 5, 8, 9] by 5 x 8 x 9 + 8 + 9
Got to 378 with [2, 5, 8, 9] by 2 x 5 x 5 - 8 x 9
Got to 379 with [2, 5, 8, 9] by 5 x 8 + 8 x 8 - 5
Got to 380 with [2, 5, 8, 9] by 5 x 8 - 2 x 2 x 5
Got to 381 with [2, 5, 8, 9] by 5 x 9 + 2 x 8 + 5
Got to 382 with [2, 5, 8, 9] by 5 x 5 x 8 - 9 x 2
Got to 383 with [2, 5, 8, 9] by 5 x 8 + 2 x 9 + 5
Got to 384 with [2, 5, 8, 9] by 2 + 2 + 2 x 8 x 8
Got to 385 with [2, 5, 8, 9] by 5 ÷ 8 + 9 x 5 x 8
Got to 386 with [2, 5, 8, 9] by 5 x 8 + 2 x 9 + 8
Got to 387 with [2, 5, 8, 9] by 2 + 5 x 5 + 8 x 9
Got to 388 with [2, 5, 8, 9] by 5 x 9 x 9 - 8 - 9
Got to 389 with [2, 5, 8, 9] by 5 x 8 + 8 x 8 + 5
Got to 390 with [2, 5, 8, 9] by 2 x 5 x 8 - 2 x 5
Got to 391 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 - 9
Got to 392 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 - 8
Got to 393 with [2, 5, 8, 9] by 5 x 8 + 8 x 8 + 9
Got to 394 with [2, 5, 8, 9] by 5 x 8 + 9 x 8 + 2
Got to 395 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 - 5
Got to 396 with [2, 5, 8, 9] by 2 + 2 x 9 + 8 x 9
Got to 397 with [2, 5, 8, 9] by 5 x 8 + 5 x 9 - 8
Got to 398 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 - 2
Got to 399 with [2, 5, 8, 9] by 5 x 9 x 9 + 2 - 8
Got to 400 with [2, 5, 8, 9] by 2 ÷ 2 + 9 x 5 x 8
Got to 401 with [2, 5, 8, 9] by 5 x 8 + 9 x 8 + 9
Got to 402 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 + 2
Got to 403 with [2, 5, 8, 9] by 5 x 8 + 5 x 9 - 2
Got to 404 with [2, 5, 8, 9] by 5 x 5 x 8 + 2 x 2
Got to 405 with [2, 5, 8, 9] by 2 + 2 + 5 x 5 x 9
Got to 406 with [2, 5, 8, 9] by 5 x 9 x 9 - 8 + 9
Got to 407 with [2, 5, 8, 9] by 5 x 8 + 5 x 9 + 2
Got to 408 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 + 8
Got to 409 with [2, 5, 8, 9] by 2 x 5 x 5 x 8 + 9
Got to 410 with [2, 5, 8, 9] by 2 x 5 x 8 + 2 x 5
Got to 411 with [2, 5, 8, 9] by 5 x 9 x 9 - 2 + 8
Got to 412 with [2, 5, 8, 9] by 5 x 9 x 9 + 2 + 5
Got to 413 with [2, 5, 8, 9] by 5 x 8 + 5 x 9 + 8
Got to 414 with [2, 5, 8, 9] by 2 x 9 + 5 x 2 x 9
Got to 415 with [2, 5, 8, 9] by 2 + 9 x 8 - 5 x 5
Got to 416 with [2, 5, 8, 9] by 2 x 5 x 5 + 2 x 8
Got to 417 with [2, 5, 8, 9] by 8 + 9 x 5 x 5 - 8
Got to 418 with [2, 5, 8, 9] by 5 x 5 x 8 + 9 x 2
Got to 419 with [2, 5, 8, 9] by 5 x 9 + 8 x 8 - 5
Got to 420 with [2, 5, 8, 9] by 5 ÷ 2 + 8 x 5 x 8
Got to 421 with [2, 5, 8, 9] by 5 x 9 + 2 x 9 - 2
Got to 422 with [2, 5, 8, 9] by 5 x 9 + 8 x 8 - 2
Got to 423 with [2, 5, 8, 9] by 2 + 5 x 8 - 9 x 9
Got to 424 with [2, 5, 8, 9] by 2 + 9 x 5 - 2 x 8
Got to 425 with [2, 5, 8, 9] by 2 x 5 x 8 + 5 x 5
Got to 426 with [2, 5, 8, 9] by 5 x 9 + 8 x 8 + 2
Got to 427 with [2, 5, 8, 9] by 5 x 8 + 8 x 9 - 5
Got to 428 with [2, 5, 8, 9] by 5 x 9 + 2 x 9 + 5
Got to 429 with [2, 5, 8, 9] by 5 x 9 + 8 x 8 + 5
Got to 430 with [2, 5, 8, 9] by 2 + 9 x 8 - 2 x 5
Got to 431 with [2, 5, 8, 9] by 2 + 9 x 5 x 8 - 9
Got to 432 with [2, 5, 8, 9] by 2 + 2 + 2 x 8 x 9
Got to 433 with [2, 5, 8, 9] by 5 x 8 + 9 x 9 - 8
Got to 434 with [2, 5, 8, 9] by 5 x 5 x 9 - 8 x 2
Got to 435 with [2, 5, 8, 9] by 2 + 9 x 5 x 8 - 5
Got to 436 with [2, 5, 8, 9] by 5 x 8 + 9 x 9 - 5
Got to 437 with [2, 5, 8, 9] by 5 x 8 + 8 x 9 + 5
Got to 438 with [2, 5, 8, 9] by 2 + 9 x 5 x 8 - 2
Got to 439 with [2, 5, 8, 9] by 2 + 5 x 8 x 8 - 9
Got to 440 with [2, 5, 8, 9] by 2 x 5 x 5 + 5 x 8
Got to 441 with [2, 5, 8, 9] by 2 x 5 x 5 x 9 - 9
Got to 442 with [2, 5, 8, 9] by 2 x 5 x 5 x 9 - 8
Got to 443 with [2, 5, 8, 9] by 2 + 5 x 8 x 8 - 5
Got to 443 with [3, 5, 7, 8] by 3 + 5 x 7 x 8 - 5
Got to 444 with [3, 5, 7, 8] by 3 x 3 x 7 x 7 + 3
Got to 445 with [3, 5, 7, 8] by 3 + 5 x 7 x 8 - 3
Got to 446 with [3, 5, 7, 8] by 3 x 3 x 7 x 7 + 5
Got to 447 with [3, 5, 7, 8] by 3 + 8 x 5 x 8 + 7
Got to 448 with [3, 5, 7, 8] by 3 x 3 x 7 x 7 + 7
Got to 449 with [3, 5, 7, 8] by 3 x 3 x 7 x 7 + 8
Got to 450 with [3, 5, 7, 8] by 3 + 3 x 3 x 5 x 5
Got to 451 with [3, 5, 7, 8] by 3 + 5 x 7 x 8 + 3
Got to 452 with [3, 5, 7, 8] by 5 + 8 x 5 x 7 - 3
Got to 453 with [3, 5, 7, 8] by 3 + 5 x 7 x 8 + 5
Got to 454 with [3, 5, 7, 8] by 7 x 8 x 8 + 3 + 3
Got to 455 with [3, 5, 7, 8] by 3 + 3 + 7 x 5 x 7
Got to 456 with [3, 5, 7, 8] by 3 + 5 x 7 x 8 + 8
Got to 456 with [3, 6, 7, 8] by 3 x 3 x 6 + 3 x 8
Got to 457 with [3, 6, 7, 8] by 7 x 8 x 8 + 3 + 6
Got to 458 with [3, 6, 7, 8] by 7 x 8 x 8 + 3 + 7
Got to 459 with [3, 6, 7, 8] by 3 x 7 x 7 + 6 x 3
Got to 460 with [3, 6, 7, 8] by 6 + 7 x 6 x 6 - 8
Got to 461 with [3, 6, 7, 8] by 6 + 7 x 6 x 6 - 7
Got to 462 with [3, 6, 7, 8] by 3 x 3 x 7 + 3 x 7
Got to 463 with [3, 6, 7, 8] by 7 x 7 + 8 x 8 + 7
Got to 464 with [3, 6, 7, 8] by 3 + 8 x 6 - 8 x 8
Got to 465 with [3, 6, 7, 8] by 3 x 7 x 7 + 8 x 3
Got to 466 with [3, 6, 7, 8] by 7 x 8 + 3 x 8 - 6
Got to 467 with [3, 6, 7, 8] by 8 x 8 - 6 x 8 + 3
Got to 468 with [3, 6, 7, 8] by 3 + 3 + 7 x 6 x 6
Got to 469 with [3, 6, 7, 8] by 3 + 7 x 6 + 7 x 7
Got to 470 with [3, 6, 7, 8] by 3 + 8 x 6 x 7 + 8
Got to 471 with [3, 6, 7, 8] by 6 + 7 x 6 x 6 + 3
Got to 472 with [3, 6, 7, 8] by 3 + 7 x 6 x 8 - 8
Got to 473 with [3, 6, 7, 8] by 3 + 7 x 6 x 8 - 7
Got to 474 with [3, 6, 7, 8] by 3 x 3 x 8 + 7 x 6
Got to 475 with [3, 6, 7, 8] by 6 + 7 x 6 x 6 + 7
Got to 476 with [3, 6, 7, 8] by 3 ÷ 6 + 8 x 7 x 8
Got to 477 with [3, 6, 7, 8] by 3 + 7 x 6 x 8 - 3
Got to 478 with [3, 6, 7, 8] by 7 x 8 + 3 x 8 + 6
Got to 479 with [3, 6, 7, 8] by 7 x 8 + 3 x 8 + 7
Got to 480 with [3, 6, 7, 8] by 3 x 3 x 6 + 6 x 8
Got to 481 with [3, 6, 7, 8] by 8 x 8 - 3 x 8 - 7
Got to 482 with [3, 6, 7, 8] by 3 + 7 x 7 x 7 - 8
Got to 483 with [3, 6, 7, 8] by 3 x 3 x 7 + 6 x 7
Got to 484 with [3, 6, 7, 8] by 3 + 7 x 7 x 7 - 6
Got to 485 with [3, 6, 7, 8] by 8 x 8 - 3 x 8 - 3
Got to 486 with [3, 6, 7, 8] by 3 x 3 x 3 x 3 x 6
Got to 487 with [3, 6, 7, 8] by 3 + 7 x 6 x 8 + 7
Got to 488 with [3, 6, 7, 8] by 3 x 3 x 6 + 7 x 8
Got to 489 with [3, 6, 7, 8] by 7 x 8 + 6 x 8 - 7
Got to 490 with [3, 6, 7, 8] by 3 x 3 x 7 + 7 x 7
Got to 491 with [3, 6, 7, 8] by 8 x 8 - 3 x 8 + 3
Got to 492 with [3, 6, 7, 8] by 3 + 8 x 8 - 6 x 6
Got to 493 with [3, 6, 7, 8] by 3 + 7 x 7 x 7 + 3
Got to 494 with [3, 6, 7, 8] by 8 x 8 - 3 x 8 + 6
Got to 495 with [3, 6, 7, 8] by 3 x 7 x 8 - 3 x 3
Got to 496 with [3, 6, 7, 8] by 3 x 3 x 6 + 8 x 8
Got to 497 with [3, 6, 7, 8] by 3 x 3 x 7 + 8 x 7
Got to 498 with [3, 6, 7, 8] by 3 x 3 x 7 x 8 - 6
Got to 499 with [3, 6, 7, 8] by 7 x 8 + 6 x 8 + 3
Got to 500 with [3, 6, 7, 8] by 8 x 8 + 7 x 7 + 3
Got to 501 with [3, 6, 7, 8] by 3 x 3 x 7 x 8 - 3
Got to 502 with [3, 6, 7, 8] by 7 x 8 + 6 x 8 + 6
Got to 503 with [3, 6, 7, 8] by 7 x 8 + 6 x 8 + 7
Got to 504 with [3, 6, 7, 8] by 3 x 3 + 3 x 6 x 7
Got to 505 with [3, 6, 7, 8] by 7 x 8 + 8 x 8 - 7
Got to 506 with [3, 6, 7, 8] by 7 x 8 + 8 x 8 - 6
Got to 507 with [3, 6, 7, 8] by 3 x 3 x 7 x 8 + 3
Got to 508 with [3, 6, 7, 8] by 8 x 8 x 8 + 3 - 7
Got to 509 with [3, 6, 7, 8] by 7 x 8 + 8 x 8 - 3
Got to 510 with [3, 6, 7, 8] by 3 x 3 x 7 x 8 + 6
Got to 511 with [3, 6, 7, 8] by 3 x 3 x 7 x 8 + 7
Got to 512 with [3, 6, 7, 8] by 3 x 3 x 7 x 8 + 8
Got to 513 with [3, 6, 7, 8] by 3 x 7 x 8 + 3 x 3
Got to 514 with [3, 6, 7, 8] by 8 x 8 x 8 - 6 + 8
Got to 515 with [3, 6, 7, 8] by 7 x 8 + 8 x 8 + 3
Got to 516 with [3, 6, 7, 8] by 3 + 7 x 8 + 6 x 6
Got to 517 with [3, 6, 7, 8] by 8 x 8 x 8 - 3 + 8
Got to 518 with [3, 6, 7, 8] by 3 + 7 x 8 - 6 x 7
Got to 519 with [3, 6, 7, 8] by 7 x 8 + 8 x 8 + 7
Got to 520 with [3, 6, 7, 8] by 3 x 3 x 8 - 7 x 8
Got to 521 with [3, 6, 7, 8] by 3 + 8 x 6 x 8 - 7
Got to 522 with [3, 6, 7, 8] by 3 x 7 + 8 x 3 x 6
Got to 523 with [3, 6, 7, 8] by 8 x 8 x 8 + 3 + 8
Got to 524 with [3, 6, 7, 8] by 8 x 8 x 8 + 6 + 6
Got to 525 with [3, 6, 7, 8] by 3 x 3 x 8 + 3 x 7
Got to 526 with [3, 6, 7, 8] by 8 x 8 x 8 + 6 + 8
Got to 527 with [3, 6, 7, 8] by 8 x 8 x 8 + 7 + 8
Got to 528 with [3, 6, 7, 8] by 3 x 3 x 7 + 3 x 8
Got to 529 with [3, 6, 7, 8] by 8 x 8 + 3 x 8 - 7
Got to 530 with [3, 6, 7, 8] by 8 x 8 + 3 x 8 - 6
Got to 531 with [3, 6, 7, 8] by 3 + 8 x 6 x 8 + 3
Got to 532 with [3, 6, 7, 8] by 3 + 7 x 7 + 6 x 7
Got to 533 with [3, 6, 7, 8] by 3 + 8 x 7 x 7 - 6
Got to 534 with [3, 6, 7, 8] by 3 + 8 x 6 x 8 + 6
Got to 535 with [3, 6, 7, 8] by 3 + 8 x 6 x 8 + 7
Got to 536 with [3, 6, 7, 8] by 3 + 7 x 6 + 7 x 8
Got to 537 with [3, 6, 7, 8] by 7 + 8 x 6 x 6 - 3
Got to 538 with [3, 6, 7, 8] by 6 + 7 x 6 x 7 - 8
Got to 539 with [3, 6, 7, 8] by 3 x 6 - 7 x 7 x 7
Got to 540 with [3, 6, 7, 8] by 3 x 3 + 6 x 6 x 6
Got to 540 with [5, 7, 8, 9] by 5 + 8 x 5 - 5 x 9
Got to 541 with [5, 7, 8, 9] by 7 x 8 + 5 x 9 - 8
Got to 542 with [5, 7, 8, 9] by 7 x 8 + 5 x 9 - 7
Got to 543 with [5, 7, 8, 9] by 8 x 8 + 5 x 8 - 9
Got to 544 with [5, 7, 8, 9] by 5 + 7 x 5 + 8 x 8
Got to 545 with [5, 7, 8, 9] by 5 + 7 x 5 x 9 + 5
Got to 546 with [5, 7, 8, 9] by 5 + 5 x 7 + 8 x 7
Got to 547 with [5, 7, 8, 9] by 5 + 7 x 5 x 9 + 7
Got to 548 with [5, 7, 8, 9] by 5 + 7 x 5 x 9 + 8
Got to 549 with [5, 7, 8, 9] by 5 + 5 x 7 - 9 x 9
Got to 550 with [5, 7, 8, 9] by 5 + 8 + 9 x 5 x 5
Got to 551 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 - 9
Got to 552 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 - 8
Got to 553 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 - 7
Got to 554 with [5, 7, 8, 9] by 7 x 8 + 5 x 9 + 5
Got to 555 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 - 5
Got to 556 with [5, 7, 8, 9] by 7 x 8 + 5 x 9 + 7
Got to 557 with [5, 7, 8, 9] by 7 x 8 + 5 x 9 + 8
Got to 558 with [5, 7, 8, 9] by 5 + 5 x 7 - 8 x 9
Got to 559 with [5, 7, 8, 9] by 7 x 8 + 7 x 9 - 8
Got to 560 with [5, 7, 8, 9] by 5 x 5 - 9 x 5 x 7
Got to 561 with [5, 7, 8, 9] by 7 x 9 + 8 x 8 - 7
Got to 562 with [5, 7, 8, 9] by 7 x 8 + 7 x 9 - 5
Got to 563 with [5, 7, 8, 9] by 7 x 9 + 8 x 8 - 5
Got to 564 with [5, 7, 8, 9] by 7 x 9 x 9 + 5 - 8
Got to 565 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 + 5
Got to 566 with [5, 7, 8, 9] by 7 x 9 x 9 + 7 - 8
Got to 567 with [5, 7, 8, 9] by 5 + 5 x 7 - 7 x 9
Got to 568 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 + 8
Got to 569 with [5, 7, 8, 9] by 5 + 5 x 7 x 8 + 9
Got to 570 with [5, 7, 8, 9] by 7 + 8 x 7 + 9 x 5
Got to 571 with [5, 7, 8, 9] by 7 x 8 + 8 x 9 - 5
Got to 572 with [5, 7, 8, 9] by 7 x 8 + 7 x 9 + 5
Got to 573 with [5, 7, 8, 9] by 7 x 9 + 8 x 8 + 5
Got to 574 with [5, 7, 8, 9] by 5 + 5 x 9 - 8 x 7
Got to 575 with [5, 7, 8, 9] by 5 + 7 x 9 + 7 x 5
Got to 576 with [5, 7, 8, 9] by 5 ÷ 5 + 7 x 8 x 9
Got to 577 with [5, 7, 8, 9] by 5 + 8 x 5 x 9 - 8
Got to 578 with [5, 7, 8, 9] by 5 + 8 x 5 x 9 - 7
Got to 579 with [5, 7, 8, 9] by 5 + 7 x 7 x 7 - 9
Got to 580 with [5, 7, 8, 9] by 5 x 5 x 5 - 9 x 5
Got to 581 with [5, 7, 8, 9] by 5 + 5 x 9 - 7 x 7
Got to 582 with [5, 7, 8, 9] by 7 x 9 x 9 + 7 + 8
Got to 583 with [5, 7, 8, 9] by 5 + 7 x 7 x 7 - 5
Got to 584 with [5, 7, 8, 9] by 5 + 5 x 8 - 7 x 8
Got to 585 with [5, 7, 8, 9] by 5 x 5 x 5 - 8 x 5
Got to 586 with [5, 7, 8, 9] by 8 x 8 x 9 + 5 + 5
Got to 587 with [5, 7, 8, 9] by 8 + 9 x 5 x 7 - 8
Got to 588 with [5, 7, 8, 9] by 5 + 8 x 7 - 7 x 7
Got to 589 with [5, 7, 8, 9] by 8 x 8 x 9 + 5 + 8
Got to 590 with [5, 7, 8, 9] by 5 x 5 x 5 - 7 x 5
Got to 591 with [5, 7, 8, 9] by 7 + 8 x 5 x 8 - 9
Got to 592 with [5, 7, 8, 9] by 5 + 8 x 5 x 9 + 7
Got to 593 with [5, 7, 8, 9] by 5 + 7 x 7 x 7 + 5
Got to 594 with [5, 7, 8, 9] by 5 + 8 x 5 x 9 + 9
Got to 595 with [5, 7, 8, 9] by 5 + 5 + 7 x 5 x 7
Got to 596 with [5, 7, 8, 9] by 5 + 7 x 7 x 7 + 8
Got to 597 with [5, 7, 8, 9] by 5 + 7 x 7 x 7 + 9
Got to 598 with [5, 7, 8, 9] by 8 x 9 - 5 x 9 - 5
Got to 599 with [5, 7, 8, 9] by 9 x 9 - 5 x 8 - 9
Got to 600 with [5, 7, 8, 9] by 5 x 5 x 5 - 5 x 5
Got to 601 with [5, 7, 8, 9] by 9 x 9 - 5 x 8 - 7
Got to 602 with [5, 7, 8, 9] by 5 + 8 x 7 - 5 x 7
Got to 603 with [5, 7, 8, 9] by 5 + 7 x 5 + 7 x 9
Got to 604 with [5, 7, 8, 9] by 7 x 9 + 5 x 9 - 8
Got to 605 with [5, 7, 8, 9] by 5 + 9 x 8 + 9 x 5
Got to 605 with [1, 4, 6, 7, 9] by 9 x 9 + 6 x 7 - 4
Got to 606 with [1, 4, 6, 7, 9] by 6 + 6 x 9 - 7 x 6
Got to 607 with [1, 4, 6, 7, 9] by 7 x 9 + 4 x 9 + 4
Got to 608 with [1, 4, 6, 7, 9] by 6 x 7 - 4 x 4 x 4
Got to 609 with [1, 4, 6, 7, 9] by 1 x 9 x 9 + 6 x 7
Got to 610 with [1, 4, 6, 7, 9] by 7 x 9 + 4 x 9 + 7
Got to 610 with [2, 4, 6, 7, 9] by 7 x 9 + 4 x 9 + 7
Got to 611 with [2, 4, 6, 7, 9] by 9 x 9 + 6 x 7 + 2
Got to 612 with [2, 4, 6, 7, 9] by 2 x 4 + 9 x 4 x 9
Got to 613 with [2, 4, 6, 7, 9] by 9 x 9 + 6 x 7 + 4
Got to 614 with [2, 4, 6, 7, 9] by 7 x 9 + 6 x 9 - 7
Got to 615 with [2, 4, 6, 7, 9] by 7 x 9 + 6 x 9 - 6
Got to 616 with [2, 4, 6, 7, 9] by 2 x 6 x 7 + 4 x 7
Got to 617 with [2, 4, 6, 7, 9] by 7 x 9 + 6 x 9 - 4
Got to 618 with [2, 4, 6, 7, 9] by 2 + 9 x 9 + 4 x 6
Got to 619 with [2, 4, 6, 7, 9] by 7 x 9 + 6 x 9 - 2
Got to 620 with [2, 4, 6, 7, 9] by 2 x 9 x 9 - 7 x 4
Got to 621 with [2, 4, 6, 7, 9] by 2 + 7 x 7 + 6 x 9
Got to 622 with [2, 4, 6, 7, 9] by 9 x 9 + 7 x 7 + 6
Got to 623 with [2, 4, 6, 7, 9] by 2 x 7 x 7 - 9 x 7
Got to 624 with [2, 4, 6, 7, 9] by 2 x 6 x 9 - 4 x 6
Got to 625 with [2, 4, 6, 7, 9] by 7 x 9 + 6 x 9 + 4
Got to 626 with [2, 4, 6, 7, 9] by 4 + 6 x 7 x 9 - 4
Got to 627 with [2, 4, 6, 7, 9] by 7 x 9 + 6 x 9 + 6
Got to 628 with [2, 4, 6, 7, 9] by 4 + 6 x 7 x 9 - 2
Got to 628 with [2, 5, 6, 8, 9] by 5 x 8 x 8 - 6 x 2
Got to 629 with [2, 5, 6, 8, 9] by 5 + 8 x 6 x 8 + 5
Got to 630 with [2, 5, 6, 8, 9] by 2 + 5 x 2 x 5 x 9
Got to 631 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 - 9
Got to 632 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 - 8
Got to 633 with [2, 5, 6, 8, 9] by 5 x 5 x 5 x 5 + 8
Got to 634 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 - 6
Got to 635 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 - 5
Got to 636 with [2, 5, 6, 8, 9] by 2 x 6 x 9 - 2 x 6
Got to 637 with [2, 5, 6, 8, 9] by 8 x 9 x 9 - 2 - 9
Got to 638 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 - 2
Got to 639 with [2, 5, 6, 8, 9] by 2 x 5 x 8 - 9 x 9
Got to 640 with [2, 5, 6, 8, 9] by 2 + 2 + 6 x 8 x 8
Got to 641 with [2, 5, 6, 8, 9] by 8 x 9 x 9 - 2 - 5
Got to 642 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 + 2
Got to 643 with [2, 5, 6, 8, 9] by 2 x 6 x 6 x 9 - 5
Got to 644 with [2, 5, 6, 8, 9] by 5 x 8 x 8 + 2 x 2
Got to 645 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 + 5
Got to 646 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 + 6
Got to 647 with [2, 5, 6, 8, 9] by 8 x 9 x 9 + 5 - 6
Got to 648 with [2, 5, 6, 8, 9] by 2 + 2 x 2 x 9 x 9
Got to 649 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 8 + 9
Got to 650 with [2, 5, 6, 8, 9] by 2 x 6 x 6 x 9 + 2
Got to 651 with [2, 5, 6, 8, 9] by 8 x 8 + 9 x 9 - 6
Got to 652 with [2, 5, 6, 8, 9] by 5 x 8 x 8 + 6 x 2
Got to 653 with [2, 5, 6, 8, 9] by 2 x 6 x 6 x 9 + 5
Got to 654 with [2, 5, 6, 8, 9] by 2 x 6 x 6 x 9 + 6
Got to 655 with [2, 5, 6, 8, 9] by 5 x 5 x 5 + 6 x 5
Got to 656 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 2 x 8
Got to 657 with [2, 5, 6, 8, 9] by 2 x 6 x 6 x 9 + 9
Got to 658 with [2, 5, 6, 8, 9] by 5 x 8 x 8 + 9 x 2
Got to 659 with [2, 5, 6, 8, 9] by 8 x 8 + 9 x 9 + 2
Got to 660 with [2, 5, 6, 8, 9] by 2 x 6 x 9 + 2 x 6
Got to 661 with [2, 5, 6, 8, 9] by 8 x 9 + 2 x 9 - 5
Got to 662 with [2, 5, 6, 8, 9] by 8 x 8 + 9 x 9 + 5
Got to 663 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 8 - 9
Got to 664 with [2, 5, 6, 8, 9] by 2 + 9 x 8 - 5 x 8
Got to 665 with [2, 5, 6, 8, 9] by 2 x 8 x 8 + 5 x 5
Got to 666 with [2, 5, 6, 8, 9] by 2 x 5 x 8 - 6 x 9
Got to 667 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 8 - 5
Got to 668 with [2, 5, 6, 8, 9] by 8 x 9 + 2 x 9 + 2
Got to 669 with [2, 5, 6, 8, 9] by 6 + 9 x 5 x 9 - 6
Got to 670 with [2, 5, 6, 8, 9] by 2 x 8 x 8 + 6 x 5
Got to 671 with [2, 5, 6, 8, 9] by 8 x 9 + 2 x 9 + 5
Got to 672 with [2, 5, 6, 8, 9] by 2 + 5 x 2 x 6 x 8
Got to 673 with [2, 5, 6, 8, 9] by 6 + 9 x 5 x 9 - 2
Got to 674 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 8 + 2
Got to 675 with [2, 5, 6, 8, 9] by 2 x 5 + 5 x 5 x 9
Got to 676 with [2, 5, 6, 8, 9] by 9 x 9 - 5 x 9 - 8
Got to 677 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 8 + 5
Got to 678 with [2, 5, 6, 8, 9] by 2 x 6 x 9 + 5 x 6
Got to 679 with [2, 5, 6, 8, 9] by 9 x 9 + 5 x 8 - 9
Got to 680 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 5 x 8
Got to 681 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 8 + 9
Got to 682 with [2, 5, 6, 8, 9] by 8 + 9 x 5 x 8 + 2
Got to 683 with [2, 5, 6, 8, 9] by 6 + 9 x 5 x 9 + 8
Got to 684 with [2, 5, 6, 8, 9] by 2 x 5 + 9 x 6 x 6
Got to 685 with [2, 5, 6, 8, 9] by 2 x 8 x 8 + 9 x 5
Got to 686 with [2, 5, 6, 8, 9] by 8 + 9 x 5 x 8 + 6
Got to 687 with [2, 5, 6, 8, 9] by 8 x 9 + 5 x 9 - 6
Got to 688 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 6 x 8
Got to 689 with [2, 5, 6, 8, 9] by 8 + 9 x 5 x 8 + 9
Got to 690 with [2, 5, 6, 8, 9] by 2 x 8 x 9 - 6 x 5
Got to 691 with [2, 5, 6, 8, 9] by 8 x 9 + 5 x 9 - 2
Got to 692 with [2, 5, 6, 8, 9] by 9 x 9 - 5 x 9 + 8
Got to 693 with [2, 5, 6, 8, 9] by 2 x 6 x 6 + 5 x 9
Got to 694 with [2, 5, 6, 8, 9] by 5 + 8 x 6 x 9 - 8
Got to 695 with [2, 5, 6, 8, 9] by 2 x 8 x 9 - 5 x 5
Got to 696 with [2, 5, 6, 8, 9] by 2 x 6 x 8 - 9 x 8
Got to 697 with [2, 5, 6, 8, 9] by 5 + 8 x 6 x 9 - 5
Got to 698 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 8 - 6
Got to 699 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 8 - 5
Got to 700 with [2, 5, 6, 8, 9] by 5 x 6 - 2 x 5 x 5
Got to 701 with [2, 5, 6, 8, 9] by 8 x 9 + 5 x 9 + 8
Got to 702 with [2, 5, 6, 8, 9] by 2 + 2 + 9 x 6 x 9
Got to 703 with [2, 5, 6, 8, 9] by 9 x 9 - 2 x 9 - 8
Got to 704 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 8 x 8
Got to 705 with [2, 5, 6, 8, 9] by 5 x 5 x 6 - 9 x 5
Got to 706 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 8 + 2
Got to 707 with [2, 5, 6, 8, 9] by 5 + 8 x 6 x 9 + 5
Got to 708 with [2, 5, 6, 8, 9] by 5 ÷ 6 + 9 x 8 x 9
Got to 709 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 8 + 5
Got to 710 with [2, 5, 6, 8, 9] by 2 x 8 x 9 - 2 x 5
Got to 711 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 - 9
Got to 712 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 9 x 8
Got to 713 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 8 + 9
Got to 714 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 - 6
Got to 715 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 - 5
Got to 716 with [2, 5, 6, 8, 9] by 5 x 8 x 9 - 2 x 2
Got to 717 with [2, 5, 6, 8, 9] by 9 x 9 - 2 x 9 + 6
Got to 718 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 - 2
Got to 719 with [2, 5, 6, 8, 9] by 9 x 9 - 2 x 9 + 8
Got to 720 with [2, 5, 6, 8, 9] by 2 + 2 x 5 x 6 x 6
Got to 721 with [2, 5, 6, 8, 9] by 8 x 9 + 9 x 9 - 8
Got to 722 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 + 2
Got to 723 with [2, 5, 6, 8, 9] by 8 x 9 + 9 x 9 - 6
Got to 724 with [2, 5, 6, 8, 9] by 5 x 8 x 9 + 2 x 2
Got to 725 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 + 5
Got to 726 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 + 6
Got to 727 with [2, 5, 6, 8, 9] by 8 x 9 + 9 x 9 - 2
Got to 728 with [2, 5, 6, 8, 9] by 2 x 5 x 8 x 9 + 8
Got to 729 with [2, 5, 6, 8, 9] by 2 + 2 + 5 x 9 x 9
Got to 730 with [2, 5, 6, 8, 9] by 2 x 8 x 9 + 2 x 5
Got to 731 with [2, 5, 6, 8, 9] by 8 x 9 + 9 x 9 + 2
Got to 732 with [2, 5, 6, 8, 9] by 2 x 8 x 8 - 6 x 6
Got to 733 with [2, 5, 6, 8, 9] by 9 x 9 x 9 + 2 + 2
Got to 734 with [2, 5, 6, 8, 9] by 8 x 9 + 9 x 9 + 5
Got to 735 with [2, 5, 6, 8, 9] by 8 + 9 x 9 - 6 x 5
Got to 736 with [2, 5, 6, 8, 9] by 2 x 5 x 9 + 2 x 8
Got to 737 with [2, 5, 6, 8, 9] by 8 x 9 + 9 x 9 + 8
Got to 738 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 2 x 9
Got to 739 with [2, 5, 6, 8, 9] by 9 x 9 + 2 x 9 - 8
Got to 740 with [2, 5, 6, 8, 9] by 5 x 5 x 6 - 2 x 5
Got to 741 with [2, 5, 6, 8, 9] by 5 x 5 x 5 x 6 - 9
Got to 742 with [2, 5, 6, 8, 9] by 5 x 5 x 5 x 6 - 8
Got to 743 with [2, 5, 6, 8, 9] by 9 x 9 x 9 + 5 + 9
Got to 744 with [2, 5, 6, 8, 9] by 2 + 9 x 8 + 5 x 8
Got to 745 with [2, 5, 6, 8, 9] by 2 x 8 x 9 + 5 x 5
Got to 746 with [2, 5, 6, 8, 9] by 9 x 9 x 9 + 8 + 9
Got to 747 with [2, 5, 6, 8, 9] by 2 + 9 x 8 - 5 x 9
Got to 748 with [2, 5, 6, 8, 9] by 5 x 5 x 5 x 6 - 2
Got to 749 with [2, 5, 6, 8, 9] by 9 x 9 + 2 x 9 + 2
Got to 750 with [2, 5, 6, 8, 9] by 2 x 8 + 9 x 5 x 6
Got to 751 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 9 - 5
Got to 752 with [2, 5, 6, 8, 9] by 2 x 6 x 8 - 2 x 8
Got to 753 with [2, 5, 6, 8, 9] by 9 x 9 + 2 x 9 + 6
Got to 754 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 9 - 2
Got to 755 with [2, 5, 6, 8, 9] by 5 x 5 x 5 x 6 + 5
Got to 756 with [2, 5, 6, 8, 9] by 2 + 5 x 2 x 6 x 9
Got to 757 with [2, 5, 6, 8, 9] by 8 + 9 x 5 x 9 - 8
Got to 758 with [2, 5, 6, 8, 9] by 5 x 5 x 5 x 6 + 8
Got to 759 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 - 9
Got to 760 with [2, 5, 6, 8, 9] by 2 x 5 + 9 x 5 x 8
Got to 761 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 9 + 5
Got to 762 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 - 6
Got to 763 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 - 5
Got to 764 with [2, 5, 6, 8, 9] by 5 + 9 x 6 x 9 + 8
Got to 765 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 5 x 9
Got to 766 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 - 2
Got to 767 with [2, 5, 6, 8, 9] by 8 + 9 x 5 x 9 + 2
Got to 768 with [2, 5, 6, 8, 9] by 2 + 2 + 8 x 8 x 8
Got to 769 with [2, 5, 6, 8, 9] by 9 x 9 + 5 x 9 - 5
Got to 770 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 + 2
Got to 771 with [2, 5, 6, 8, 9] by 8 + 9 x 5 x 9 + 6
Got to 772 with [2, 5, 6, 8, 9] by 6 x 8 x 8 + 2 x 2
Got to 773 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 + 5
Got to 774 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 6 x 9
Got to 775 with [2, 5, 6, 8, 9] by 5 x 5 + 6 x 5 x 5
Got to 776 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 + 8
Got to 777 with [2, 5, 6, 8, 9] by 2 x 6 x 8 x 8 + 9
Got to 778 with [2, 5, 6, 8, 9] by 6 x 8 x 8 + 5 x 2
Got to 779 with [2, 5, 6, 8, 9] by 9 x 9 + 5 x 9 + 5
Got to 780 with [2, 5, 6, 8, 9] by 2 x 8 x 8 + 2 x 6
Got to 781 with [2, 5, 6, 8, 9] by 9 x 9 + 6 x 9 - 2
Got to 782 with [2, 5, 6, 8, 9] by 9 x 9 + 5 x 9 + 8
Got to 783 with [2, 5, 6, 8, 9] by 2 x 6 x 8 - 9 x 9
Got to 784 with [2, 5, 6, 8, 9] by 2 x 5 x 9 + 8 x 8
Got to 785 with [2, 5, 6, 8, 9] by 2 x 9 x 9 - 5 x 5
Got to 786 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 9 - 6
Got to 787 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 9 - 5
Got to 788 with [2, 5, 6, 8, 9] by 9 x 9 + 6 x 9 + 5
Got to 789 with [2, 5, 6, 8, 9] by 9 x 9 + 6 x 9 + 6
Got to 790 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 9 - 2
Got to 791 with [2, 5, 6, 8, 9] by 9 x 9 + 6 x 9 + 8
Got to 792 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 8 x 9
Got to 793 with [2, 5, 6, 8, 9] by 9 x 9 + 8 x 9 - 8
Got to 794 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 9 + 2
Got to 795 with [2, 5, 6, 8, 9] by 5 x 5 x 6 + 9 x 5
Got to 796 with [2, 5, 6, 8, 9] by 9 x 9 + 8 x 9 - 5
Got to 797 with [2, 5, 6, 8, 9] by 2 + 9 x 8 x 9 + 5
Got to 798 with [2, 5, 6, 8, 9] by 2 x 8 x 8 + 5 x 6
Got to 799 with [2, 5, 6, 8, 9] by 9 x 9 + 8 x 9 - 2
Got to 800 with [2, 5, 6, 8, 9] by 2 + 2 x 5 x 5 x 8
Got to 801 with [2, 5, 6, 8, 9] by 2 x 5 x 8 + 9 x 9
Got to 802 with [2, 5, 6, 8, 9] by 2 x 5 x 9 x 9 - 8
Got to 803 with [2, 5, 6, 8, 9] by 9 x 9 + 8 x 9 + 2
Got to 804 with [2, 5, 6, 8, 9] by 2 x 5 x 9 x 9 - 6
Got to 805 with [2, 5, 6, 8, 9] by 2 x 5 x 9 x 9 - 5
Got to 806 with [2, 5, 6, 8, 9] by 5 x 9 x 9 - 2 x 2
Got to 807 with [2, 5, 6, 8, 9] by 8 + 9 x 6 x 8 - 9
Got to 808 with [2, 5, 6, 8, 9] by 2 x 5 x 9 x 9 - 2
Got to 809 with [2, 5, 6, 8, 9] by 9 x 9 + 8 x 9 + 8
Got to 810 with [2, 5, 6, 8, 9] by 2 + 2 + 6 x 9 x 9
Got to 811 with [2, 5, 6, 8, 9] by 8 + 9 x 6 x 8 - 5
Got to 812 with [2, 5, 6, 8, 9] by 2 x 5 x 9 x 9 + 2
Got to 812 with [1, 2, 5, 6, 8, 9] by 1 + 9 x 9 x 9 + 2
Got to 812 with [2, 3, 5, 6, 8, 9] by 2 x 5 x 9 x 9 + 2
Got to 813 with [2, 3, 5, 6, 8, 9] by 2 x 5 x 9 x 9 + 3
Got to 814 with [2, 3, 5, 6, 8, 9] by 5 x 9 x 9 + 2 x 2
Got to 815 with [2, 3, 5, 6, 8, 9] by 2 x 5 x 9 x 9 + 5
Got to 816 with [2, 3, 5, 6, 8, 9] by 2 x 5 x 9 x 9 + 6
Got to 816 with [2, 3, 5, 7, 8, 9] by 2 + 9 x 9 + 3 x 8
Got to 817 with [2, 3, 5, 7, 8, 9] by 2 x 5 x 9 x 9 + 7
Got to 818 with [2, 3, 5, 7, 8, 9] by 2 x 5 x 9 x 9 + 8
Got to 819 with [2, 3, 5, 7, 8, 9] by 2 + 2 + 9 x 7 x 9
Got to 820 with [2, 3, 5, 7, 8, 9] by 2 x 9 x 9 + 2 x 5
Got to 821 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 7 x 9 + 2
Got to 822 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 7 x 9 + 3
Got to 823 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 8 x 8 - 9
Got to 824 with [2, 3, 5, 7, 8, 9] by 2 x 7 x 7 + 5 x 8
Got to 825 with [2, 3, 5, 7, 8, 9] by 2 + 9 x 3 x 5 x 5
Got to 826 with [2, 3, 5, 7, 8, 9] by 2 x 7 x 9 - 8 x 7
Got to 827 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 7 x 9 + 8
Got to 828 with [2, 3, 5, 7, 8, 9] by 2 x 5 x 9 + 2 x 9
Got to 829 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 8 x 8 - 3
Got to 830 with [2, 3, 5, 7, 8, 9] by 3 x 7 x 8 - 2 x 5
Got to 831 with [2, 3, 5, 7, 8, 9] by 3 x 5 x 7 x 8 - 9
Got to 832 with [2, 3, 5, 7, 8, 9] by 2 + 2 + 9 x 8 x 8
Got to 833 with [2, 3, 5, 7, 8, 9] by 2 x 5 + 7 x 7 x 7
Got to 834 with [2, 3, 5, 7, 8, 9] by 5 x 7 x 8 - 2 x 3
Got to 835 with [2, 3, 5, 7, 8, 9] by 2 x 9 x 9 + 5 x 5
Got to 836 with [2, 3, 5, 7, 8, 9] by 8 + 9 x 7 x 7 + 3
Got to 837 with [2, 3, 5, 7, 8, 9] by 2 x 5 x 9 + 3 x 9
Got to 838 with [2, 3, 5, 7, 8, 9] by 3 x 5 x 7 x 8 - 2
Got to 839 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 8 x 8 + 7
Got to 840 with [2, 3, 5, 7, 8, 9] by 2 + 3 x 3 x 7 x 8
Got to 841 with [2, 3, 5, 7, 8, 9] by 5 + 8 x 8 x 8 + 9
Got to 842 with [2, 3, 5, 7, 8, 9] by 3 x 5 x 7 x 8 + 2
Got to 843 with [2, 3, 5, 7, 8, 9] by 3 x 5 x 7 x 8 + 3
Got to 844 with [2, 3, 4, 5, 7, 8, 9] by 3 x 5 x 7 x 8 + 4
Got to 845 with [2, 3, 4, 5, 7, 8, 9] by 2 x 9 x 9 + 7 x 5
Got to 846 with [2, 3, 4, 5, 7, 8, 9] by 2 x 5 x 9 + 4 x 9
Got to 847 with [2, 3, 4, 5, 7, 8, 9] by 2 x 7 x 8 + 9 x 7
Got to 848 with [2, 3, 4, 5, 7, 8, 9] by 2 x 7 x 7 + 8 x 8
Got to 849 with [2, 3, 4, 5, 7, 8, 9] by 3 x 5 x 7 x 8 + 9
Got to 850 with [2, 3, 4, 5, 7, 8, 9] by 2 x 9 x 9 + 8 x 5
...
*/
@rileyjshaw
Copy link
Author

Slight modification to see every arrangement that can reach Level 512 (9 LEDs). Results are sorted by how spread apart the digits are in the final layout:

const {abs, floor, pow} = Math;

const digits = Array.from({length: 9}, (_, i) => i + 1);  // 1...9.
const operations = [
	[(a, b) => a + b, '+'],
	[(a, b) => a - b, '-'],
	[(a, b) => a * b, 'x'],
	[(a, b) => a / b, '÷'],
];
const lengths = [4, 5, 6];  // Acceptable numbers of digits.
const calculationLength = 5;
const maxLevel = 512;

const nn = '\n\n';
const visualize = d => `${d.includes(7) ? 7 : '•'}   ${d.includes(8) ? 8 : '•'}   ${d.includes(9) ? 9 : '•'}${nn
                       }${d.includes(4) ? 4 : '•'}   ${d.includes(5) ? 5 : '•'}   ${d.includes(6) ? 6 : '•'}${nn
                       }${d.includes(1) ? 1 : '•'}   ${d.includes(2) ? 2 : '•'}   ${d.includes(3) ? 3 : '•'}`;

// Returns the [x, y] coordinates of a digit.
const xy = (() => {
	const memo = new Array(digits.length);
	return n => {
		--n;  // Switch to 0-indexing.
		if (memo[n]) return memo[n];
		return memo[n] = [n % 3, floor(n / 3)];
	}
})();

// •   8   •
//     |
// •   •   •
//     |
// 1———•   •
const dRectilinear = (a, b) => {
	const [aX, aY] = xy(a);
	const [bX, bY] = xy(b);
	return abs(aX - bX) + abs(aY - bY);
};

// •   8   •
//    /
// • / •   •
//  /
// 1   •   •
//
// Note: no need to use sqrt or hypot for simple comparison.
const dDiagonal = (a, b) => {
	const [aX, aY] = xy(a);
	const [bX, bY] = xy(b);
	return pow(aX - bX, 2) + pow(aY - bY, 2);
};


const getCombinations = (() => {
	const memoizedCombinations = [];
	const memoizedPermutations = [];

	return function getCombinations (choices, length, permute = false) {
		// Permute = false: [ [1, 2, 3], [1, 2, 4], ... ].
		// Permute = true:  [ [1, 1, 1], [1, 1, 2], ... ].

		// Combinations are stored as indices until it's time to return.
		const memo = permute ? memoizedPermutations : memoizedCombinations;
		if (!memo[length]) memo[length] = [];
		const memoized = memo[length][choices.length];
		let combinations;
		if (memoized) {
			combinations = memoized;
		} else {
			const numChoices = choices.length;
			combinations = (function nextIndex (start = 0, acc = []) {
				const numRemainingSpots = length - acc.length;
				if (!numRemainingSpots) return [acc];

				let results = [];
				if (permute || numRemainingSpots <= numChoices + 1 - start) {
					for (let i = permute ? 0 : start; i < numChoices; ++i) {
						const result = nextIndex(i + 1, acc.concat(i));
						if (result.length) results.push(...result);
					}
				}
				return results;
			})();

			memo[length][choices.length] = combinations;
		}
		return combinations.map(combination => combination.map(i => choices[i]));
	};
})();

// Tests:
console.assert(
	getCombinations(digits, 1).length === getCombinations(digits, 1, true).length,
	'Permutations and combinations with length 1 should be the same.');

console.assert(getCombinations(digits, 2).every(combination =>
	combination.slice(1).every((digit, i) => digit > combination[i])),
	'Combinations should be in order.');

console.assert(getCombinations(digits, 4).length === 126,
	'Incorrect number of combinations.');

console.assert(getCombinations(digits, 4, true).length === pow(9, 4),
	'Incorrect number of permutations.');

console.assert(getCombinations([2, 4, 5, 6, 7], 4, true).some(combination =>
	combination.join('') === '4467'),
	'Spot check.');

console.assert(getCombinations([2, 4, 5, 6, 7], 4).every(combination =>
	combination.every(n => typeof n === 'number')),
	'Spot check 2.');

// Get all possible combinations of operations, eg:
// [ [+, +, +], ..., [-, x, ÷], ... ].
const operationCombinations = getCombinations(operations, calculationLength - 1, true);
lengths.forEach(numAvailableDigits => {
	console.log('#'.repeat(79));
	console.log(`#${' '.repeat(34)}${numAvailableDigits} BUTTONS${' '.repeat(34)}#`);
	console.log('#'.repeat(79));
	console.log('\n');

	// Run through each possible group of available digits.
	// eg. if numAvailableDigits is 3:
	// [ [1, 2, 3], [1, 2, 4], ... ].
	const digitGroups = getCombinations(digits, numAvailableDigits);

	// For each digit group, we need to do something like this:
	//
	// Get all possible combinations of digits in the digit group.
	// eg. if the digit group is [1, 2, 3, 4, 7, 9]:
	// [ [1, 1, 1, 1], ..., [1, 4, 9, 2], ... ].
	//
	digitGroups
		.filter(digitGroup => {
			const digitCombinations = getCombinations(digitGroup, calculationLength, true);

			// First, test if the combination will be able to match the current
			// high score. Then,
			//
			// Starting at 0, try all combinations of digits within the group
			// against all combinations of operators until the target is reached.
			// Then move on to the next target.
			for (let target = maxLevel; target > 0; --target) {
				if (!digitCombinations.some(digitCombination =>
					operationCombinations.some(operationCombination =>
						digitCombination.reduce((acc, digit, i) => {
							const operation = operationCombination[i - 1][0];
							return operation(acc, digit);
						}) === target
					)
				)) return false;
			}
			return true;
		})
		.map(digitGroup => ({
			digitGroup,
			score: getCombinations(digitGroup, 2).reduce((acc, [a, b]) => acc + dDiagonal(a, b), 0),
		}))
		.sort((a, b) => b.score - a.score)
		.forEach(({digitGroup}) => {
			console.log(`[${digitGroup.join(', ')}]`);
			console.log('='.repeat(digitGroup.length * 3));
			console.log(visualize(digitGroup));
			console.log(nn);
		});
});

Result:

###############################################################################
#                                  4 BUTTONS                                  #
###############################################################################


[3, 6, 7, 8]
============
7   8   •

•   •   6

•   •   3



[5, 7, 8, 9]
============
7   8   9

•   5   •

•   •   •



###############################################################################
#                                  5 BUTTONS                                  #
###############################################################################


[1, 3, 6, 7, 8]
===============
7   8   •

•   •   6

1   •   3



[1, 4, 6, 7, 9]
===============
7   •   9

4   •   6

1   •   •



[3, 4, 7, 8, 9]
===============
7   8   9

4   •   •

•   •   3



[1, 3, 5, 7, 8]
===============
7   8   •

•   5   •

1   •   3



[1, 5, 6, 7, 9]
===============
7   •   9

•   5   6

1   •   •



[2, 3, 6, 7, 8]
===============
7   8   •

•   •   6

•   2   3



[2, 4, 6, 7, 9]
===============
7   •   9

4   •   6

•   2   •



[3, 4, 6, 7, 8]
===============
7   8   •

4   •   6

•   •   3



[3, 6, 7, 8, 9]
===============
7   8   9

•   •   6

•   •   3



[1, 5, 7, 8, 9]
===============
7   8   9

•   5   •

1   •   •



[2, 3, 5, 7, 8]
===============
7   8   •

•   5   •

•   2   3



[2, 4, 7, 8, 9]
===============
7   8   9

4   •   •

•   2   •



[2, 6, 7, 8, 9]
===============
7   8   9

•   •   6

•   2   •



[3, 4, 6, 8, 9]
===============
•   8   9

4   •   6

•   •   3



[3, 5, 7, 8, 9]
===============
7   8   9

•   5   •

•   •   3



[1, 5, 6, 7, 8]
===============
7   8   •

•   5   6

1   •   •



[2, 5, 6, 7, 9]
===============
7   •   9

•   5   6

•   2   •



[3, 4, 5, 7, 8]
===============
7   8   •

4   5   •

•   •   3



[3, 5, 6, 7, 8]
===============
7   8   •

•   5   6

•   •   3



[2, 5, 7, 8, 9]
===============
7   8   9

•   5   •

•   2   •



[4, 5, 6, 7, 9]
===============
7   •   9

4   5   6

•   •   •



[4, 6, 7, 8, 9]
===============
7   8   9

4   •   6

•   •   •



[2, 4, 5, 7, 8]
===============
7   8   •

4   5   •

•   2   •



[2, 5, 6, 8, 9]
===============
•   8   9

•   5   6

•   2   •



[4, 5, 6, 7, 8]
===============
7   8   •

4   5   6

•   •   •



[4, 5, 7, 8, 9]
===============
7   8   9

4   5   •

•   •   •



[5, 6, 7, 8, 9]
===============
7   8   9

•   5   6

•   •   •



###############################################################################
#                                  6 BUTTONS                                  #
###############################################################################


[1, 2, 3, 7, 8, 9]
==================
7   8   9

•   •   •

1   2   3



[1, 3, 4, 6, 7, 9]
==================
7   •   9

4   •   6

1   •   3



[1, 2, 3, 4, 7, 9]
==================
7   •   9

4   •   •

1   2   3



[1, 3, 4, 7, 8, 9]
==================
7   8   9

4   •   •

1   •   3



[1, 3, 6, 7, 8, 9]
==================
7   8   9

•   •   6

1   •   3



[1, 2, 3, 6, 7, 8]
==================
7   8   •

•   •   6

1   2   3



[1, 2, 4, 6, 7, 9]
==================
7   •   9

4   •   6

1   2   •



[1, 2, 6, 7, 8, 9]
==================
7   8   9

•   •   6

1   2   •



[1, 3, 4, 6, 7, 8]
==================
7   8   •

4   •   6

1   •   3



[1, 3, 4, 6, 8, 9]
==================
•   8   9

4   •   6

1   •   3



[1, 3, 5, 6, 7, 9]
==================
7   •   9

•   5   6

1   •   3



[1, 3, 5, 7, 8, 9]
==================
7   8   9

•   5   •

1   •   3



[2, 3, 4, 6, 7, 9]
==================
7   •   9

4   •   6

•   2   3



[2, 3, 4, 7, 8, 9]
==================
7   8   9

4   •   •

•   2   3



[1, 2, 3, 6, 8, 9]
==================
•   8   9

•   •   6

1   2   3



[1, 2, 4, 7, 8, 9]
==================
7   8   9

4   •   •

1   2   •



[1, 4, 6, 7, 8, 9]
==================
7   8   9

4   •   6

1   •   •



[2, 3, 6, 7, 8, 9]
==================
7   8   9

•   •   6

•   2   3



[3, 4, 6, 7, 8, 9]
==================
7   8   9

4   •   6

•   •   3



[1, 2, 4, 6, 8, 9]
==================
•   8   9

4   •   6

1   2   •



[1, 2, 5, 6, 7, 9]
==================
7   •   9

•   5   6

1   2   •



[1, 3, 5, 6, 7, 8]
==================
7   8   •

•   5   6

1   •   3



[2, 3, 4, 5, 7, 9]
==================
7   •   9

4   5   •

•   2   3



[2, 3, 4, 6, 7, 8]
==================
7   8   •

4   •   6

•   2   3



[1, 2, 3, 5, 7, 8]
==================
7   8   •

•   5   •

1   2   3



[1, 2, 3, 5, 8, 9]
==================
•   8   9

•   5   •

1   2   3



[1, 2, 5, 7, 8, 9]
==================
7   8   9

•   5   •

1   2   •



[1, 4, 5, 6, 7, 9]
==================
7   •   9

4   5   6

1   •   •



[2, 3, 5, 7, 8, 9]
==================
7   8   9

•   5   •

•   2   3



[3, 4, 5, 6, 7, 9]
==================
7   •   9

4   5   6

•   •   3



[1, 2, 4, 5, 7, 9]
==================
7   •   9

4   5   •

1   2   •



[1, 3, 4, 5, 7, 8]
==================
7   8   •

4   5   •

1   •   3



[1, 5, 6, 7, 8, 9]
==================
7   8   9

•   5   6

1   •   •



[2, 3, 4, 6, 8, 9]
==================
•   8   9

4   •   6

•   2   3



[2, 3, 5, 6, 7, 9]
==================
7   •   9

•   5   6

•   2   3



[2, 4, 6, 7, 8, 9]
==================
7   8   9

4   •   6

•   2   •



[3, 4, 5, 7, 8, 9]
==================
7   8   9

4   5   •

•   •   3



[1, 2, 4, 5, 6, 9]
==================
•   •   9

4   5   6

1   2   •



[1, 2, 5, 6, 7, 8]
==================
7   8   •

•   5   6

1   2   •



[1, 2, 5, 6, 8, 9]
==================
•   8   9

•   5   6

1   2   •



[1, 4, 5, 6, 8, 9]
==================
•   8   9

4   5   6

1   •   •



[2, 3, 4, 5, 7, 8]
==================
7   8   •

4   5   •

•   2   3



[2, 3, 4, 5, 8, 9]
==================
•   8   9

4   5   •

•   2   3



[2, 3, 5, 6, 7, 8]
==================
7   8   •

•   5   6

•   2   3



[2, 4, 5, 6, 7, 9]
==================
7   •   9

4   5   6

•   2   •



[3, 4, 5, 6, 7, 8]
==================
7   8   •

4   5   6

•   •   3



[1, 2, 3, 5, 6, 9]
==================
•   •   9

•   5   6

1   2   3



[1, 4, 5, 7, 8, 9]
==================
7   8   9

4   5   •

1   •   •



[3, 5, 6, 7, 8, 9]
==================
7   8   9

•   5   6

•   •   3



[1, 4, 5, 6, 7, 8]
==================
7   8   •

4   5   6

1   •   •



[2, 4, 5, 7, 8, 9]
==================
7   8   9

4   5   •

•   2   •



[2, 5, 6, 7, 8, 9]
==================
7   8   9

•   5   6

•   2   •



[3, 4, 5, 6, 8, 9]
==================
•   8   9

4   5   6

•   •   3



[2, 4, 5, 6, 7, 8]
==================
7   8   •

4   5   6

•   2   •



[2, 4, 5, 6, 8, 9]
==================
•   8   9

4   5   6

•   2   •



[1, 2, 4, 5, 7, 8]
==================
7   8   •

4   5   •

1   2   •



[2, 3, 5, 6, 8, 9]
==================
•   8   9

•   5   6

•   2   3



[4, 5, 6, 7, 8, 9]
==================
7   8   9

4   5   6

•   •   •

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment