Day 18: Part 1 and 2

Signed-off-by: James Griffin <james@unsupervised.ca>
This commit is contained in:
2020-12-18 21:13:07 -04:00
parent 151e20f7b8
commit 31effe9cb4
9 changed files with 723 additions and 2 deletions

181
eighteen/day_eighteen.go Normal file
View File

@@ -0,0 +1,181 @@
package eighteen
import (
"bufio"
"fmt"
"os"
"strconv"
)
type worksheet struct {
problems []problem
}
type problem struct {
lhs int
lhsP *problem
operator string
rhs *problem
}
func parse(input string) *problem {
p := problem{}
value := ""
operation := false
for i := 0; i < len(input); i++ {
switch string(input[i]) {
case " ":
v, _ := strconv.Atoi(value)
p.lhs = v
case "*", "+":
p.operator = string(input[i])
operation = true
case "(":
p.lhsP = parse(input[i+1:])
chars := 0
b := 1
for j := i + 1; j < len(input); j++ {
chars++
if string(input[j]) == "(" {
b++
} else if string(input[j]) == ")" {
b--
}
if b == 0 {
break
}
}
i += chars
case ")":
v, _ := strconv.Atoi(value)
p.lhs = v
return &p
default:
value += string(input[i])
}
if operation {
p.rhs = parse(input[i+2:])
return &p
}
}
v, _ := strconv.Atoi(value)
p.lhs = v
return &p
}
func (p *problem) eval() int {
result := p.lhs
if p.lhsP != nil {
result = p.lhsP.eval()
}
op := p.operator
next := p.rhs
for next != nil {
v := next.lhs
if next.lhsP != nil {
v = next.lhsP.eval()
}
switch op {
case "+":
result += v
case "*":
result *= v
}
op = next.operator
next = next.rhs
}
return result
}
func (p *problem) advEval() int {
sums := []int{}
result := p.lhs
if p.lhsP != nil {
result = p.lhsP.advEval()
}
op := p.operator
next := p.rhs
for next != nil {
v := next.lhs
if next.lhsP != nil {
v = next.lhsP.advEval()
}
switch op {
case "+":
result += v
case "*":
sums = append(sums, result)
result = v
}
if next.rhs == nil {
sums = append(sums, result)
}
op = next.operator
next = next.rhs
}
product := 1
for _, sum := range sums {
product *= sum
}
return product
}
func (w *worksheet) load(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
w.problems = append(w.problems, *parse(scanner.Text()))
}
return nil
}
func (w *worksheet) sum() int {
sum := 0
for _, p := range w.problems {
sum += p.eval()
}
return sum
}
func (w *worksheet) advSum() int {
sum := 0
for _, p := range w.problems {
sum += p.advEval()
}
return sum
}
// PartOne What is the sum of the homework
func PartOne() string {
w := worksheet{}
w.load("eighteen/input.txt")
return fmt.Sprintf("The sum of the homework is %d", w.sum())
}
// PartTwo What is the advanced sum of the homework
func PartTwo() string {
w := worksheet{}
w.load("eighteen/input.txt")
return fmt.Sprintf("The advanced sum of the homework is %d", w.advSum())
}

View File

@@ -0,0 +1,153 @@
package eighteen
import "testing"
func Test_math_parse(t *testing.T) {
w := worksheet{}
w.load("sample.txt")
if len(w.problems) != 6 {
t.Logf("Expected 6 probems, found %d", len(w.problems))
t.FailNow()
}
}
func Test_problem_eval1(t *testing.T) {
w := worksheet{}
w.load("sample1.txt")
result := w.problems[0].eval()
if result != 71 {
t.Logf("Expected result of 71, got %d", result)
t.Fail()
}
}
func Test_problem_eval2(t *testing.T) {
w := worksheet{}
w.load("sample2.txt")
result := w.problems[0].eval()
if result != 51 {
t.Logf("Expected result of 51, got %d", result)
t.Fail()
}
}
func Test_problem_eval4(t *testing.T) {
w := worksheet{}
w.load("sample4.txt")
result := w.problems[0].eval()
if result != 437 {
t.Logf("Expected result of 437, got %d", result)
t.Fail()
}
}
func Test_problem_eval6(t *testing.T) {
w := worksheet{}
w.load("sample6.txt")
result := w.problems[0].eval()
if result != 13632 {
t.Logf("Expected result of 13632, got %d", result)
t.Fail()
}
}
func Test_problem_eval(t *testing.T) {
w := worksheet{}
w.load("sample.txt")
result := w.problems[0].eval()
if result != 71 {
t.Logf("Expected result of 71, got %d", result)
t.Fail()
}
result = w.problems[1].eval()
if result != 51 {
t.Logf("Expected result of 51, got %d", result)
t.Fail()
}
result = w.problems[2].eval()
if result != 26 {
t.Logf("Expected result of 26, got %d", result)
t.Fail()
}
result = w.problems[3].eval()
if result != 437 {
t.Logf("Expected result of 437, got %d", result)
t.Fail()
}
result = w.problems[4].eval()
if result != 12240 {
t.Logf("Expected result of 12240, got %d", result)
t.Fail()
}
result = w.problems[5].eval()
if result != 13632 {
t.Logf("Expected result of 13632, got %d", result)
t.Fail()
}
}
func Test_sheet_eval(t *testing.T) {
w := worksheet{}
w.load("sample.txt")
result := w.sum()
if result != 26457 {
t.Logf("Expected result of 26457, got %d", result)
t.FailNow()
}
}
func Test_problem_advEval1(t *testing.T) {
w := worksheet{}
w.load("sample1.txt")
result := w.problems[0].advEval()
if result != 231 {
t.Logf("Expected result of 231, got %d", result)
t.Fail()
}
}
func Test_problem_advEval2(t *testing.T) {
w := worksheet{}
w.load("sample2.txt")
result := w.problems[0].advEval()
if result != 51 {
t.Logf("Expected result of 51, got %d", result)
t.Fail()
}
}
func Test_problem_advEval6(t *testing.T) {
w := worksheet{}
w.load("sample6.txt")
result := w.problems[0].advEval()
if result != 23340 {
t.Logf("Expected result of 23340, got %d", result)
t.Fail()
}
}
func Test_sheet_advEval(t *testing.T) {
w := worksheet{}
w.load("sample.txt")
result := w.advSum()
if result != 694173 {
t.Logf("Expected result of 694173, got %d", result)
t.FailNow()
}
}

372
eighteen/input.txt Normal file
View File

