From 6b8dbeeeb2c54571bd7dd43423eb710941a6fc00 Mon Sep 17 00:00:00 2001 From: Markus Witt Date: Thu, 15 Dec 2022 18:48:56 +0100 Subject: [PATCH] feat: solve 15 1 --- 15.go | 137 ++++++++++++++++ 15_test.go | 35 ++++ input/202213 | 449 +++++++++++++++++++++++++++++++++++++++++++++++++++ input/202215 | 22 +++ main.go | 1 + 5 files changed, 644 insertions(+) create mode 100644 15.go create mode 100644 15_test.go create mode 100644 input/202213 create mode 100644 input/202215 diff --git a/15.go b/15.go new file mode 100644 index 0000000..f364b2f --- /dev/null +++ b/15.go @@ -0,0 +1,137 @@ +package main + +import ( + "fmt" + "regexp" + "strconv" + "strings" +) + +type AOC202215MapPoint int + +const ( + MPBeacon AOC202215MapPoint = iota + MPSensor + MPNoBeacon +) + +type AOC202215SensorBeacon struct { + Sensor []int + Beacon []int + Distance int +} + +type AOC202215Map struct { + SensorBeacons []*AOC202215SensorBeacon + Map map[int]map[int]AOC202215MapPoint +} + +func (m *AOC202215Map) SetPoint(x, y int, pt AOC202215MapPoint) { + if m.Map == nil { + m.Map = make(map[int]map[int]AOC202215MapPoint) + } + if _, ok := m.Map[y]; !ok { + m.Map[y] = make(map[int]AOC202215MapPoint) + } + + m.Map[y][x] = pt +} + +func (m *AOC202215Map) GetRow(y int) map[int]AOC202215MapPoint { + row, ok := m.Map[y] + if !ok { + return nil + } + + return row +} + +func (m *AOC202215Map) PopulateMap() { + for _, sb := range m.SensorBeacons { + for y := sb.Sensor[1] - sb.Distance; y <= sb.Sensor[1]+sb.Distance; y++ { + xDelta := sb.Distance - absInt(sb.Sensor[1]-y) + for x := sb.Sensor[0] - xDelta; x <= sb.Sensor[0]+xDelta; x++ { + m.SetPoint(x, y, MPNoBeacon) + } + } + m.SetPoint(sb.Beacon[0], sb.Beacon[1], MPBeacon) + m.SetPoint(sb.Sensor[0], sb.Sensor[1], MPSensor) + } +} + +func (m *AOC202215Map) PopulateMapROI(row int) { + for _, sb := range m.SensorBeacons { + yMin := sb.Sensor[1] - sb.Distance + yMax := sb.Sensor[1] + sb.Distance + if yMin > row || yMax < row { + continue + } + + xDelta := sb.Distance - absInt(sb.Sensor[1]-row) + for x := sb.Sensor[0] - xDelta; x <= sb.Sensor[0]+xDelta; x++ { + m.SetPoint(x, row, MPNoBeacon) + } + + m.SetPoint(sb.Beacon[0], sb.Beacon[1], MPBeacon) + m.SetPoint(sb.Sensor[0], sb.Sensor[1], MPSensor) + } +} + +func (m *AOC202215Map) ParseInput(input string) error { + m.SensorBeacons = []*AOC202215SensorBeacon{} + re := regexp.MustCompile(`Sensor at x=(-?\d+), y=(-?\d+): closest beacon is at x=(-?\d+), y=(-?\d+)`) + for _, line := range strings.Split(input, "\n") { + parts := re.FindStringSubmatch(line) + if len(parts) != 5 { + return fmt.Errorf("can't parse line %s", line) + } + intParts := []int{} + for _, part := range parts[1:] { + intPart, err := strconv.Atoi(part) + if err != nil { + return fmt.Errorf("can't convert %s to int: %v", part, err) + } + intParts = append(intParts, intPart) + } + + sb := &AOC202215SensorBeacon{ + Sensor: intParts[:2], + Beacon: intParts[2:], + Distance: absInt(intParts[0]-intParts[2]) + absInt(intParts[1]-intParts[3]), + } + m.SensorBeacons = append(m.SensorBeacons, sb) + } + + return nil +} + +func AOC2022151Helper(input string, row int) (int, error) { + sbMap := &AOC202215Map{} + err := sbMap.ParseInput(input) + if err != nil { + return 0, fmt.Errorf("can't parse input: %v", err) + } + sbMap.PopulateMapROI(row) + + count := 0 + mapRow := sbMap.GetRow(row) + if mapRow == nil { + return 0, fmt.Errorf("row %d is empty", row) + } + for k := range mapRow { + if mapRow[k] != MPBeacon { + count += 1 + } + } + + return count, nil +} + +func AOC2022151(input string) (string, error) { + res, err := AOC2022151Helper(input, 2000000) + if err != nil { + return "", err + } + + return fmt.Sprintf("%d", res), nil +} diff --git a/15_test.go b/15_test.go new file mode 100644 index 0000000..ca29179 --- /dev/null +++ b/15_test.go @@ -0,0 +1,35 @@ +package main + +import "testing" + +func TestAOC2022151(t *testing.T) { + test := struct { + input string + result int + }{ + input: `Sensor at x=2, y=18: closest beacon is at x=-2, y=15 +Sensor at x=9, y=16: closest beacon is at x=10, y=16 +Sensor at x=13, y=2: closest beacon is at x=15, y=3 +Sensor at x=12, y=14: closest beacon is at x=10, y=16 +Sensor at x=10, y=20: closest beacon is at x=10, y=16 +Sensor at x=14, y=17: closest beacon is at x=10, y=16 +Sensor at x=8, y=7: closest beacon is at x=2, y=10 +Sensor at x=2, y=0: closest beacon is at x=2, y=10 +Sensor at x=0, y=11: closest beacon is at x=2, y=10 +Sensor at x=20, y=14: closest beacon is at x=25, y=17 +Sensor at x=17, y=20: closest beacon is at x=21, y=22 +Sensor at x=16, y=7: closest beacon is at x=15, y=3 +Sensor at x=14, y=3: closest beacon is at x=15, y=3 +Sensor at x=20, y=1: closest beacon is at x=15, y=3`, + result: 26, + } + + got, err := AOC2022151Helper(test.input, 10) + if err != nil { + t.Fatalf("AOC2022151Helper() err: %v", err) + } + + if got != test.result { + t.Errorf("AOC2022151Helper() missmatch:\nwant: %d\ngot: %d", test.result, got) + } +} diff --git a/input/202213 b/input/202213 new file mode 100644 index 0000000..e1ff48d --- /dev/null +++ b/input/202213 @@ -0,0 +1,449 @@ +[[[],0,10],[[[8],[4,0,1],[5],[7],0],8],[9,8,0,8,9],[[],[[0]],1,7,[9,6,[7],[1,1],6]],[[4,[6,5],[3,9,9,8,8]],[[],[10,5,5,7,3],5,5],9,5,2]] +[[8,2,[1,4,9,9],6,6],[],[[3,[3,5,3,10],10,[],[7,0,3,1]]],[[[]],6,[[10,6]]],[[2,3,[4,2,4,6],[10,5],[7]],[[3,8,2,4,7],9,[2],[]],10,[[],8,9],[[4],[3,9],6,[9,10,2],6]]] + +[[10,0,2]] +[[[[4,3],5,[2,2,6,9],[],[8,4,4,7,2]],[3],1],[[6,5,[8],[10,9,9],6],[10],[3,[0,4,6,0],[3,4,8],9],0,[3,1,[1,10]]],[8],[[[1,0,6,1]],[[7,2,1,3,6],[7,8,0],9],[[9,7],7,4]]] + +[[[[],[10,1,6],[5,2,3,2],0],5,8,3,9],[[10,1,3,4,2],1]] +[[[]],[[[2,2],0],1,[6,[3],7,[3,1,3],[3,3]],[[5,5,2,10],[1,3,3,10,8],9,[9,4,3,0],0],[3,5]]] + +[[],[[0,[],3,9,1],[8,2,[7,5,7,5],[5,0,1,5],[6,9]],10,[[8,6],7]],[10,5,0,5,1],[6,[4],[],[4,2,1]],[[[2,10],[9,3,8,1,2],[],[]],8,[9,[5,2,7,0],[10,7,7,9,0]]]] +[[],[8,[[8],0],8,[[4,3,0,10,2],3],3]] + +[[5,[],4],[[[8],2,5,9],[[0,6],9,8],[[0,7,9],7,[10],5,[5,6,10]],[0]],[1]] +[[[[2,9,10,0,4],2,10],4]] + +[[[5,[1],[4,5,10,9],9],9,7,1]] +[[4]] + +[[],[],[1,5,[4,[4,3,4,2],3,7,[7,0,4]]],[2,7,0]] +[[[2,4]],[],[[[7]],3],[],[[],[8,2,[9,3]],8,1,[[],[7,8,3,6,3],9,[0,10,7],5]]] + +[[8,[]],[[6,[2,10,9,10,6],10,6,[8]],9,7,[1,9,9],[10,[],9]]] +[[],[[]]] + +[[1,1,[[5],3,[],[2,4]],[[]]],[6,[]],[[[],[9,0,9,1],[6,4,2,4,4],[]],[10,[],3],8],[[0],8,3]] +[[[7,[10]]],[8,9,[[8,5,10,0,4],10,9,[8,7,2,3]],[8,1,8,[8,4,2]],[6,[4],8,4]]] + +[[3,[],[]],[[[],1,[5],[10,6,2],[9]],[[9,9,0,2]],5,[[0,8,6]],[0,4,[0,7,9,3,7],8]],[7,[7,10,3,[6],[]],[[7,1],8,[10],[8,10,1],1]]] +[[9,5,[4]]] + +[[[5,[0,10,4,2,4],[7,9,1,2,0],10,5],[5,[4],[8,9,2,8],[2,7]],4],[10,9,[10,[3,7],[7,4,2]]],[],[[7,[3]]]] +[[2,[7,[5,3,8,6,3],[7,0,9,8,4]]],[[],5],[[],2],[[4,7,3,8,0],7,5],[2,9,[[8,2,2,2,2],[1,0],3,[3,1],10],5,[[5,10],[10,5,10,3],7,[7,7,6]]]] + +[[1,9,4,8]] +[[[[6,1]],[6,[2],[10]],5],[[],[6,8]],[[]],[[1,[6,1],[],[]],10],[2,[6,[7],9,[4]]]] + +[3,0,7,7] +[3,0,7,7,10] + +[[[1,10],[],[4,10,2,[1],10],[]],[1,5,[[],[],4,[6,6,9,0],[2,9,4,4,3]],3],[[[7,4],[],[10],0,[]],[[5,8,9,10],7,8],[6,7,1,[7,1]],7],[[8,5,4],[[6,1],[8,3],6,10,6],5,[6,2,2,10],[]],[2,2,1,10,[4,5,[3,0],5]]] +[[[1,[4,6,7,8],9,[6,9]],10,0,10,7],[],[7]] + +[[1,7,[]],[10],[7,2]] +[[],[[[3,10,4]],[[6,5,1],[7]],[[1,0,9],9,[]],[[1],0,9,9,[5,4]]],[[],1,[0,1,[],1,7],[[],3,1],[0]],[[[6,7,10,6],[10,1,1],[1]],[8,[9,0],[3,3,2]]]] + +[[],[8,6,[6,3,[6,10,10,9],[8]]],[1,[1],4]] +[[[[10,8],2,4]],[[],6,[8,[],[],[9,6,6],[9,7]],[3,9,0,0,2],[6,[4,7,6],0,[4,8,4]]],[[[],[]]]] + +[[],[[[8,5],[1,1,7,5],5],[9,[],3],8,[[8,10,3,3,9],3]],[[4,[8,4]],[[4,0,2],8,5,6],[3,[]],6,[[10],5,[5,5,3],10]],[4,[8,8,[9,7,0,3],[10,0,10,2],10],[[0,10,7,1]],[[5,1,4,2],[8,5,8,4],[2],8],7]] +[[],[[[],[],8],[[6,1,0],10,5,8,1],2],[[],[0,[],4,0,2],[[3,8,9,8,5],1,4]]] + +[[6,[],[[0],[8,5,5],[10,8,3,6,1],5],[[5,8],2,[8,8,3,1,2],[]],[4,[3,9,8,7,5]]],[[[8,3,0,8],5,[3,3,8,9]],[9,7,5,4,[3,6,1]],[6,[]],3]] +[[[[],[5,1,6],[9,2,5,9,7]]],[[[],0],9,10,[]]] + +[[[[1,9,2,10,5],[7,4]],1,[[5,0,10,5],[5,0,8,2],5,[4]],8],[[2],7,4,3,[2]],[5,6,[[4,3,8]],[[0,3,1,1],1,0,4]],[1,7]] +[[6,2,[[0,2,1],2]]] + +[[],[[[4,10,4,0,1]],3,[]],[[3,[8]],[[]],10,[7,[]]],[[0,[7,10]],2,8,[5],9]] +[[9,[5]],[],[[[10,9,9,4,9],[10,1],4,0,[4]],5,[2,[0]],5]] + +[[0,3,[]],[3,[],[7]],[[1,[7,7,8,6,6],[9,7,8,2],[7,4,4,5,1]]]] +[[[[6],2,[6,5,9,6]],9,[]],[3],[5]] + +[[[4,9,1,[10,7]],10,3,0,[[4,8],[],[1,0,10,9,0],[6]]],[1,4,9],[[2],10],[6,[[0,10,10,6],[8],[3,7,7,6,2]]]] +[[[[7,10],10],[4,[8,1,10,10]]]] + +[[[[2,10,2,3],10,[8,4],[4,10]],[[7,0,2,6,7],0,[],[],[7]],9,6],[[[3,0,9,8],3]],[[[4,4,7,5,6],1,4,2,[4]],3,[[6,6],8,0],[6,8,6,[5,0,2],2]]] +[[[2,[7,9,5,3],[3,6,5,1],3],[[4,9]]]] + +[[[[5],[],2,[6,2,1,5]]],[10,[[0,7],9,3,5,[4,3,4,7,8]],[9]],[5,[[9,7],[7,9,9,4]],[1],8],[7,4],[]] +[[8,[[7,10,2,7,3],2,7,[4,10,0],[4,7,5]],1,8]] + +[[],[],[0,[]],[[9],10,4,1]] +[[[4],1,[4,[],[1,4,1],10,8],8],[10]] + +[[[[],2],[5,2,[1],2]],[2,1],[[5,[1,8,1],4,[6,2,0,2,10]],4],[[8,0,2],[[9],2,[4,6,8,1,5],2]]] +[[8,2,5,[[6,10,3,9],[10,7,7,8,0],[9,2,6,9],[3,10,5,6],5]]] + +[[1,[3,4,2,4,1],[],8,7],[[[7,1,4,6,8],6,[0,1],[9,3,9]],[10,2,10],[[7,6,7,10,3]],5,[8,7]],[8],[],[8]] +[[[4,[1,9,9]],2,7,5]] + +[[],[9],[[[7],0,[4,3,3,9,7],1,[9,3,10]],[[7,5,9]]]] +[[[0,5,[9],[8,1,2,5]]]] + +[[[7],[],[[10],8,2,8,[3,7,9,0]]],[0,[[],6],8,[0,[7]],[3]],[10,1,9,0,4]] +[[9,[[7,10,4],[10],10],8,6],[[[4,5,2,2,8],10],[8,[0,1,10,5,3],[10]],10,5],[9,[[4,5],0,9,3],3,[[5,8,2,3,5]]],[[[3,9,1,10,4],0,7],9,6,[[]],7],[[[1],[1],1]]] + +[[6,8,[],7,[10,[2,7,3],[5,5,0,8,7],7,5]],[9,[],9,6]] +[[[[3,8,7,3],4],3,[],10,[7,[0,2,4,6,2]]],[1,[6,[2,9,9,2],9,1,3]],[7,2,10],[8,[4,2,[],[6,5,1,2],2],9,[5,2],9]] + +[[[0,9,9,[10]],[[8],0,5,9,10],1,8,[]],[],[9,[10,5,[4,1],7,3],1],[[[5,8],[0,9,6]]],[6]] +[[5,8,[[],8,6,8],[2,9,[]],[6,6]]] + +[[7,7,[[4,0,7,4,6],2],0],[0,7,[0,5],[[10,5,0,10]],[10,[7,7,1,7,7],[4,9,2,4]]],[[],3,3],[4,8,[[2],[],9,[5,10,8,0,7]]]] +[[[[],[9],0,5,6],[10,[3,1,2]]],[[[4,3,2,5,2]],[],[0,1,2,5,5],[[5]],0]] + +[[[[8,9,3,1,0],2,[4,2],[]],2]] +[[[8,[1,7,0],4]],[9],[[[2,4]],[[6,5,8,5,3]],[],3]] + +[[],[9,7,[],[7,[1,4,4,10],5,3],[[4,1],[],3,[9,10,8],[0,6,8]]]] +[[[0,[4,9,1,8,3],[2],[4,8]],[8,[7,0,4,2,5],6,[5],0]],[[[10,8,8,2,8],7,[1,0,1,4,0]],5,3,7],[1],[0,[[10,2,9,1]],3,8]] + +[[3,0,[[6,4,8,3],[8,10,8,5],[10,6,8,6],7,[1]],[[1,10,1,2,6],2,[],[]],[[3],4,3,[8],5]]] +[[[[10],7,9,0,[5,1,1,9]],0],[[],[]],[4]] + +[[5,8,[[7,9],[6,0,3],[],10,[5,6,4,10]]],[[9,[4,4,9,9]],0,[[3,2,7,7,2]],[[4,6,6]]]] +[[5,3,[[10,0,8,7]]]] + +[[[],[],[[2,3,0,3],[1,7],0,9],2]] +[[[10],[3,[4,0,7,3]]],[[5,[0,1],[6,10]],1],[4,2,0],[],[7]] + +[[8,[]],[[[1,4,10,9]],[2,4,[10]],9,2,[]],[1,2],[[]]] +[[[9,[0,10]],[[9,0,3,10],9],4,7,7],[0,4,2],[4,9,[7]],[6,0,10,[7,5]]] + +[[[0,[6,5,10],3,[7,3],[8,5]],[7],[3,1,8,[2],3]],[[],[],4],[9,5,[]],[1,7,[4,2]]] +[[[[3,1,4,3,1],[],[5,5],9],[4,2,[1,1]],[6]],[0,10,[]],[[10,[6],6],[[8,1,5,6],8,6,8,[3,3,6,0]],[],2]] + +[2,4,3,3,7] +[2,4,3,3] + +[[0,[],[[8,6,0,1],2,[9,10,9,9,4],[2,9,5]],8]] +[[[[],[4,5,9,0],[4,2,6,9,7],8,1],4,[],1],[],[1,[]],[1,5,2],[[[0,6,7,0,3],[9,8,8,7],[0,1,9,10,2],4,6],[],[[7,6],[8,9,5,4,4],8],[3,[2,9,2,6],4,10,4]]] + +[[[[],[4,6],3]],[],[[6,[4,6]],5],[10,3]] +[[],[[10,[]]],[],[4,5],[]] + +[[[[4,10],[],5,4,1],[6,9,9],4,5,4],[[[],[10,3,2,1,2],1,6,[6,5,7]],0,[6],6],[10,[],[],[[4,1,3],5],0]] +[[8,[7],[[7,8,7,8,2],[9,8,6,7],3]],[2,2,4],[]] + +[[6,[[8,4,4],1,10]],[1,[4]],[6,[8,4,9]],[],[6,9,[]]] +[[1,5],[[[3],[3],[8,2,8,6],3],[0,[3],[1,10,4,0,10],[6,9,3],8],10,8,10],[0,10,2],[5,10,1,3,8],[]] + +[[[],6,8,5],[7,[4,[2],[2,1,3,2]]],[6,7],[[],10,[]]] +[[],[[0,6,[1,6,5],1,[0,9,0,5]],[[],3,[4,5],[0],[5,4,10,2]],4]] + +[[4,[2,[3,10,10,2,2],[1,6],4],3,3],[5,[8,[3,8,5,8,4],[4,4,10,6],[]],8,[[]]],[]] +[[[[1],5,[],[1,7]],9],[[[2,9,1,9],[],[4],[4,10],[]],[]],[[[10,2,2,6],[6,0]],[[6,6,9,7],3,[1,1,6],1,1],4,4,0],[[7,[7,1,0,2]],[[8,9,9,8]],[0,[2,9,5,7,3],4,[],[10,10,3]]],[[0,8,4],[8,[6,0,4,9]],3,[[10,6,8,9],[8,6,10],10]]] + +[[9,[],4],[],[]] +[[[2,3,[1,1],2,[]],[9],[[1],[3,1,1],6],1],[[[6,6,0,9],[7],[],5],[5,6,9,4,6],[[],4],9]] + +[[[[3,7,3,0,5],[4,10],[0,8],[4],9],[]]] +[[2,5],[[],[8,0],[[9],0,[]]],[3,4,1],[7,[[5,10,8,10]]],[[[3,4,8,0,2],[3,7],[0,2],0,2],6,5,[]]] + +[[[2,9,[10,7,3,7]],[],2,4],[4,3,5],[],[5,9,7,[[0]]],[[2,9,3],[],[7,[8,2,1,1,0]]]] +[[[9,0,[3,3,9,3,8],10,[10,5,1,4]],[3,4,[9,0,8,0]]],[0,[9]],[[7,[4,0,6,10,9]],8,[9,[4,10],[4,6,2,3,6]],[[4,2,0],9,[9,0]],[]],[[],8,8,9,[0,[10,10,8,10,9],3]]] + +[[4,3,[7,8],10],[[[7,0,10,9],[6,7],[]]],[4],[[],9]] +[[9,[9]],[],[[2],4,3,1,7],[[[],1,[6,9,0,6,0],[3,2],4],7,[[0,1,9],5,[5,8,1,7,8],9,[0,3,3,0]],5]] + +[[],[9,[[6,6,5]]],[[5,[1,8,4,4],0,[],[3]],[3,[9],[8],1]],[10],[9,4]] +[[],[],[6,10],[],[[],7,7,6,1]] + +[[[[],0,[3,3,4,7,1]]],[1],[7]] +[[[9],[],[],2],[[],[],[[2,1],9,5,9,10],0,[9]]] + +[[[],[]],[5,5,2,[[7,8],4,3,6,[]],9]] +[[[[5,7,0,0]],[[0,6],[0,8,9,10,5],3,2]],[],[[6,1],3],[10,[3,[6],[1,3,0,2]]]] + +[[[[],8,[7,3,6],6]],[],[[[10,1,0],2,[3,1],2],[[],2,0],[[8,10,7,3],10,[],4,3]]] +[[8,[]],[[[8,2],1,10]]] + +[[9,[]],[10,0,[[5,7,8,5,1],4,9,8]],[],[[10,[10,0],6,[3,5,9,7,9],[0,6,5,10]],[[1,7,8,3,7],5,[3]],[[],[],[9,1,7,4,5],10,[9,0,2,2]],[4,5]]] +[[],[2,[9,[7,3,5,3]],[6,9,3,4,1]]] + +[[[4,8],1,8,4,[[7,6]]],[[[8,2,8,7,5]],[[4],[],[8,2,0,0,3]]],[0,[[4,8,4,4],[9,4,10,0,8],10],0,8],[0,9,2,10]] +[[5],[[[10,7,8],[],1],4,0,[8]],[4,[[9],[1,1,1],[3,6]],10,[],3],[[9,[0,5,7,8],4]]] + +[[0,[[],6,6,3,[9,10]],[[8,8,3],6,4,[6,0]],2]] +[[[5,3],7],[[1,[0,7,9],8,5,[4,9,9]],[2,2,3]],[1,9,9,[]],[],[6,[[4,3,6,8,5]],[[4,6],5,[3,1],[0,7,1,3],[3,2,4]]]] + +[[7,0],[]] +[[1,8,[[0,10,3,0],9,[5,10,7],0,[1,2,9]],2],[[[7,2,7,3],[],5,0,[8,2]],[5,6,5,[7,9,1,10,6],5],[7,5]],[0,[6,9,5,0],[[2,9,4,8,2]]],[[[6,6,10,8,4],[1],[1,9,2],[4,2,6],9],8,2],[[],1]] + +[[[1],4,[],8],[7,4,[9]],[[[6,5,3,10,1],2,7,[0,8],0]],[6,[8,5,[2,10]],8]] +[[],[[7],3,[7,[10,1],0,[5,8]],[],2],[7]] + +[[[10,[8],[2,2,9],7,10],2,[8]]] +[[[[10,1,7],[10],6,10],[[7,8],10,[],9,3],2,7,3],[[2,[]]],[[[9,10],[10,1,1,7,2],2,[0,7],[0,7,6,0]]]] + +[[],[[],3,1],[[[10,10,10,1]],[[1],9,[],4,[8,4]],[4,[8,0,5,10],3,[3],[5,3,9,6,1]],[]]] +[[[[2,4,2],[6,3],3,4,10],9,[1,4],0]] + +[[[8,[],[1,4,7,4],[5,10]],[7,7,[],[]],[[5,10],5,[4,10],[6,8,0,4,3]],[[6,5,9,7,4],8],2],[6,0,[[1,9]],[2]],[7,[9,[8,4,3],7,[0],[3,1,4]],1,[]],[[],3,[],0]] +[[[1,5,5,[]],2,6],[[[7,4,8],1,7,[9],[1,9,1,7,10]],4,[[4,10]],[[10],[8,7],7,5],10],[],[[[8,6]],[1,7],[[2,5,6,9],0]]] + +[[[],3,10,2,[]],[5,[[8,7],7,[8,5,6]],10],[],[3,[8,9,[9,8]],6],[[[1,9,10]],[[],3,5,[8,9,8,5,5],5],6,5,[[6]]]] +[[],[10,[[],[0,3,7,3,8],4],[1,[6,10,0,10,1],3]],[2,2,[[0,7,7,0,10],[1,3,4,5],[]],[5,10,[]],[0]],[5,8,[3,10,2,10]],[[],[]]] + +[[[],9,[0,7,2,[0,3,0,7]],[7],8],[[[],[4,1],[]],6,[6,3,9,5]],[[10,[9,5,2],[7,1]],[10,[1,9,5,4],[10,1,7,1,5],8,7],10,[[0,6,2],6]],[4,7,[]]] +[[[[2],[0],[4,5,10,1],[9,1,1,6,7],[0]],1,7],[7,[[6,6,9,5,9],10,[7,0,0,5]],[],[9,[3,7],[1,1,3,2,1],2]],[10]] + +[[5],[[[9,8,2,5],2],[]],[8,[[8,3],[]],6,[8,[0,2,4,4],[3,9,6,3]]]] +[[[2,6,[]],[[7,3,6],[10],4,[3,10,1]]],[[[5,7,9,2],4,2],8,[0,4,2,[3,10]]],[[],9,1]] + +[[[3,8,0]],[[[0,4,0,6],1,10,4]]] +[[[5,[1,10],[8,0,3],3,4],9,[10]],[[7,[9,4,10,2],0,5]],[8,0,[0,1,[7,8]],8,7]] + +[[[[],6,[10,8,7,3,6],8],[10,[6],6,[10],[6,4]],[6,0],[[2,5,7,10,1]]],[[[],[2,4,0],9,9]],[4,[],6]] +[[8,[]],[2,0,0,8,9]] + +[[5,[9,4]],[[[6,8,1],[6,6,8],[7],[]]]] +[[2,[],7,9,[10,9,10,[4,2,6,4,5]]]] + +[[[5,9,10,[5,7],6]],[[8,[],[1]]],[[[4,4],9,6],[9,6]],[4,[4,[],[2,6,0,9]],6,[[4,7,5],6,7]],[9]] +[[7,[[6],7,[4]],3,1,9],[9,[],8,[8,[],4],[6,[1,6,1,0,4]]],[4,4,3,8],[[4,8,4],[10,5,3,10,[0,2,5,4]]]] + +[[8,8,10,[]],[10,2],[[[7,6,2,4],2],1,[5,8]],[2,[4,5]],[[10],6,[],[[1],2,1,[7]]]] +[[8,7],[],[2,9,6,[[1,10,4,1],3,[],10,6],1],[[[],[10,5,7,7]],[]],[9,2,[2,[5],10],[7,[2],6]]] + +[[[[6,4,2,10],7,[2,10,5]],7,[0,[10,9,9,5,0]],1,10],[[[0]]],[7,[[8,6,9,4]],2,[[5,2,3,0,4]],10],[7],[[[2,8,3,9],[],2,[8,8,9],[9,3,3]],1,[[10,9,5]],2,8]] +[[[[1,10,1],[6,0,3]],[[2,1],[6],1,[7,2,6],4]]] + +[[0,[[],[2,4,2],7,1,[]],[8]]] +[[[],[0,[10,6,0,0,7]],[2,[1,7,7,10,9],7,4]],[[],7,[[5,2,7,8,9],0,[],10,1],[[0,5,8,10,2],[2,9,2,4,0]]],[[2,0],8,10,1,[[4,3,7,0,0],[],0,[7,9,5],[1,5,6,6]]],[[8,[9],[2,1,7,3],7],10,[1,8]]] + +[[[[2,7,6,6]],[1,[]]],[[[0,6,1,0,6]]],[[3,[8,6,0]],9]] +[[1,[6,7,[9,7,8],2,1]],[[[1,1,9,3],4,9],2,[10,[2,8],[4],4,[0,1,3,2]],[6],[[3,2]]],[[[5,3],0,9]],[[[7],3,[9,3,6,5,5]],[[4,8,0,0]],5,[4,[],5,[10,0,6,2,6],3],[]],[3,[],[6]]] + +[[[],0],[[]],[2,[[0,10,8,5,8],[3,7,2,5],5]]] +[[2,[],10],[[[1,2,8],[0,7,0],8,[]]],[0,8,5,[],9],[[]],[0,[[3,7,4,3,6],[5,1,4],[1,8],[4,8,9,7,0]],[]]] + +[[],[],[6,0,[3]],[[[],[5,8,6],[8,1]],[]]] +[[],[2]] + +[[7,[6]],[],[],[5,[4,9,[2,8,0,4,4]]]] +[[5,[[2,3],[10,7,5]],[7,10,[9]]],[1,4,[[3,1,8,3],[9,8,8,1],8,[],5],4],[[[0],2],[6],[[],8,[2,6,8,1,3],3,3]],[3,[8,7,9,[]]],[[[3,7,1,9],2],[1,[5,8,8,10]]]] + +[[[4,0,[7],[0,2,0]],[9],[[8,6],5],10]] +[[6,[1,3,[],[9,6,3]]],[[5,[8],7]]] + +[[6,3,[[5,6,4,8,9],0],9],[],[3,6,9,[]]] +[[],[7,6,8,4,0]] + +[[3,7,5,[[2]],4],[2,3,[],4]] +[[[1,8,[5,8,10,4,0]]],[3],[[2,0],[2,[7,8,1,1],[]],7,9,1],[],[]] + +[[[[8,1,0,3],0],[[4,6,1,8,1],2,[9]],[[4,5],[4,6,5,3,9]]]] +[[[8],10,[7,[6,2,2,5,5]],4,[8,7,[0,3,9],6,[8,7,4]]]] + +[[4,10,6,[[0],[5,0,7,3,5]],[]],[[],[0],[]],[[[5,1,2,10]],[6,0],[],7,[9,6]]] +[[[[7,6,10,2],10],3,5,[10,[5,10],3],0],[6,3,5,[[7,0,3],[8,1,6,4,9],0,[2,5]]]] + +[[[5,2,[3],[4,10,8,5],5],9,1,[[0,7,8,3],[6,9,9,5],7,1]],[9,6,[[6,6,4,10,4]]]] +[[[5,6,[4,4,2,7,3],[0,9]],6,[6,[4,3,2]],[2,4,[9,9,3,5]],[[9,9],9]],[[3,6,10,[3,0,8,4]],9],[6,[3,[],4,6,[4,4,3,10,1]],9,[[2,3,8],[10,2,3],[0,5,2,7],[0,9,1]]]] + +[[],[2,4,[10,[0,5,9,8],[7]],5,[]],[],[0,[3]],[7,5,[0,[9,4,9],0,2,3]]] +[[[[2,2,4],[],2,7],0,[4,5,[4,4,0]],6],[2],[2],[],[[3,6,[8,1,7,3]]]] + +[[7,[]]] +[[3,[[0,8]],7,5,5],[]] + +[[7,[9,[3],[10,9,3,1,1],[7,7,4,4,1],7],[2,[9],[9,1],[4,0,3,0]]],[],[7,5,[[10,9,9]]],[[6,10,[9,4,1,9],[],[8,6,9]],9,5],[6,0,6]] +[[],[4,4],[2,6,[1,5,6,[6,5,8,0],4]]] + +[[4,8,4],[[3],9,[[6],0]],[8]] +[[2],[[1,[7,1,9]],6,[[],[],6,[6,0,1,10,10],[8,1,2]]],[1,7]] + +[[[],[[5,4,4,5],3,8,3]]] +[[[],[2,[4],[3]],1,[[],[3,4,0,8,2],8,[0],[2,4,3,3,6]]],[[]],[3],[10,10]] + +[[3,1,8,[[0,5,7,7],[7,3],6,7],5],[7,5,10,[2,7,[6,10,7,4,10]],2],[],[[2,[2,2,4,2,5]],6,[[2],8,2,[7,10,3,8],1]]] +[[[8],[[10,5,2],1,0,10,1],[0],5,8]] + +[[[],10],[],[[],6,1],[10,1,[0]],[2,1,[[9,4,5,3,2]],1,[]]] +[[[[10,2,5,5],9,[3]]]] + +[[[6,5],[]],[1,[[6,0,4,5],[6,8,6,6]]],[4,2]] +[[6,9,3,7]] + +[[],[[],[[8,2,1],[2,2,3,3,4]],8,0,10]] +[[[[7,2,10],[0]]]] + +[[9,[1,6],4,1],[[[9]]]] +[[5,4,[[9,3,8],[9,7],6,[],4],[[],[2,6]],[[5,4,6,2,1],5,[1,7,5],7,[6]]],[[],9,[[],[6],[],10],7]] + +[[2],[[],7,2,6,[[4],[10,3,10]]],[3,10,[9,[7,5,1]],1],[7,3],[1]] +[[],[3,[[]],0,9,[3,8,[9,5,1]]],[4],[5,1,0,9]] + +[[[7,[0,4,9],0,[10]],[4,[1],[1]],7,[[],4,9,3,[4,3]]]] +[[3,[[8,2],6,[],6,[0,5,3,6]],[6],[[2,4,6],6,[7,1,2]]],[[4,10],7,8,[7]]] + +[[5,8,[8],10]] +[[8,[[6],[9]]],[1,1]] + +[[[2],[5,[5,3]],8,[],[[10,10,9],3,[9,9,4,7],7,1]],[[7,7,3],[[1,7,9,9,10],[]],4],[1]] +[[[],[4,3],9],[4,[9,[0,8,1,7]],7,[5,8,0,[9]]],[[[],10,[3,4,4,7]],[8,[6,6,6,0,7],[3,7],1],2],[5,[[1,0,4,0],9,1,3],[5,3],[[0]]]] + +[[[7,[3,7],[2,4,9,2,2]],4,7],[],[],[6,[9,6,[3],0,[9,8,10]],[[10],[3,3,1,4,4],2],5],[]] +[[8,[1,[6,8,3,3,5]]]] + +[[[[2,4],[10,4,7,2],[4,8,7,9],[2,0,2,3],7],[2],8,[[1,0,9],5,8,3,[4,1,3]]],[[[8,6],4,6]],[0,[[4,6,0,2,7],[2,0,4,5]],9],[],[8,[[5],[3]],0]] +[[5,[[],[0],8,[4,6],[5,10,0,3,7]]],[[],[3,3,[7],[10]]],[[[3,4,0,0,9],[7,7,1,4,0],[6,1,6,2],0],[],4,9,[[2,1],[10,1],[],[0,2],[0,8,1,4]]],[[[7,4,4,9,0],[9,10,3,5],8,[9,2,5,9,2],[]],6],[5,[7,8,[5]],5]] + +[[[3],[3,[3,4,8,7,1]]],[]] +[[9,[],[[1],5],[5,[3],[]],0]] + +[[[5],9],[[]]] +[[4,3,1,7,[2]],[]] + +[[[5,9,8,[]],[],[[0,8]],10],[]] +[[[0,4,10],3],[[4,9],[[0],[9,1,4,6],[1,7,10,5],2],10],[0]] + +[[3],[[[1,5,6,10],[4],[7,9],[9,9,3,0]],7],[[2,[7,9,1,5],5,[0,5,7]],[[7,2,2],1],6],[2,3]] +[[2,7,[[0,1,4,10,0],[6,10],4,[6,9,4],[3,10,9,6]],1,10],[[[9,8,7],9,[5,10,4,8],[10,0,6],[8,9,1,6,4]],9,[2,7,[10,2,6,0,1]],6],[[[9,9,7,1],[1,3,9,2]],3,10],[7,9,[3,7,[0,1,6,6,6],9,0],[]]] + +[[1,10],[[],[],[[]],[10,[9],10],[[],[10,5,0,4]]],[]] +[[[[],[3,10,7]],5,4,8]] + +[[0,10],[[[0,10,8,5],[],2,[0,2,9]],5,2,2,[4,[9,3,10]]],[[[5,9,1],[7,3,6,3,4],2],10,[[7,6,7,3],[4,10,8,7,0],7]],[],[[1],[7,[10,2,7]],8]] +[[],[[],6],[[9],[[2,1,8,7,6],6,7],8],[7,7]] + +[[6,2,7,10,[]]] +[[9,7],[],[[[0],[7,7,0,8,10],2,1],6,[10,[6,2,4],0,10],[],[0,[0],[0,5,6,8],8]],[1]] + +[[10,1],[4,[4,4]],[[9,[5,0,0,3],[]],4,[4,2,[]],0]] +[[10,10,2,[[9,6,3,3,9]],10],[[0],0,4],[9,1,[],6],[7]] + +[[[10,2,2,3,[9,9,4,1]]],[[[8],8,[],[4,1,10,6,6],[4,6,6,10,9]],[],8,10]] +[[1,[4,[5,8,1],[8]],[[7],[],0]],[[8],[[3],6,2,[10,2],[6,1,10]],8,2,[8,[1,9,7,0],6,2]],[1,[[8,3,0],[6,7,2,8,7]],8,2,[[],3]],[[]]] + +[[[],6,1],[],[2],[0,1,6,5],[[[10,10,5,0]],9,[]]] +[[[]]] + +[[[[],8,6,[]]],[],[7,5,5,3,9]] +[[[1,[1,3,9],[],8,[0,7,7,3,0]],10,5,8],[0,[],9,2,9],[10,[[8,0,1]]],[[[4],[0,1],[]]]] + +[[3,[[7,3,10,5],[],10,8,[4,9,10,7,3]]],[[4,[2,2,0],[8,8]],[3,[1,3,4,10],1,[5,10,2,4]],0,[8,2,1,3,3],[]],[[[7,5,6,3,7],5,[]],[],[7,[6,10,5,5,10],[9,7,2,3],[],10]],[[8],[10,10,9,[7,7],[]]]] +[[1,9],[3,2,10,3,[[10,7],[4,7],7,10]],[],[[]],[2,4,10,[],4]] + +[[3,[8,2],[[10,1,2,3],2],3,[[6,4,1,2],4,1]],[],[8,[]],[[[7],[1,6]]]] +[[1,5,5,3]] + +[[[9,4,4,[6,0,3],2],[],3,[[9,4,1,5],[1,6,0],[8,9],[]],6]] +[[[],4,0,0,1],[3,0,3,4,5]] + +[[2,[]],[1,[[6]],5],[],[6,[[9,4,5,9],[9,0,4,9],[6],[8,3]],5,1,[10,[10,7],[0,10,10,4,2]]],[[9],5,[[6,1,10],1],[[9,7,5],[2]],3]] +[[[[6,2,8],1,5,3],6,10,10]] + +[[8,[4,10,[9],4],[],[8,[10,9,0,7]],[[2,10],5,4]],[8,4,[[6,9,9,6],6]],[2,[],2,[[5,3,8,2],[2]],9],[[],6,[[5,10,6,0],[0,0,0,4]],[[10,6],5,3,[10,7,10,8,0],[3,8,10,8]]],[[0,[8,1,9,8,8],[8,5,3,7]],[2,1,6,[6]],4,[[],2,6,6,2]]] +[[[[1,7,8,4,9],[8,9,10]]],[7,2,7,7,9],[],[[],10,6]] + +[[],[],[2],[[[]],4]] +[[8,1,[2,4,10,[10,9,3,0,0],8],10,5],[5,2,[[6,5,6,7,6],7,[],6,1]],[7,[[10,6,5,6,1],[6,3,4,10,5],2,[10,2,6,4]],[2,[4,5,2],[6,2,9],[7,7,6,10],4],1,8]] + +[[10,[1,[],[6,3]],3,[6,[1],10]],[[[7,7,5],[3],4,[7,2,1]],[]],[[2,7,[4,5,9,6,1],2,8],8,[[1,1,5,6,0]]],[1,9,8,1,3],[[]]] +[[[4],0,9,7],[]] + +[[1,[[1,1,10,7,2],[8,0],10,[3],1],7,5],[[],[10,6,4,9,1],[[8,5,6,8,5],9,0],7],[1,[4,0,[7,4],[3,7,4,3,3]],[],[5],7]] +[[[[5,6,9,6,4],[10,1,9,4,3],8],[8,4,4,[3,0,7,9,9],[8]],9,[[2,9,2,2],0,5,[6]],[5,[4,1,5],9,[0,4,8,3,4],[6,9,1,4,4]]],[[],6,2,9,6],[[4,1,[3,10,8],[1,6,8,5],8],[4,[9,4,7,10,4],[3,0]]],[10,[]],[[[10,9,2,10],[3],6,[7,0,2,4,4]]]] + +[[[[0],6,[]],2,[[1],2],0,[[8,1,9,6,1],10,[3,2,0,10,5],5]],[],[[[5,10,4,0,4],[]],[[7],6,1,7,[5]],8,[2,[5,1,7,4,1],[8,6],[1,9,9,7,3],3]],[[[6,3,4],2],6,10,[]],[[3,[8,0,2],2,2,9],[[0],[1,3,2],[],5,[5,9,9]],9,0]] +[[10],[[],[[10,2,2],1,6]]] + +[[10,[0,6,[2,5,0,10,9],3,5],[],[[],6,[4,10,4,7,10],8],5],[3,[[5,6,1,3,1],8,7],6],[]] +[[1,5,[[10,5,8],5,[8],0]]] + +[[[[2,3,2,8,0],0,[9,3,10,5],7,[9,2]],3,6,10],[[],[[10,10,4,10,0],0,[],7],2,6,5],[10,8,[3,3,6,[6,1,8,10]],[9,[3,5,0,7,8],[2,10,4,5],[4,7,5],10],[[5,0,6],3]]] +[[[0,[8,5,7],[10,3,2,1,8]],8,7,[[10],9]],[9,5,[[4,7],[3]],[[2,4,3,0,3],9],[[6],[0,6,2,3,0],[1,2],2,10]],[8],[[[10,6,3,5],2,9,8,[5,6,4,0,3]]]] + +[[[0,3,10,[8,9]],6,5,[5],8],[0,[],6,5],[5,[1,[]],[7,[6,2,2,10,0]],9],[10,3,6],[4,[9,[6],8],0,9]] +[[]] + +[[[[3,10],7,[2,4],[1,1,0,6,9],3],[4],[[3,1,10]],[10,[3,10,8],[]],[5,[5,9,2,2],0,[4,3,0,3],[3,5,7,6,1]]]] +[[],[10],[6],[[7]]] + +[[[[6,9,2,4],[5,0,9,1,8],[10,7,0,4]],[[5,3,6,7],1,8,[10,1,6,0]],5],[[[7,5,4,4],5,[7,3]],4,[9,1]],[9,10,0,[[0],3]],[],[4,[8,[8,7],8],[8,[3,2,3,10,6]]]] +[[1,1,[[]],[],1],[[6,[1,2]],[[8,8],[9,1,9,9],7,[4,5,2,2],[4]]],[],[[[9,1,4],6,9,0]]] + +[[2,[[8,10],6,0,6],[1,7],3],[],[[1,4,10,[4],[8]],5],[6]] +[[],[]] + +[[1],[]] +[[6,1,4],[[0],5,1],[5],[7,4,1,8,[10,[],[7,2,4,3,10],9]],[[9,9,4,0]]] + +[[2,[7,[1,3,7,6,8],9,[10,6,8]]],[7,7,[]],[[[3],6,5,[0,10,9]],[[0,1],[7,4,0],[3,5,1,4,10],9],4,0,[]],[],[]] +[[[[7,0,8]],1,[1],5],[0,[1,[1],6,[7],5]],[[[],[4,7,3],4,[4]],6],[10,[[9,1,2],4],5,[[10],8],8],[[6,[2,8,7]],3,7,0]] + +[[[[1,9],[3,3]],4,[[9,1,5],0,6,[10,1]]],[[[9],10,[9,0,1],[9]],[4,[4,1,3,5]],[[10],3,[0,7]]],[[5],10,10,1,10],[[[6,7,0,7,8],5,[8,2,4,3],5]],[6,10,[],1,[[5],[5],[],[8]]]] +[[[3,[8,4]],[[],7],3,[3,[3]]],[7,8,[[1,9,7],[8,7,1,7],[10,3,3,2,8],0,3],5],[],[6,0,[[9,4]],[],5]] + +[[[2,3,8],8,[]],[[[3],0,[],[6,7,1,1,10]],[[8,2,0,6,4]],[[1]]],[4,[1],5,[[6],[1,5,8,2]]]] +[[[6,9,[8]],4,9,9],[[6],[[10,0,8,3,7],[0,4],[8]],[[5,8,4,7,8],1,[1,0,6],[6,2,5,9],7]],[],[1]] + +[[2,6,0,[6,10,7,4,5]]] +[[],[5,2,0,4],[[[5],[0],[0]],[5],[[4,3]],8]] + +[[[[5,1,0],6,[3,6,6,3,1],[2,4,4],[5,2,6,9]]]] +[[5,2,6,3,[[5,3,3,4,2]]],[[]],[[[4,3,8,4,3],4,5],[7],5],[[10,[5,4,1],[8]],4]] + +[[[6,7],2,9]] +[[],[5,1]] + +[[[]],[4,6,[[9,8,1],4,[3,8,7]],[8,[10,3],[4,0,0],7],4],[[[10]],10,[5,2]]] +[[[],9,6,2],[9,0],[9,8,[],3,[1]]] + +[[[[7,1,6,2,3]],[[7,1,10,7],5,2],0,9,2],[9,0,10]] +[[],[[[],[10,1,7,8],[0],1],1,[[9,1]],[2,[7,7,8,8],[1,6,10,1],5],[[],[8],[6],4,[4,8]]],[[],[],0]] + +[[],[[9,[6,10,0,2,3],[2,0,1,3,2],[0,1,9],[]],[10,[2,8],[8,0],0,[]],[8]],[[],3,1,8,9],[8,[[9,2,6],[5]],[[3,5],9,4],7,10],[]] +[[],[3,7,3,[3,0,[2,8,3,7,2]]],[],[8,[[7,1],[9,7,9,9,3],[0],3]],[6]] + +[[],[2,[[1,0,8],[],8,9,9],[[9],4,2,[9,2]],[7,2,5],6],[]] +[[1,[[6,1,6,10],[0],[0,3,5,1]],3],[10,1],[[[6,3,5],0,9,[7,1]],2,[[2,9],9,8],9,[[4],0]],[6],[[10,4,[9],[8,5,3],8],3,4,[[0,9,3,2],8,1,[0,0],[6,6,4,0,5]],3]] + +[[[3],10,[]],[[[5,4],4,[],[]]]] +[[3,[[9,10,8,9]],10,[[4,8],5,4],6],[0,[4,1,[0,5,8,10]],3,0],[[[3,7,9,8]],[6,[],[0,5,0,10,8],[2,1,7,2,5]],[2,9,[9,7]],[8]]] + +[[4,4],[[[6],7,[3,1,2,10]],[[8,4],[3,6,7],2],[],[[6,5,3,7],7,[0,0,0,8],[],8],[6,4,5]],[[],8,[5,8,2,[3,2],4],[],8],[],[[10],9,[4]]] +[[[4,[4,6,10,2,8],[7,6,4,10]],7,[1],4],[0,[[],5,[4,2],[2,10]],[[],[1,3,0],7],2],[1,[[]],[[]]],[5,9,2,0,[9,1]],[[3,6],[[7,10,7,6],[2,8],[]],1,[],[10,8,4]]] + +[[[]],[],[],[],[8,[10,[2,9,2,2,0]],2]] +[[[[7,4],[4,2,5,1,6],[5,3,1,1,1],3]],[3],[6,[0,3,[2,10],[5,4,5]]]] + +[[5,[2],[9,2,10],[]],[[],3,10,10]] +[[3,2,10,[5,[4,2,4],[],10]]] + +[[3,2,[0],0,10],[[0],5,[],10,3],[[1,[7,2,3],3,[]]]] +[[[[5],[]],[[7,2,2],6,[7,9,3,1,10],[3,9]],7,6],[],[[[2,9],0,[10,10,0,8],0,[1,6,2,3]],10,5,[9,[],[],6,[6,8,7,10]],6],[[],[5,[4,1],4],5,2],[[[6,1,7,7,4],5,4],[[5,8,8,6,3],[4]]]] + +[[2],[1,[2,6,6,[1,4,9]],[[8,0,1,10],[5,8,10,9]]],[1,[[6,0,7],[10,5,1,4],2,9,10],9]] +[[[8,[0,6,7,6,10]],[7,[],[1,2,3,8],8,1],7]] + +[[10,6,[[1,1,5,5]],8,[[0,6,1],6,4,[7,5],10]],[1,3]] +[[[[9,2,10],[5,6,3],[7,3,3,6]],9],[7,[[4,9,2],7,[3,10,7],2],6]] + +[[[[0],[0],[10,6,0,2],[8,9,2],[]],8,[[3,8,3,9],2],[10,[],[7],3]],[],[9,[8,2,4,8]],[4,3,[3,8,[8,4,4]],[[6,4],2,[9,9,4],[10,6,2,9],10]],[]] +[[[],8,10,9],[8],[4,[8,7],2,[6,10,[5,7,7,10,0],[5,10,1,8,1],[0,4,8]]],[0,4,[5,6,[10,10,4,9],[3,9,5,0]]],[[]]] + +[[2,[[4,8],[]],4,[7,1,[1,0,0],1],[[1,8,6],[7,10,5]]],[[7,[10,1,10,4,5],2]],[9,[[5,5,8,10],4,[3,8,10]],3,[2,0,1]],[3,[[0,3,1,10,3],9,[0,5,10,3],1],9]] +[[],[],[[2,0,2,[3,5]]],[],[7]] + +[[[6,10,[5,8,4,5,2]],8,8],[6,0,10],[9]] +[] + +[[2,9,7,[[5,10,7,9,5],[7,5,9,8,10],3]],[[9,1]],[[[1],[],[4],4,[7,0,10,8]],[[],2,[]]],[10,[5,10],5,5]] +[[],[[],4,4,7],[0,1,[],9]] + +[[[[0,7,10],[8,5,2],0],6],[[[8,9,2,0]],[3,[9,4,10,9,2],1,7,[2,1,9,10]],7,[1,[10,4,10]]]] +[[[9,[9,5,0],9,3]],[[3,[7,3],2,[],[4,4,1]],0,[[3,4],1,[3,9],[8],[9,1]],[1,2,2],5],[[[7,5,2]],10,1,[[7,8,3,8],2,[6,3]],[2]],[4,[],6,7],[[[10]],10,5,1]] + +[[[],8,[[0,6,8,6]],5,9],[]] +[[9],[[[6],5,4,[4,3,6]],[[10,10,6],[7,0,10,7,9],0,2],0,[[0,2]]]] + +[[0,[[0,7,1,8,8],[9],9,9],5,7],[3,5,3,[[7,0,6,4],2,0,[2,5],3],8]] +[[[10],3],[0,[[1],1],0,0],[],[7,4]] + +[[[9,3],[7,[7,1,8],4,9],[[1,9,2,9,4],[],9,[],8]],[[[9,8]],10,[[]],[[5],[],[1,8,5],8]],[[[],4],5,[9,[4,9]],3]] +[[[[6,1,3,10],[1,1]],[[5,5],[3]],[8,5],[[6],7,9]],[2,8]] \ No newline at end of file diff --git a/input/202215 b/input/202215 new file mode 100644 index 0000000..0e27920 --- /dev/null +++ b/input/202215 @@ -0,0 +1,22 @@ +Sensor at x=1384790, y=3850432: closest beacon is at x=2674241, y=4192888 +Sensor at x=2825953, y=288046: closest beacon is at x=2154954, y=-342775 +Sensor at x=3553843, y=2822363: closest beacon is at x=3444765, y=2347460 +Sensor at x=2495377, y=3130491: closest beacon is at x=2761496, y=2831113 +Sensor at x=1329263, y=1778185: closest beacon is at x=2729595, y=2000000 +Sensor at x=2882039, y=2206085: closest beacon is at x=2729595, y=2000000 +Sensor at x=3903141, y=2510440: closest beacon is at x=4006219, y=3011198 +Sensor at x=3403454, y=3996578: closest beacon is at x=3754119, y=4475047 +Sensor at x=3630476, y=1048796: closest beacon is at x=3444765, y=2347460 +Sensor at x=16252, y=2089672: closest beacon is at x=-276514, y=2995794 +Sensor at x=428672, y=1150723: closest beacon is at x=-281319, y=668868 +Sensor at x=2939101, y=3624676: closest beacon is at x=2674241, y=4192888 +Sensor at x=3166958, y=2890076: closest beacon is at x=2761496, y=2831113 +Sensor at x=3758241, y=3546895: closest beacon is at x=4006219, y=3011198 +Sensor at x=218942, y=3011070: closest beacon is at x=-276514, y=2995794 +Sensor at x=52656, y=3484635: closest beacon is at x=-276514, y=2995794 +Sensor at x=2057106, y=405314: closest beacon is at x=2154954, y=-342775 +Sensor at x=1966905, y=2495701: closest beacon is at x=2761496, y=2831113 +Sensor at x=511976, y=2696731: closest beacon is at x=-276514, y=2995794 +Sensor at x=3094465, y=2478570: closest beacon is at x=3444765, y=2347460 +Sensor at x=806671, y=228252: closest beacon is at x=-281319, y=668868 +Sensor at x=3011731, y=1976307: closest beacon is at x=2729595, y=2000000 \ No newline at end of file diff --git a/main.go b/main.go index 62eb7a0..cb9219b 100644 --- a/main.go +++ b/main.go @@ -23,6 +23,7 @@ func main() { 10: {AOC2022101, AOC2022102}, 12: {AOC2022121, AOC2022122}, 14: {AOC2022141, AOC2022142}, + 15: {AOC2022151}, } days := []int{} for day := range tasks {