@@ -0,0 +1,372 @@
(7 * 7 + (2 + 5 * 7 * 8 + 2) + 4 + 2) * 5 * ((9 * 3 * 9 + 8 + 3) + (9 + 4 + 7 + 8) * (2 + 5))
((7 * 7 * 9 * 5 + 5) + 9 * (9 + 7 + 9 + 5 * 9 + 6)) * 7 + 8 * 6 + 4 * 4
6 * (9 + 8 + 6 * 8 + (3 * 2 + 4)) + 4
(7 * 5) + 4 + 7
3 * (6 * 8 + 5 + (8 * 9 * 3 + 7 * 4) + 8) * 3 + 2 * 5
(4 * 3 * (7 * 2 + 2 + 6 + 5) * 4 + 8) + 9 * (3 + 2 + (5 * 2)) * (2 + (2 * 9 * 3) * 5 * (7 * 5 + 6 * 2 * 7) + 5 + 5)
4 + (6 * 7 * (5 * 7) * 4) * 2 + (4 + 8 * 5) + ((5 * 7 * 4 * 7) + 3 * 5 + (6 + 9 + 3 + 2) + 2 * 5) * 7
2 + 4 + ((4 * 4 + 3 + 7 * 4) + 4 + (2 * 5 + 9) + 8 + 4 + 7) + 5 * 5 + 9
7 * (7 * 3 + 2 * 9 + 7 + 7) * 3 * 4
8 + 4 + 3 + 9 + 8
2 + 2 + 6 * (5 + 9 * 3 * 7) * 6
(3 * 9 * 4 + 2 * 6) * 8
8 + 6 * 4 + (7 + 7 + 8 + 9) * ((2 + 3 + 7 + 6 * 3) + 6 * 6)
7 + 9 * 3 * 9
((9 + 6) + 7 + 6) + (2 + 5 * 3 * 2 * 7)
(8 * 7 + 6 * 6 * 7 + 3) + 5
9 * (8 + 3) * 9 + (4 + 8 * (3 + 9 + 5)) * 9
9 + (5 * 2 * 4 + 3) * 3 + 6
(3 + 7 + 2 + 3) * 3
3 * (7 + 3 * 8 * 9 * (5 * 7 * 7 * 5 * 9 * 2) + (3 + 2)) * 7 + (8 + (6 + 9 + 6 * 7)) * 7 + 3
(8 * 3 * (2 * 2 + 9 * 2) + 3 + 8) + 8
3 + 5 + (6 * 6) + 8 * ((7 + 9 + 5 * 7 + 3 + 9) * 6 * 4 + (3 + 8 * 6 + 6 + 7 * 5) + 9) + 2
(3 * 7 + 3) + 3 * (5 + 7 * 5 * 2) + 6 + (9 + 9) * (5 + (9 * 6 + 7 + 5 * 2) + 5)
(7 + 9 * 2 + 3) * 5 * 8 * 8
7 + 6 * 7 + 2 * ((9 + 2 + 3) + 2 + 2 + 3 + 4)
((3 * 4 * 8 + 4 + 5 * 9) + 2 * 2) * 3
5 * 4 + 3 + (5 * (6 * 2 + 8) + (4 + 5 + 3 + 2 * 3 * 3) * (7 + 3 + 4 + 4) * 9) + 7
9 * (2 * (2 * 7 + 2 * 9 + 4) + 6)
4 + (2 + (5 + 6 + 7 + 7 + 9 * 9) * 2 * 4) + (8 + 7 + 4 * 7) * 7 * 5
9 * (4 * 3 * 6 + 2)
9 * 8 + 4 * 9 + (4 + 7 + 7 + 6 * 2 + 3)
5 * (9 * 2 + 8) + 8
5 + (8 * 2 + 5 * 9) + 9 * 8 * 2 * 5
5 + 2 * 4 + 4
(6 * 8 * 9 + 2) + 7 + 5 + 4 * 4 * 8
(8 * 4 * 2 + 5 * 5 * (9 + 8 + 7 + 9)) + (9 * 9 * 3 + (4 + 7) + 6) + (8 + 2 + 8 * 5 * (3 * 8)) * 6 + 2 + 9
4 + (8 + 3 + 6 + 3) + 8 + 9 * 2
(3 * 4 * 2 * 2) + 8 + 7 + 5 + 5
5 + (8 * 3 * 6 * (6 + 3 * 8 * 4) * 6) + ((4 * 3 * 7) + 6 + 2 + (2 * 5 * 3 * 8) + (2 + 9 * 5 + 2) + 6) * ((3 + 7) + 5 * 4) + 6 * 2
(8 * 4 + 8 + 7 + (6 * 7 * 5 + 4)) + 7 * 8 + 4 + 4 * 6
2 * 5 + (6 + 6 + 5 * (2 * 9 + 8 * 4)) + (5 * 2) * 2
(8 * 4) * 5 + (7 * 8 * 5 + 6 * 6)
7 + 4 + 7 * 8 * (7 * (8 + 5 * 5 + 3 * 7) * 4 * (2 * 2 + 4 * 3)) * 2
4 + 2 * 6 * (7 * 7 + 4 * 9 + 2) * 5
4 * 5 + 9 * (7 + 6 + 6)
(8 * 7 * 7 + 3) + (9 + 3 + 9) * 6 + 4
2 * (3 + 4 + (3 + 5 * 3) * 4) * 3 + 4 * (3 * 3 + 3 + 9 + (6 * 9 + 6 + 2 + 8 * 5) + 4)
(8 * 7) * (3 + 2 * 4 * 6 * 8 * 6) * 4 + (8 * 3 + 3 + 6) * 2
7 * 7 * 4 + 4 * (2 * (4 * 4) + 7 * 5 + (8 + 5 * 3 * 7 * 8 * 9))
8 * (9 * 6 + 3)
4 + (9 + 4 + 4 * 8 + 2) * 2 + 2 * 8 + 2
(6 + 5 + 3 + (6 * 5 + 4 + 3 * 8 * 2) + 7) + 5
((2 * 4 * 5 * 2 * 3) + 7 + 6 * 4 + 6) + 4 * (3 + (6 + 3 + 6 * 5 * 6 * 2) * 5 + (3 * 4 * 2 * 9 + 5 * 9) + (3 * 6 * 6 + 4) * 2) + 4 * 7
9 * ((6 * 9 * 4) + 9 * (6 * 9 * 4 * 5 * 8 * 3) + 7 + 4) * (3 * 8 + 7 * 6 * (7 + 2 + 9 + 3 * 8 + 6)) * 9
8 * 8 + 7 + ((6 + 5 + 5 + 9) + 4 + 3 * (7 + 5 + 8) * 4) * 2 * (4 + (5 + 6) + 7)
(4 * 8 * 9) + ((3 * 9 + 8) * 5 + 6 + 9) * 4 * 4
5 * 2 + 6 + ((9 * 9 + 2) + (5 * 3 + 2 * 3)) + 6
(6 + 6) * 2 + 4 * 8
((7 * 5 * 6 + 2) + (9 + 2) + 7) * 4 + 9
5 + (5 * 4 + (7 * 9 * 6 + 9) * 2 * 2)
8 * (4 * 3 + (4 + 3 * 3 + 6))
((3 * 4 + 6 * 4 + 8 * 5) + 9 * 6 + 5 + 9) + 4 + 6 + 4
9 * 7 + (8 * 4 * (4 * 8 + 9 + 3) + 9)
3 * (3 * 4 * 9 * 2 * 6 * 2)
8 + 9 * 6 * 2 * (3 * 3 * 3 + 5 + 8)
8 + 9 + 6 + ((3 * 4 + 7) * 9)
(5 * (2 * 4 * 8 + 6) * 9 + 8 + (4 * 4 * 5)) * ((9 + 6) + 2) * 8 + 6 + 4 + 9
(8 + 7) + 7 + (3 * 6) + 6 + 2 + 9
(6 + 4) * 9
2 + (2 * 4 + 7 * 3 * 2) * 7
9 + 5 + ((6 + 7 + 5 * 7 + 3 + 4) + (7 * 9 * 7 + 6 * 5) * 2 + 6)
7 + (4 + (3 * 7 + 9 + 6 + 5 * 2) * (5 + 3 + 5 + 5 * 2 + 7) * 6 + (8 + 7 + 9 * 6 * 3) + 2) + 6 + 6 * (5 * 8 * 5)
2 * (9 * 9 * 8 * 8 + (3 * 3 + 3 + 7 + 2)) + ((4 * 7 * 7 + 9) * 4 + 9 + 9 + (6 + 2 + 6))
(6 + 6 * 5 * 6 * (7 * 5 * 8 + 3 * 7 + 8) * 9) * 7 + 6 + 2 + 5 * 2
2 + 5 + 2 * 5 * 3
6 + 6 + (2 + 3 + 7 * 2) * 5 * (3 + (6 * 3))
5 * 8 * 4 + (7 * 6)
((6 * 3 * 8) + 4 + 9) + 9 + 8 + (8 + 7 * 9 + 5) * 6 + 7
6 + 6 + (2 * 8 + 6 + 9 * (6 * 2 * 5 * 2 + 2 + 8) + 7) + (4 * 4 + 7 * 5 * 6 + 8) + 9 + 7
9 + 3 + ((9 + 3 * 6 + 3) + 7) + 9 + 4
9 + (8 * 9 * 6) + 6 * 6 + (6 + 7 + (3 * 4 * 3 * 7 * 3 + 9) + 3 * (3 * 2 * 6 + 2 * 4 * 3)) + 2
4 + 9
(9 + 8 * 6 + (8 * 7) + 7) * 8 * 6
7 + 5 + 7 + (3 + 6 * 4 * 8 * 8)
8 * (8 + 8) * 5 * 9 * 6 * 3
7 + 3 + (9 * 8 * 5) + 9
9 + 3 + (2 * 4 * 6 * 8 + 9)
(8 + 9 + 5 * (5 * 4)) * 6 + 3 * 4 + 7 * 3
(6 + 7) * (6 + 3)
3 * 5 + (7 * 3 * 6 + 5 + (5 + 7))
(9 * 6 + 7 + 5 + 9) + 4 * ((9 * 8 + 8) + 5 * 2 * (4 + 8 * 5) * 4) + 7 + (8 + 9) * 9
(9 + 3) + 6 + 3 + 4 * 9 * (4 + 9 * 7)
3 * 4 + 7 * 8 + (8 + 8) * (8 * 4 * 8 + 4 * 9)
4 + ((4 * 5) + 9) * 8 * 4
(6 * (2 * 2 * 3 + 9)) * 7
7 * (6 + 2) + 3 * 7 * 2
4 + 2 * 9 + (3 * (4 * 2 + 6 + 4) + (7 * 7) * 5) + 6
3 + 9 * (4 + 3 * (7 * 9 + 8)) + ((5 * 5) + (6 + 3 + 9) + (2 + 8 * 4) + (8 + 8 + 8 * 7 + 4) * 2 + 6)
3 * 9 + 5 * 8 + 7
2 + 8 * 9 * ((5 + 9 * 6 + 8 + 6) * 9 + 2 * (5 + 3 * 2 * 5))
(3 * 9 + 8 + 2 + (6 + 8 * 9 * 7 * 7 * 5) + 6) * 3 * (8 * 4) + 5 * 4 + 9
(3 * 9 * (9 * 8 * 3 * 5 * 2 + 9) * 3) + (6 * (6 + 4 * 8 * 4 + 5) * 3 * (7 + 7))
6 + 5 * ((5 * 8 + 8 * 4 + 3 + 9) + 8) + (6 + 2 * (4 * 3 * 3 + 2) + (7 * 5) + 8) + 2
((2 + 7 + 8) * 6 * 4) * 8 + 5 * 8 + (3 + 4 + 8) * 8
6 + (6 * 7 + 5) * 2 * 2 * 5
6 * 2 + ((9 * 5 + 5) + 2)
2 * (4 + (7 * 9 + 7 + 4 * 5) * 4 + (2 + 3 + 6 * 5)) + 7 + 7 * 7 + 5
(2 + 6 + 7 + (3 + 9)) + ((6 + 2 + 7) + 4)
((6 * 3 + 2 + 6) * 7 + 7 * 5 + 3 * 4) + ((5 * 6 * 7 + 9 * 2) * 6 + (2 * 7)) * ((7 + 9) + (2 * 2 + 7 + 2 * 5 * 6) * 8 + (3 * 4 * 6 * 4))
5 + 7 * (5 + 4 + 4 * (2 + 3 * 2) + 8)
8 + (6 * 4 * 9 * 4) * (3 * 3 + (7 + 6 + 6 * 5 * 4)) * 8 + 4
9 * 5 + 9 + ((3 + 9 * 2) + 4 * (6 * 8 + 8 + 8 * 4 + 6) + 4)
3 + (2 * 4 + (6 * 4 * 2 + 3 * 2) + (3 * 6 * 6 * 6) + 5) + 5 + 3 + 8 * 5
5 * (7 + 6 * (9 * 9) + 4) + (2 + (4 + 6 * 7 * 6 + 2 * 9) * 2 * 9 + 3 * 7) + 5 * 6 * 2
4 * 3
5 + 9 * ((7 + 2 + 6) * 4 * 2 + 8) + 3 + (7 * 7 + (3 + 4 * 2 + 2 + 4) + 6 * 8)
(6 * 7 * 2) * 2 + (9 + 9 + 9 + 3 + 4)
(5 + (5 * 5) * 6 + (4 * 5 + 4 * 2 * 8) + 7 + 4) * 4 * 4 * 6 * 5 * 5
4 + 9 + 8 + (7 * 8 * 7) + 3
3 + 7 + ((8 + 8 + 3 * 4 * 3) * 9 + 2)
(4 * 7 * 3 * 5 * (2 * 6)) + 7 * 6 + 8 + 4
4 * 7 * 6 * 9 * 9 * 5
8 + (5 * 9 * 3 + 8 * 2) * 9 + (6 * (2 * 4) + 9 + 3 + 3)
3 + ((3 + 4 + 8 + 4 * 9) + 9 + 8 * 9 + 8) + 2
6 + ((2 + 3) * 8 + 9 + (7 + 6 + 5 * 8)) + 8 * 8 + 8 * 4
(9 * 5 * 6 + (6 * 3 + 6 + 5 + 2 * 2) * 3 * 9) * 3 * (2 * 6) + 2 * 6 + 9
9 * 8 + 6 + 4 + (2 * 6)
(8 + 6 + 7 + 3 + 7 + (8 + 6 + 3 + 7 + 3 * 7)) * 7 * (7 + 6 * 4 * (7 + 9)) * 6 + 4
((2 * 4 * 2 * 3) + (2 * 9 * 8 + 4) * 3 + (9 + 8)) + 7
6 + (6 + 5 * (8 + 7) * (5 + 8 * 3 + 2)) + 4 + 3 * 6
6 + 4 + 3 + (7 * (2 + 3 * 8 + 4) + 8 * (2 * 3 * 9) + 3) + 8
3 + (8 * (5 * 9) * 4 + (5 + 5 * 7 * 9 + 9)) * 4 * 6
3 + ((3 * 4) + 5) * 9 * 5 + 4 * (7 * 9 * 7)
2 + 8
9 + 5 * 8 + (6 + 8 * 8 * 8 * 9 * 3)
((8 * 3) + 2) + (7 + 6)
9 * (6 + 9) + 8
8 + 3 + 4 + (4 + 9 * 3 * 7 * 9 * 4) * 9
(5 + 9 * 6 + 2) * (6 + 5)
2 * 7 + (9 * 5 * 2 * 5 * 5) * 3
6 + 4 + ((2 + 7 + 5) * (6 * 9 + 2 * 9 + 8 + 2)) + 7
9 + 7 + 8 * 7 + ((7 * 9 + 8 + 4 * 4) * 9) * 8
3 + (4 + 9 * 3 + 6) * 4
((3 + 2 * 6 * 4 * 2) * 8 + (8 * 7) + 2 * 6) + 8
((6 * 8 + 2 * 8 * 5 + 5) * 2 + 5) * (4 + 7 + 4 + 2 * 5 + 2) * 4 * (4 * 6 * 8) * 4
3 * (5 * 5 * 5 * 5) + 5 + 8 * (2 + 4)
8 + 9 * ((8 * 4 + 7 + 5) * 4) * 5
5 * (7 * 3 * 8 * 6 * 8 + 6) * 9 + 2 + (3 + (4 + 7 * 9 * 4 + 5) + 3 * 8 * (9 + 8 + 8 + 4 + 2)) + 7
5 + 9 * (4 * 7 * 7 + 7 * 5) + 8 + (4 * 3 + 3 + 2)
5 + 9 + (8 * 6) + 7 + 7 * (6 * 5 * 3 * 3 + 9 * 5)
9 + (6 * 7 * (3 * 4 + 6 + 8 * 7)) + (4 * (2 + 8 * 7 + 5 * 6 * 3)) * 3 * ((7 + 9 + 3 * 4 + 2) + 2 + (7 * 3 + 3 * 7 * 8 + 2) * 4 + 5) * 4
2 + 7 * (2 + 2) * 2
(2 + 3 + 8 + 2) + 3 + 8 * (8 + 5 + 9 + 6 + 8 * 2)
2 * (8 * 5 + 7 + 7 * 3) + 9 + 9
3 * (6 * 3 + 5 + 2 * (2 + 2) + 6) * (8 + (7 + 9 * 4) + 7 + 6) + 6 * 2 * 3
7 + 4 * (4 + 2 * (8 + 6 * 7 + 3) * 5 * 8) + (8 * 8)
(3 * 5) + ((9 + 8 + 2 + 4 * 8 + 2) * 6 * 3 + 5 + 8 + 4) + 5
2 + 6 * (7 + 3 * 9 * 7 * 7 + 8) + 9 + 3 + 8
((2 + 9 + 6 * 5 * 3) + 9 + (2 + 3 + 3)) + (4 * 6 + 9)
(7 + 6) * (7 * 9 + (8 * 3 + 4 + 7) * 2 * 5) + 7 * (4 * 7 * 9 + 2 * 6 * 4) + 9
(2 * 6) * 3 * 7 * ((3 + 9) * 9 + (4 * 4 * 6 * 5)) * 4
7 * 6 * 5 * 8 + (9 * 4 + 4 + 5)
(6 + 7 + 4 * 8 * (6 * 4 * 4 * 8 + 7 * 5)) + 3 + 5 * 5
9 + 9 * 3
5 + 4 * 5 * 4 * (6 * (7 + 5) + 7 + (8 * 7 + 3 * 5 * 2 + 2) * 7) * 9
4 + ((7 + 8 * 8 + 2) + (2 + 4 * 8) + (7 + 9 * 4 * 2) * 2 + 7)
4 * 5 + 9 * (7 + 2) + 8
((5 * 5 * 3 + 2) + 5 + 6 + (7 * 5 + 7 * 4 * 6 * 6) + 4 + 5) * 5 + (4 + 8 * (8 + 3 * 6 + 7) + 4 * (4 + 6 + 4 * 8 + 7 * 7)) * (9 + 2)
(9 * 5 * 7 * (8 * 3 * 6 * 4 + 6) + 8) + (7 * 8) * 2 * (7 + 7 + 5 + 3) * 6
4 * (3 + 6 * 4 + 6 + 3)
(3 * 7 + 5) + 2 * 2 * 6 * 8
7 * (2 + 4 + 3 * 9 * 8) + 3 * (5 * 9) * 5 + 7
5 * 7 * 8
2 * 3 + (6 + 8 * 9) + 5 + 6
(9 + 8 * 8) * ((9 + 9 + 8 + 9 + 7) + 3 + (3 * 6 * 3 + 9 + 8) + 7)
((2 + 8 + 9) * 3 + 8 * 2) + 8 + 4 * 2
(9 + 6 * 6) * 7 * 8 + ((7 + 9 * 4 * 4) + 8 + 5 * 5)
5 + 3 + 3 * 2 + (8 + 8 * 3 + (8 * 6)) * 4
8 + 8 * ((8 + 4) + 2 * 7 * 9) * 5
(3 + 3 + (4 * 3 * 4 + 6) + 4 * 3 * 4) + 7 * 4 + 4
5 + (5 + (9 * 5 + 5) * 9 * (6 * 9)) + 2 + (9 + 8 * (2 + 3 * 8 + 2 * 7) + 7 + 7 + 2)
7 + 3 + (6 * 6 * 6)
(3 * 4 * 6 * 4 + 5 * 8) * 2 * 5 * 6 + (5 + 3 + (3 + 2)) + (6 * (4 + 3 + 7 + 8) + 4 + 3)
(3 * 2 * (4 + 6 * 4) * (3 + 2 + 6 + 5)) + 9
8 * 3 * 6 + 3 + 5 + (9 * 3 * 3 + 2 * (5 * 2 + 8 * 9))
((7 + 9 + 5 * 2) + (2 * 6 * 8 * 3 + 6) + 2 * (9 + 3 * 5 * 9 * 5 * 2) + 9) + 4 * 6
(6 * 7) * (8 + 6 + (7 * 3 + 2)) * 7 + 6
3 + 7 + (5 * 5) + 5 * 6
3 * 4 * 3 + 8 * 3 + 9
(8 * (3 + 9 * 6) * 3 * 6 * (5 * 2)) + 2 * 9 * 4
2 * 6 + (9 * 7 + 9) * (8 + 5 * 8 + 7 * (5 + 3 * 5 * 4 * 4))
(8 * 7 * 8 * 3 + 9 * 2) + 6 * (3 * 7 * 2)
5 + 2 + ((2 + 3 * 3 + 7 + 7 + 9) * (6 * 4 + 4 + 3) + (6 * 6 + 8 * 2 * 9 + 9) * 4)
(9 + 4 + 9) + 7
2 * (9 * (3 * 7) + 9 + 7 + 2)
(8 + 2 + 9 + (7 * 2 + 9 * 8 * 9 * 6)) + 7 + 8 + 8 * 6 + (7 + (4 * 9 + 5 + 4 + 7) + (3 * 9 + 7 * 7 * 7 * 7) + 6)
((4 + 2 * 2 * 7 * 6 + 8) + 4 * 7) * (4 * 5 * 3) * (7 * 9 + 2 + 7 * 6 + (7 * 9 * 5)) * 2 + 5
6 * (5 * 6 + 4) + 7 * 6 + 6 * 5
7 + 6 + 8 * (5 * (7 * 2 * 9) * 2 + (8 + 9 * 5)) * 9
7 + 2
6 * (6 * 8) + 4 + (3 * 7 + 7 + 6 * 7 * 3) + 9
((6 * 4 * 2) * 7 * 4 * 2) * 7 + 6
2 * 4 + (7 * 9 + 2 * (9 + 9) + 2) * 8 * 9
6 + 5 + (2 + 5 * 5 + 9 * (9 * 5 + 8 * 7 * 8) + 3) * (3 * (2 + 3 + 7 + 2 + 6 * 6)) * 4 * 5
(8 * 4 * 8 * 5 + 7) * (3 + 9 * (9 + 9 + 9 * 8) * 9 * 8 + 2)
4 * 3 + 3 + 9 * (3 + 9 + 7) + 5
3 + (7 * 3 + (5 + 3 * 9)) + (4 + 4 + 2 * 7) * (6 + 2 * 2 + 7 * 6 + 8)
4 * (4 * 8 * 8 + 8) + ((8 * 6) + 3 + 4 + 8 + (8 + 5 + 8 * 3 + 7) * (8 * 2 + 2)) * 2 * 8 + 5
2 * 2 + 5 * 7 * ((4 + 5 * 5) + 4 * 6 + (3 + 4 * 3 + 2 + 4))
(9 + 4) * 6 * 6 * (3 * (4 + 8 * 7 + 4) * 2 + 5 * 8 * 8) * (2 * 6 + (7 + 7 + 9 * 9 * 5) * 2)
9 + 9 * 5 + 3 + (8 + 9 + 4 + 5) + 9
(4 * 4 + (8 * 4 * 7 * 7 + 7)) + 7
3 * 4 * 8 * ((3 + 2 * 2 * 7 * 2) * 7 + (7 + 2 + 6 * 9 + 4 + 2) + 9 + 5 * 4)
(8 * (4 + 4 + 4 * 3) * (4 + 9 * 9 + 5) + 8 * 8 * 8) * (5 * 4) + 7
(4 + 6 + 2) * 2 + 2
9 + ((5 * 3 * 9) * 8 + 9) + 5
3 * 2 * (2 + 5 * (2 * 5 * 3) + 3) + (5 + 9 + 8) * 5 * 7
((4 * 4 + 8 * 4 * 5 * 5) + 3 + 3 + 5) + 8 * 3 + 3 + 9
2 + ((4 + 9 * 2 * 8 * 4 * 4) * 9 + 2 + (6 * 3 + 9) + 8 + 3) + 9 + 2 * 5 + (9 * (6 * 7 * 7))
2 * (9 + 4 * (7 + 3 + 3 + 4 * 6 * 5)) + 8 + 9
(6 * 9 * 3 + 8 * 9) + 9 * 5
6 * (8 + (8 + 3 + 9 * 4) + 6) * 2 * 9 + 6 * 7
(8 + 6) + 8 * (9 * 2 * 2) + (4 * (3 + 3 * 5 * 9) + 3 * 4 * 7) + 3 + 5
4 * (3 * (7 + 4 * 7) + 2 * 9 + 4 * (4 + 3 + 9 + 3)) + 2 + 3 * 9
2 + ((5 + 9) * (6 * 8 + 6 * 8 + 9) + 3)
((4 * 7 + 8 + 5 * 9 + 6) * 2 * (3 + 9 * 8 * 8) + (8 * 6 + 2 * 9) + 4 + (9 + 8)) + 5 + 6 * ((4 + 2 + 8 * 5 * 2 + 5) + 4 * 8) * 5 + 8
2 + (8 * 9 * 7) + 5 + 6 + 8 * (9 + 4 + 9)
(8 + (9 + 5 * 5 * 5 + 9 + 7) + (7 + 4 * 3 * 9 + 6)) + 4 * 5
6 * (2 * 2) * (2 * (6 + 4) * 2 * 6 + (4 + 2 * 8 + 4 + 2 * 7) + 4) + (8 * 2 + 8 * 9) + 6
7 * 5 * ((2 + 3 * 8 * 8 + 9) * 4 + 3 + 5 * 6) + 3 + 5
8 * ((5 + 4 * 6) + 6 * (7 + 5 + 7 + 4 * 9) + 2 * 9 + 2) * (7 + 2 * 6 + (4 * 3) + 8 + 9) + 8 + 5
5 * 2
4 * 5 + 8 * 3 + (3 + 9 * 3 + (3 * 7 + 4 * 3 + 3 + 5) * 9 * 6) + 3
(8 + 7 + 3) * 4 + 7 * ((8 * 9 + 5) * 3 * 6 * 6 + 5) + 4 * 6
2 * 7 * 3 * (3 + 3 * 5 + (2 + 6) * 3) + ((5 * 5) * 9 * 9 + 8) + 4
6 + 7 * (4 * (6 + 2 + 7 + 7 + 2) * 9 * (3 + 3 + 9 + 4 * 7 * 8)) * 4 * (3 + (8 * 5 + 2 * 7) + 4 + 7 * (7 + 3 * 3) + 5) + 6
((8 * 5 * 6 + 4 * 9) + 6 + 2 + 5) * 7 + (4 * 8 * 6 * 7 + (7 * 3 * 3 * 8 + 6) * 7) * 5 + 9 + (3 * 5 * 9 + 2 + (5 + 9 * 6) + (4 + 3 * 8 + 6 * 3 + 3))
9 + 9 * 8 + (2 * 8 + 2 * 2) + 2 * (9 * 9 * 8 + 7)
4 + 3 + 7 * ((8 + 3) * 3 * 8 + 8)
9 * 9 + 8 + (5 * 3) * ((3 * 8 * 5) * 4)
5 * 7 * 5 * ((3 + 5 * 4 * 7 + 6 * 6) * 6 + 5) * 6 * 8
6 + 2 * 9 + 6 * 2 * ((5 * 5 * 8 * 7 + 2 * 5) * 3 * 6 + 2 * (4 + 7) + (4 * 6 * 7 + 7))
(7 * 6 + (8 + 6 * 9)) + 2
6 + (3 + 2 * 2 + (9 * 8 * 7 * 7 + 2)) * 9
3 + (7 + (9 + 4 * 4) * 8 * 9)
((7 + 4 + 9) * (2 * 7 + 7 + 7 + 8) + (2 * 2 * 2 * 9)) + 9 * 6 * 2
8 + 3 * ((4 * 8 * 5 * 5) + (8 * 9 * 8 + 7 * 9)) + (4 * 7) + 3 * 4
3 * (7 * (6 + 3 + 9) * 3 + (4 * 3 + 8) * 9) + 3 + (4 + 2)
((6 * 6 + 3) * 7 + 4 + 2 + 5 + 8) * 8 + (2 + 4) + 7 + 3
(5 * 5 + 4 * 9 + 2) * 3 + 9 + 8 * 7 + 8
(2 * 9 * (2 + 3)) + (3 * 2 + 2 + 6) + 5 * 2 * (4 + 9 * 7)
9 * 7 * (4 * 5 + (5 + 3 * 7 + 5 + 8 * 5))
(3 + 6 * 9 * (3 + 2 * 4 + 2 + 3)) + (5 + (8 * 4) * 7) * 5
2 + 6 * (6 + 8 + (6 + 8 + 8 * 4 + 3 * 5) * 3 * 5)
5 + 8 * (8 + 4 * (2 * 4) * 9 + 8)
7 * (3 * (7 + 8 * 4 * 5 * 4 + 3) + 4 * 6 * 8 * 6) + 4
4 * 6 + 4 * 8 + (2 + (7 + 4) + 4 * 5 * (5 + 7) + (3 + 2))
8 * 2 * (2 + 7)
8 * 2 * ((9 * 9 * 4) * 4 + 5 * 9 + (9 * 5 * 9 * 5)) + 3 + 6
(6 + 2 * 5 + (4 + 2 * 7 * 4) + 6 + 2) + ((5 + 5 + 8 + 3 * 2 * 8) + 7 * 5 * 3 + 4) * 3 * 8 * (4 * 2 + 5 + 4) * 2
5 * 6 + 3 + 4
4 + (3 * (3 * 3 * 8 + 8 + 7))
6 * 7 + 2 + 2 + 2 * (7 + 6 + 2 + 8 * 9 + 2)
(5 + 7 + 5 * (7 + 4) * (2 * 8 + 9 + 8 + 4 + 2) * 4) + 5 * ((3 * 5) + 3) * 3
8 + 2 + 5 + 8 + ((5 + 8) + 7) * 2
5 * 9 + (6 * (3 + 9 + 3 + 7 * 5 * 2) * 4 + 2 + 3) * 8
2 * 2 + (9 + 6 * 5 * 6 * 3) + (6 * 2 * 9)
8 * 2 + 3 * 7
4 + 6 * 5 + 8 * 7 + 6
(2 + 9 * 4 * 9) + 4 * 5 + (3 + 7 * 3 * 6) * ((7 * 9 * 6) + 4 + 8 + 7 + 3) * 6
4 * 8 + (5 + (8 + 7 + 2 + 6 * 4) + 9) + 2 + 5
((3 + 6) * (8 * 3 * 4 + 4 + 2 * 6) + 5 + 8) + (5 * 7 + (7 + 8 + 8))
3 + 8 * 3 + 7 + 4 * 6
8 + (8 * 6) * 7 + 7
((3 * 3 + 4 * 5) * 2 + 3) * 7 + (9 * 8 * 2 * 4 * 5) * 7 * 5 * 3
3 + 9 + (6 * 9 * 2 * 7) * 3 * (9 + 6 + 2 + 8 + 7 * 7) * 5
5 * 9 * (8 + 7 + (7 * 2 * 2) + (4 + 2 * 5 + 7)) + 6 + 9 + 9
(8 * (7 + 2 + 9 + 8) * 6) * (4 * 6 + 4 * 4 + (2 * 6 + 9 + 7 * 5)) + 5 * (3 * 7 + 2 * (4 + 5 * 5 + 8 * 2 * 9)) * 6 + 9
8 + 7 + ((6 * 3) + 6 + 5 * 4 + 7) + 7 + (3 + 7 + 2) + (2 * (5 * 9 * 2 * 6 + 9 + 2) * 2)
(4 + 7 + 5 + 9 + 7) + 2 * 7 + 3 + 6 * (8 + 4 + 6 * (7 * 6 * 5 * 6))
(8 * 9 + 3) * 9 * 6 * (5 * 6)
9 + 8 * 9 * 2 + 8 + 7
(5 * (4 + 5) * (8 + 8 * 8) * (6 + 6 * 4 * 7)) * 9 * (7 + 5) + 2 * 6
9 + (6 + 3) * (5 * 8 * 3 + (4 * 2 * 7 * 6) + 2 + 9)
8 * (3 * 8 + 6 * 4 * 9 * 2) + 8
5 + 9 * (5 * 9 + 5 + 8) * 7 + (6 * 7 + 2 * 5) * 4
2 + ((4 * 6 + 5 + 6 * 9) * 3 * 8 + (5 * 6 + 5 + 8) + 8 + 7)
(7 + 3 + (8 + 2 * 2 * 6) * 3 + 7 + 5) * 8 * 7 * (2 * 8 + (8 * 8) + 9)
9 + (8 + 6 + (2 * 8 * 9 * 8 + 2) * 7 * 2 * (7 + 7))
2 * 2 + 8 * 9 * (9 * 9 * 3 * 2 * 3 + (9 + 9 + 9 * 6 * 3)) * (9 + 8 + 9)
(2 * 4 * 8 * 7) * 7 + 8 * 4 * (8 + 6 * (7 + 2 * 5 * 4 + 9) + 4)
2 * (3 * 4) * 5 * 7 + 7 + (5 + 3 + 8 * 3 * 2 + 3)
9 + 6 + (3 * (5 * 9 + 2) * 6 * (3 * 5 + 9)) * 6
5 * 2 + ((5 + 7 * 5 + 2) + 6 + 7 * (3 * 3 + 6 * 6) + 7 * 7)
7 * 5 + 3 * 5
2 * 7 * 8 + 7 * (2 * 4 * (6 * 6 + 9 * 2 + 3))
(4 + (4 + 9 * 6 + 9 * 2 + 2) + (9 * 6 + 6 + 4 + 6)) * (3 + 9) * 8 + 2 + 8
2 + 5 + 3 * 4 * 4 * (5 * 4 * 5)
((2 * 9 * 6) * 5 * 9 * 2 * 9) + 9 + 5
3 + 3 + 4 + 8 + 3
2 + (8 * 2 + 7 + (4 + 4 + 5 + 6 + 2 * 9) + 3 * 7) + 4
(2 * (3 * 4 * 4 + 4) + 6 * 3) + 5 + 3 * (3 + 6 + (2 + 4 * 9) * 6 + 2) + 7 * (8 * 6 + 5 * 3)
6 * 4 + (4 * (3 + 9 + 2) + (3 * 2 * 3 + 2 * 9 * 4) * 2 * 2 + 9) * 8 + 4 * 9
((2 + 9 * 6) + 9 * 3 + (6 + 7) * 6) + (6 * 7 + 5) * 2 + 2 + 8 + 9
9 * 8 + 2 * 4 * ((2 + 7 + 3) + (2 + 7 * 2) * 3) * 8
2 + 2 * 2 * 3 * (5 * 3 * 8 * 3 * (4 + 8 * 8) + 5)
(6 + 5 * 5) + 8 * 5 + 8
4 + 2 + 4 * 4 * 5 + ((5 * 7 + 7) * 6 + 2 * (3 * 3 * 3 + 7) + 6 + 7)
2 + 4 * 3
9 + 9 + (4 * (9 * 3 * 8 + 8 + 8 * 5) * 4 * 3 + 9 * (7 + 3 * 9 + 5 * 7 * 3)) * 6 + 2
(4 + 2 + 6 + 9 + 3 * 8) * 4 + (9 + 7 * 6 * 8 + 5 * 2) * 2 + 7 * (4 * 4)
(2 + 2) * (3 * 2 + 5 + 2 + 6) * 9
9 + 4 + 6 * 6 + 6 * (4 * (5 * 7 + 2 + 7 + 9) * 7 + 4 * (4 * 7 + 9 + 5))
9 * 8 + 4 * 2 + (2 * 5 * 8 * (3 * 5 + 9 + 3 * 3)) * 3
(3 + 9) + 4 + 6 * 3 * (9 * 7 * 3 + 4 + (9 * 4) + 3) * (5 + 6 + 6)
7 * 8 + 6 + (4 * 8 * 7 * 7 * (8 + 3 * 5 + 9 * 7 + 5)) * 4
7 * ((7 + 7 * 9 + 8 * 8 + 2) + 6 + (2 * 7 + 9)) + 6 * 6 * 6
(7 + 3 * 9 * (8 + 4 * 8 * 9 * 7 * 9)) + (9 * (8 + 7 * 4 * 2 * 7 * 2) * 9 * 5) + (8 * 5 + 8 + (8 + 6)) + ((5 * 5 + 2) * 7)
8 * 3 + 3 + 7 * (3 * 5 * (3 * 3)) * (4 * 3)
9 + 8 * 2 + 6 + ((7 * 2 * 3) * 6 + 7 * (6 * 7) + 6) + 3
(2 * 2 * (9 * 4 * 9 + 7 * 4 * 6) + 8 * 9 + 6) * 4 + 4 + 8 * (6 * (9 + 7 * 5 + 5 * 3) + 8 * (8 * 6)) * (3 + 5 * 7 + 2 + 3)
3 + ((4 + 9 + 5 + 8 + 9 + 3) + 6)
5 + 3 * ((2 * 3) * 3 * 7 * 6)
6 * ((4 + 9 * 4) * (6 * 8 * 3 * 7 + 4) * 2 + 9 + 5 + 5) * 7 + (3 + 9 * 7 + 9) + (3 * (5 * 9 + 8) * 7 + 7 + 6)
(9 + 9 + (7 * 2 * 2 + 8 + 9) * (3 * 4) * 6) + 4
4 * 6 + 4 + 2 * 3 + (8 * 6 * 5 + 3)
3 * ((6 * 9 + 4 * 7) + 8 + 8 + 7 * (7 + 5 * 6 + 3 * 6 * 2)) * (9 + (5 * 8) * 6 * (8 * 2 * 2 + 2) * (2 + 5 * 4 + 4))
8 * 6 * 6 + 8 * (8 + (6 * 4 + 7 + 3 + 5 + 2) + 9 + 4)
(8 * (5 + 2 * 9 * 3 + 6) + 2 * 3 + 3 * 4) + 8 * (9 * 3 + (3 + 7) * 6 + 6 * 8) * 4
9 + 5 + (8 + (8 + 2 + 4 + 6 * 8 * 7) * (9 + 4 * 6 * 4 + 6) * 7 + 3 + 7) + 4 + (3 + 5)
5 + (9 + 9 * (4 + 7 + 2 + 9 * 7 * 6) + 3 * 9) + (9 * 4 + 3 * (4 * 9 + 4 * 3 * 4 + 2)) * (9 + 7 + 7 * 8 * 4) + 9 + ((7 + 2 * 5 + 5 + 8) * 2 * (6 + 9 * 3 + 9))
5 + ((3 * 7 * 4 * 5 * 6) + 3 + 8 + 5 + 6) * 8 + 9
8 + 5 + 9 * 8 * 8
4 + (9 * (4 + 8 + 9 + 5) + 4 * 6 + 4 + 4) + (8 * (3 * 8 + 7 * 3 + 9)) + 4
2 + 7 * (3 * 4 + 8) * 8 * (2 + 6 + 5 + 3 + (6 + 7 + 9 * 8 * 6 + 5) + 2) + 6
(2 * (3 * 5 + 6 * 3) * 7 + (7 * 2 + 5 + 8 + 6) * 8) * ((4 + 5 * 2) + 8)
(4 * 6 + 7 + 8 + (7 + 9 + 7 + 7 * 5 * 9) + 5) * 9 + 9 + 4
6 + 3 + 4 + (7 + (8 + 6 * 3 + 6 + 7 + 2) + 5)
9 + 3 + (3 + 6 * 4 + 6) * 8
6 + 6 * (2 + 5 + 5 + (3 * 5) + (9 * 4 + 9 * 5 + 3 * 7)) + 5 + 8
4 * (8 * 8 + 8) * 9 + 4 * 8 + (8 + 5 * (4 + 8 + 4) * 3 * 9)
7 * ((7 + 7 * 9 + 5 * 2 * 2) * (2 * 4 + 7 * 3 + 8)) + 5 + (5 * 5) * (7 * 9 + (7 + 6 + 2 * 3 * 4 * 9)) + 5
6 * 4 + 3 + 9 * (9 * 2) + 7
9 + 7 * ((9 * 2 + 5 * 8 + 6) + 7)
(5 + 3 + (5 + 4 * 4 + 9)) * (6 * 5 + (6 + 6 + 7 + 9 + 3 * 8) * 8 + 2 + 3)
9 + 2 + 7
6 * (7 * (3 * 5 + 9 * 8 * 3) * 4) * 2
9 + 7 * (5 + (8 + 5))
2 * 9 + 3
(5 + (7 + 8) * (7 * 7 * 8 * 7 * 8 + 3) + (7 * 9 + 4 + 2 * 5)) + 6 + (2 * 5 + (3 + 2 * 2 + 9 + 3) + 5) * 8 + 9 + 7
(5 * 3) * (5 + 4 * 5 + 6) + 2 * (2 + 5 + 8) * 6
7 + 3 + 6 * ((3 + 3) + 8) + 5 + 7
9 * 9 + (9 * 4 * (2 * 4 + 4 + 4 * 8 + 9) + 5)
4 * 7 + 8 + (6 + (9 * 3) * 3 + 6) * 3 * 9
((3 + 9 + 6 + 6) * 9 * 2 * 3 + 3) + 9 * 2 * ((2 + 2 + 3 * 7 * 2 * 4) * 8 * (6 + 8) + 9 + 4) + 8 * 2
((4 + 8) * (7 * 3 + 2) * 9 * 9 * 5) + (5 + 4 + 7 + 4) * 6
5 * 2 + (9 + 2 + 8 + 3) + ((6 * 7 * 8 * 6 + 5 + 6) + 2 * (5 + 9 * 7 * 8 + 6))
4 + 7 + 3 + ((5 + 5 + 3 + 2 + 2 + 8) + (9 * 8 + 3 * 4 + 9 * 9))
((9 * 7 * 8 + 2 + 6 * 3) * 8 * 8 + 7) + 6 * (7 * (4 + 4 * 5 + 7 * 9) + 8 + 5) * 9 + 9 + 6
9 + 5 * 6 * 2 + (6 + 5 + (2 * 2 * 5 * 8 * 3 * 9))
8 + 3 + (4 * 8 + 7) + ((9 + 8 + 8) * 6 * 8) + (6 + 9 * 9 * 7 * (7 + 8 + 6) * 3)
2 * (7 * 3 + 8 * 6 + 8) * 8 * 6 * (4 + 5)
5 * (6 + 2 * 9) + (7 + 6) + 8 * 5
(4 * (6 + 9 + 3 + 6 + 2)) * 8 * 3 * 2
4 * 3 * (9 + 5 * 5 + (5 + 6 * 2 + 7) + 7 + 3) * 5 * 6
6 + 7 + (5 + 3 * 2 + 3 * 7 * 2)
7 + (4 + 3 * 3 * 9 * 9) + 8 + 4 + 2
((4 * 3 * 5 * 8) * 9 + 7) * 8 * 7
3 * 8 * (5 * 6) + 2 * 5 + 9
((8 + 2 * 4) * 7 + 8) * 8 * 6
(3 + 4) + 5 * 4 * 9 + 7
(7 * 4 * 3 + (5 + 6 + 2 + 4 * 7) * 5) * 5 + 2 + 8 * 6

6
eighteen/sample.txt Normal file
View File

@@ -0,0 +1,6 @@
1 + 2 * 3 + 4 * 5 + 6
1 + (2 * 3) + (4 * (5 + 6))
2 * 3 + (4 * 5)
5 + (8 * 3 + 9 + 3 * 4 * 3)
5 * 9 * (7 * 3 * 3 + 9 * 3 + (8 + 6 * 4))
((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2

1
eighteen/sample1.txt Normal file
View File

@@ -0,0 +1 @@
1 + 2 * 3 + 4 * 5 + 6

1
eighteen/sample2.txt Normal file
View File

@@ -0,0 +1 @@
1 + (2 * 3) + (4 * (5 + 6))

1
eighteen/sample4.txt Normal file
View File

@@ -0,0 +1 @@
5 + (8 * 3 + 9 + 3 * 4 * 3)

1
eighteen/sample6.txt Normal file
View File

@@ -0,0 +1 @@
((2 + 4 * 9) * (6 + 9 * 8 + 6) + 6) + 2 + 4 * 2

View File

@@ -3,7 +3,7 @@ package main
import (
"fmt"
"github.com/thatguygriff/aoc2020/seventeen"
"github.com/thatguygriff/aoc2020/eighteen"
)
func main() {
@@ -72,5 +72,10 @@ func main() {
// fmt.Println(sixteen.PartTwo())
// Day 17
fmt.Println(seventeen.PartTwo())
// fmt.Println(seventeen.PartOne())
// fmt.Println(seventeen.PartTwo())
// Day 18
fmt.Println(eighteen.PartOne())
fmt.Println(eighteen.PartTwo())
}