From 89fec76364cb923e4c509698f0889259d973a38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobos=20=C3=81d=C3=A1m?= Date: Thu, 22 Dec 2022 14:54:49 +0100 Subject: [PATCH] Day18 --- day18/cubes | Bin 0 -> 20328 bytes day18/cubes.c | 167 ++++ day18/input.txt | 2159 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2326 insertions(+) create mode 100755 day18/cubes create mode 100644 day18/cubes.c create mode 100644 day18/input.txt diff --git a/day18/cubes b/day18/cubes new file mode 100755 index 0000000000000000000000000000000000000000..8154ae76060bff21dd2aa69551ce635ec25416a5 GIT binary patch literal 20328 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 literal 0 HcmV?d00001 diff --git a/day18/cubes.c b/day18/cubes.c new file mode 100644 index 0000000..f6b80ae --- /dev/null +++ b/day18/cubes.c @@ -0,0 +1,167 @@ +#include +#include +#include + +#define BUFFER_SIZE 64 +#define MAX_CUBES 4096 +#define MAX_SCAN 16*1024 + +#define diff(a,b) (abs(a-b)) + +int main() { + char buf[BUFFER_SIZE], *p, c; + memset(buf, 0, BUFFER_SIZE); + p = buf; + int cubes[MAX_CUBES][3], cubeCount = 0; + + while ((c = getchar()) != EOF) { + *p++ = c; + if (c == '\n') { + sscanf(buf, "%i,%i,%i", &cubes[cubeCount][0], &cubes[cubeCount][1], &cubes[cubeCount][2]); + cubeCount++; + memset(buf, 0, BUFFER_SIZE); + p = buf; + } + } + + int matches = 0; + + for (int i = 0; i < cubeCount; i++) { + matches += 6; + for (int j = 0; j < cubeCount; j++) { + if (diff(cubes[i][0],cubes[j][0]) + diff(cubes[i][1], cubes[j][1]) + diff(cubes[i][2], cubes[j][2]) == 1) { + matches--; + } + } + } + + printf("%i\n", matches); + + int maxX = 0, maxY = 0, maxZ= 0; + for (int i = 0; i < cubeCount; i++) { + if (cubes[i][0] > maxX) { + maxX = cubes[i][0]; + } + if (cubes[i][1] > maxY) { + maxY = cubes[i][1]; + } + if (cubes[i][2] > maxZ) { + maxZ = cubes[i][2]; + } + } + // Create a 3D cubeMap + int ***cubeMap = (int***)malloc((maxX+3) * sizeof(int**)); + for (int i = 0; i < maxX + 3; i++) { + cubeMap[i] = (int**)malloc((maxY+3) * sizeof(int*)); + for (int j = 0; j < maxY+3; j++) { + cubeMap[i][j] = (int*)malloc((maxZ+3) * sizeof(int)); + memset(cubeMap[i][j], 0, (maxZ+3)*sizeof(int)); + } + } + + // Fill map + for (int i = 0; i < cubeCount; i++) { + cubeMap[cubes[i][0]+1][cubes[i][1]+1][cubes[i][2]+1] = 1; + } + + int sides[6][3] = { + {1,0,0}, + {-1,0,0}, + {0,1,0}, + {0,-1,0}, + {0,0,1}, + {0,0,-1}, + }; + //Rescan cubes + matches = 0; + for (int i = 0; i < cubeCount; i++) { + matches += 6; + for (int j = 0; j < 6; j++) { + if (cubeMap[cubes[i][0]+sides[j][0]+1][cubes[i][1]+sides[j][1]+1][cubes[i][2]+sides[j][2]+1] == 1) { + matches--; + } else if (cubeMap[cubes[i][0]+sides[j][0]+1][cubes[i][1]+sides[j][1]+1][cubes[i][2]+sides[j][2]+1] == 2) { + continue; + } else { + // Else check if point 0,0,0 is reachable + int fifo[MAX_SCAN][3], scanned[MAX_SCAN][3]; + int fifo_count = 0, scanned_count = 0; + + fifo[fifo_count][0] = cubes[i][0]+sides[j][0]+1; + fifo[fifo_count][1] = cubes[i][1]+sides[j][1]+1; + fifo[fifo_count][2] = cubes[i][2]+sides[j][2]+1; + fifo_count++; + + do { + scanned[scanned_count][0] = fifo[0][0]; + scanned[scanned_count][1] = fifo[0][1]; + scanned[scanned_count][2] = fifo[0][2]; + scanned_count++; + + for (int k = 0; k < fifo_count - 1; k++) { + fifo[k][0] = fifo[k+1][0]; + fifo[k][1] = fifo[k+1][1]; + fifo[k][2] = fifo[k+1][2]; + } + fifo_count--; + + // Check each side + for (int k = 0; k < 6; k++) { + int x = scanned[scanned_count-1][0] + sides[k][0]; + int y = scanned[scanned_count-1][1] + sides[k][1]; + int z = scanned[scanned_count-1][2] + sides[k][2]; + + if (x < 0 || y < 0 || z < 0 || x > maxX + 2 || y > maxY + 2 || z > maxZ + 2 || cubeMap[x][y][z] == 1) { + continue; + } + + if (x == 0 && y == 0 && z == 0) { + fifo_count = -1; + break; + } + + int toBreak = 0; + for (int l = 0; l < scanned_count; l++) { + if (scanned[l][0] == x && scanned[l][1] == y && scanned[l][2] == z) { + toBreak = 1; + break; + } + } + for (int l = 0; l < fifo_count; l++) { + if (fifo[l][0] == x && fifo[l][1] == y && fifo[l][2] == z) { + toBreak = 1; + break; + } + } + if (toBreak) { + continue; + } + fifo[fifo_count][0] = x; + fifo[fifo_count][1] = y; + fifo[fifo_count][2] = z; + fifo_count++; + } + } while(fifo_count > 0); + if (fifo_count != -1) { + matches--; + for (int k = 0; k < scanned_count; k++) { + cubeMap[scanned[k][0]][scanned[k][1]][scanned[k][2]] = 1; + } + } else { + for (int k = 0; k < scanned_count; k++) { + cubeMap[scanned[k][0]][scanned[k][1]][scanned[k][2]] = 2; + } + } + } + } + } + + printf("%i\n", matches); + + for (int i = 0; i < maxX + 2; i++) { + for (int j = 0; j < maxY+2; j++) { + free(cubeMap[i][j]); + } + free(cubeMap[i]); + } + free(cubeMap); +} diff --git a/day18/input.txt b/day18/input.txt new file mode 100644 index 0000000..913245a --- /dev/null +++ b/day18/input.txt @@ -0,0 +1,2159 @@ +7,16,8 +9,12,17 +9,5,3 +2,6,12 +10,7,16 +2,11,14 +8,4,5 +7,17,9 +12,1,10 +9,14,16 +16,8,8 +12,8,3 +11,4,15 +12,7,3 +14,15,11 +2,11,10 +15,5,8 +6,7,3 +18,9,7 +17,12,8 +7,8,3 +3,9,9 +4,13,13 +13,15,5 +2,11,11 +9,13,3 +15,4,12 +18,9,10 +14,9,16 +9,13,1 +3,8,12 +9,5,15 +15,8,5 +1,11,12 +10,11,2 +18,9,9 +10,15,5 +8,11,3 +8,15,15 +2,10,13 +8,17,6 +13,16,5 +15,12,12 +12,2,12 +10,13,3 +5,15,10 +9,4,15 +15,5,7 +11,12,16 +16,10,5 +7,15,3 +10,2,6 +9,16,11 +12,7,4 +18,11,11 +11,15,5 +5,9,6 +10,2,11 +3,9,14 +12,8,2 +3,15,11 +10,6,17 +15,14,9 +2,7,14 +12,2,8 +11,6,2 +12,14,5 +4,15,11 +11,3,8 +6,6,5 +15,14,15 +17,11,8 +8,3,5 +13,4,3 +6,14,15 +4,9,15 +15,3,8 +13,14,14 +5,10,16 +2,11,5 +9,7,17 +14,15,4 +16,11,14 +5,9,17 +9,16,14 +11,4,4 +10,10,0 +12,16,12 +18,9,8 +4,6,6 +12,14,16 +16,9,7 +15,11,4 +15,13,7 +2,7,11 +11,14,5 +4,4,7 +16,12,6 +7,4,14 +8,3,15 +16,10,12 +13,2,8 +6,4,5 +13,4,12 +11,10,1 +11,11,17 +10,13,18 +16,13,13 +13,16,12 +2,8,12 +13,2,10 +14,2,9 +3,13,14 +15,15,8 +8,10,1 +11,14,2 +12,3,9 +8,7,16 +13,3,6 +17,10,11 +7,12,1 +5,8,16 +12,9,17 +6,5,5 +8,14,3 +12,6,5 +15,14,7 +14,10,3 +6,4,16 +12,9,3 +15,3,10 +9,11,18 +17,12,5 +3,8,14 +10,13,16 +6,16,10 +8,16,4 +17,7,13 +17,11,7 +2,10,7 +10,8,17 +18,8,11 +14,14,6 +3,5,7 +12,4,12 +14,4,8 +5,5,6 +4,14,13 +9,16,5 +15,12,4 +3,15,10 +12,4,15 +7,6,17 +11,2,10 +12,3,13 +4,14,10 +9,16,8 +3,14,12 +7,16,6 +18,12,10 +3,6,10 +13,8,16 +5,3,12 +5,11,2 +13,16,13 +13,7,3 +13,14,15 +17,9,7 +10,15,4 +15,15,13 +5,13,16 +15,4,8 +13,3,12 +7,7,4 +11,17,7 +4,5,11 +12,4,6 +12,10,1 +11,5,3 +8,16,7 +6,16,7 +18,11,9 +13,15,14 +3,10,13 +14,13,6 +8,6,4 +2,14,12 +15,7,4 +16,8,14 +12,14,4 +4,10,15 +17,9,13 +15,15,7 +11,14,16 +15,5,12 +10,18,12 +17,4,12 +16,13,5 +3,11,15 +10,1,7 +17,9,14 +8,5,15 +14,13,8 +14,13,5 +11,13,16 +14,6,9 +17,11,13 +7,3,6 +9,5,16 +8,3,7 +9,17,11 +7,13,4 +9,1,9 +9,4,6 +9,15,15 +11,13,17 +12,7,2 +4,11,3 +9,6,4 +5,5,4 +3,15,7 +12,16,11 +3,13,13 +16,8,6 +16,3,10 +11,3,10 +9,12,16 +7,15,14 +6,4,9 +10,3,14 +17,10,14 +9,12,18 +16,14,11 +9,15,16 +5,16,10 +6,8,2 +2,7,6 +6,6,3 +5,15,9 +9,12,1 +9,4,5 +14,13,4 +9,17,7 +3,8,11 +5,12,13 +1,7,9 +16,14,6 +5,16,8 +16,4,7 +18,8,7 +8,2,13 +16,8,4 +14,5,11 +3,6,6 +2,12,9 +10,3,15 +5,14,9 +15,7,8 +17,8,7 +12,10,3 +14,3,7 +5,8,15 +3,11,14 +15,12,14 +9,13,2 +14,13,14 +7,10,2 +2,8,7 +14,15,12 +10,17,11 +9,4,13 +14,16,10 +3,12,9 +10,5,16 +12,15,14 +16,7,14 +7,13,16 +9,16,10 +11,2,13 +11,11,15 +10,14,3 +10,4,14 +5,14,12 +6,17,11 +7,5,4 +17,12,12 +7,14,2 +13,10,2 +7,8,17 +6,2,9 +2,10,6 +6,5,14 +9,2,9 +10,5,3 +10,11,16 +13,12,3 +14,4,4 +7,5,3 +16,7,5 +15,9,7 +17,8,6 +7,6,5 +13,14,11 +5,5,15 +4,5,6 +4,6,4 +7,4,13 +16,10,14 +2,12,11 +3,10,5 +14,9,3 +3,10,4 +11,9,18 +11,3,14 +10,17,10 +8,17,7 +10,4,15 +16,11,6 +13,14,3 +5,15,8 +9,13,16 +5,4,8 +14,3,11 +14,14,13 +18,8,9 +7,2,8 +14,16,11 +14,13,13 +6,8,4 +15,9,4 +13,17,7 +10,16,14 +17,9,11 +14,9,2 +5,9,3 +14,9,4 +5,6,15 +10,10,3 +11,16,12 +5,9,4 +13,12,5 +2,6,9 +6,12,15 +6,15,14 +3,11,13 +4,5,7 +17,10,5 +3,13,8 +14,4,10 +17,9,12 +1,9,10 +6,9,2 +7,7,15 +12,13,3 +10,16,5 +6,6,15 +9,5,4 +17,9,8 +15,4,7 +5,9,16 +5,8,3 +3,12,8 +5,3,9 +3,13,7 +9,3,14 +2,6,10 +9,17,12 +17,7,8 +11,16,13 +13,16,7 +11,7,2 +5,7,5 +11,1,10 +3,14,11 +4,5,12 +12,17,13 +13,5,5 +12,18,10 +4,12,6 +3,10,12 +4,15,10 +10,3,12 +14,12,4 +12,3,7 +3,9,12 +4,14,5 +8,4,4 +11,2,9 +10,6,16 +14,16,12 +7,5,7 +5,14,5 +5,5,5 +12,3,15 +7,11,1 +5,7,14 +12,13,16 +5,6,14 +3,5,10 +3,12,12 +10,16,12 +13,16,6 +10,2,5 +9,9,17 +12,13,4 +7,1,8 +5,4,12 +16,6,6 +16,7,10 +8,15,14 +14,16,7 +14,8,15 +14,15,3 +5,15,13 +2,10,8 +1,5,10 +2,8,9 +6,16,9 +5,13,4 +14,11,15 +13,10,16 +13,7,16 +15,7,3 +11,12,3 +6,3,6 +5,18,7 +2,9,7 +8,8,2 +14,12,17 +14,13,3 +10,5,5 +18,7,10 +5,8,2 +13,15,12 +14,6,10 +3,7,5 +14,3,10 +15,6,5 +16,4,10 +3,12,10 +5,10,3 +2,7,10 +7,13,3 +4,4,13 +12,9,16 +5,16,11 +5,6,13 +17,6,8 +4,13,4 +3,5,11 +12,16,7 +11,15,12 +4,15,9 +11,5,16 +3,10,15 +11,3,5 +6,13,16 +8,12,2 +9,11,1 +11,9,17 +4,5,9 +14,4,13 +11,2,12 +2,7,7 +14,4,9 +4,4,14 +7,17,13 +10,3,3 +3,5,8 +12,13,14 +5,16,5 +12,11,17 +2,11,13 +9,3,7 +12,3,8 +12,18,9 +17,14,8 +2,12,6 +7,17,12 +10,12,4 +11,7,15 +1,9,8 +17,5,9 +15,12,6 +5,5,7 +16,12,15 +4,14,7 +7,17,8 +4,13,14 +14,9,10 +12,14,3 +8,16,5 +7,11,4 +2,7,9 +12,5,15 +14,13,17 +3,3,10 +7,5,14 +1,12,8 +5,4,10 +1,8,11 +4,8,5 +10,14,17 +16,5,14 +9,6,17 +7,1,10 +6,11,2 +12,11,3 +16,7,13 +13,8,2 +4,6,8 +6,2,7 +9,3,15 +9,10,18 +6,3,8 +13,17,8 +16,6,7 +11,8,17 +8,6,16 +7,15,6 +2,13,7 +7,3,14 +8,3,12 +11,17,8 +2,11,12 +17,6,12 +13,4,8 +9,8,1 +8,17,5 +17,10,6 +10,17,8 +14,7,15 +7,17,10 +7,5,5 +8,10,17 +6,3,10 +15,3,9 +10,3,4 +4,4,6 +3,8,10 +5,4,11 +3,8,5 +6,9,3 +11,2,14 +16,5,9 +8,2,8 +14,12,3 +11,9,3 +4,3,11 +9,3,8 +15,3,11 +15,12,15 +16,14,5 +3,16,9 +8,5,3 +3,15,8 +14,15,15 +12,17,8 +9,2,14 +11,7,1 +7,8,16 +16,7,15 +3,4,9 +6,3,12 +6,14,5 +10,13,15 +11,3,13 +3,8,15 +18,7,9 +11,5,15 +14,8,4 +10,5,2 +3,14,8 +3,7,11 +1,13,9 +15,13,10 +17,14,12 +10,13,4 +7,3,11 +10,2,14 +2,6,8 +9,3,5 +5,16,13 +4,14,9 +6,15,6 +15,2,7 +3,9,6 +15,9,6 +5,4,6 +6,11,15 +10,18,8 +11,11,1 +16,12,5 +5,13,5 +3,8,7 +2,8,13 +11,4,14 +15,16,11 +13,2,11 +7,4,5 +13,16,15 +10,12,2 +8,6,17 +15,7,6 +13,4,9 +15,5,14 +7,11,18 +12,3,12 +12,12,2 +11,12,2 +15,13,15 +6,10,17 +3,12,14 +15,16,9 +18,13,11 +12,8,16 +15,9,15 +10,13,17 +13,4,13 +16,9,14 +16,4,12 +13,15,15 +10,17,5 +13,12,15 +16,14,12 +5,11,16 +3,11,7 +16,12,8 +16,15,9 +16,12,13 +7,3,9 +8,15,6 +8,9,2 +13,10,3 +15,15,5 +17,7,11 +13,7,4 +4,14,8 +14,2,8 +12,17,12 +8,13,15 +5,14,14 +10,4,11 +6,12,4 +13,6,5 +8,2,12 +4,11,14 +7,6,3 +15,15,10 +16,11,4 +7,10,4 +5,10,17 +14,13,15 +2,9,10 +5,13,12 +7,2,13 +16,8,7 +14,3,9 +2,10,10 +2,6,5 +7,17,6 +9,2,10 +11,8,2 +7,2,11 +3,4,13 +9,14,13 +3,7,7 +9,9,1 +4,9,4 +6,3,7 +5,5,14 +9,13,17 +17,11,5 +2,8,8 +6,12,2 +15,11,5 +11,17,12 +9,13,4 +7,7,3 +5,6,8 +16,12,7 +4,14,4 +13,4,10 +8,14,5 +5,12,15 +7,14,14 +4,10,16 +14,4,7 +16,8,5 +15,15,11 +8,8,16 +15,11,15 +16,10,8 +3,7,4 +15,13,6 +16,15,10 +6,4,3 +14,10,14 +15,5,5 +8,16,14 +12,2,7 +3,11,11 +16,10,3 +2,12,10 +9,18,10 +13,6,14 +5,4,15 +9,8,2 +1,11,9 +16,8,11 +6,2,10 +12,16,13 +16,5,10 +5,3,11 +17,12,9 +14,11,14 +9,9,18 +15,13,5 +17,7,12 +12,2,13 +4,8,7 +13,6,16 +15,7,5 +14,15,7 +12,17,5 +8,11,17 +14,10,4 +11,6,16 +9,17,6 +12,7,16 +14,7,4 +16,7,7 +4,14,15 +14,10,15 +12,14,15 +6,17,13 +14,4,6 +13,15,9 +10,1,10 +15,4,10 +5,16,9 +14,4,14 +10,3,5 +4,13,15 +12,2,10 +8,9,3 +9,1,10 +6,4,4 +4,7,4 +7,9,4 +4,11,15 +7,16,5 +4,12,12 +10,2,10 +13,13,3 +10,17,4 +8,16,15 +2,7,13 +14,8,16 +6,11,16 +11,13,1 +6,16,13 +13,6,6 +3,11,3 +13,16,8 +8,4,14 +11,15,11 +14,15,8 +14,6,4 +8,16,13 +8,15,16 +15,14,13 +14,14,12 +10,17,6 +11,16,11 +2,11,7 +4,14,12 +11,15,3 +7,2,7 +18,12,8 +14,15,10 +6,11,4 +7,10,16 +9,7,16 +7,14,3 +13,12,4 +15,8,14 +5,15,6 +12,10,17 +12,10,2 +14,11,16 +7,16,7 +8,17,9 +4,7,15 +1,7,10 +14,14,4 +14,2,10 +17,8,5 +9,15,13 +12,10,16 +3,15,5 +13,8,3 +10,6,2 +9,6,13 +17,8,13 +11,10,17 +14,4,5 +3,7,6 +4,6,11 +13,7,2 +7,11,2 +2,7,12 +3,13,12 +10,17,14 +8,2,6 +6,13,5 +7,17,7 +5,8,4 +15,10,4 +11,2,8 +13,17,13 +10,15,14 +17,10,7 +7,15,13 +11,16,14 +16,8,10 +11,17,10 +8,4,11 +10,17,9 +14,14,10 +10,6,18 +17,9,6 +13,3,5 +13,4,15 +7,4,3 +5,4,7 +3,6,12 +4,11,2 +10,4,5 +11,6,15 +6,7,5 +11,17,15 +5,14,10 +13,16,11 +5,13,14 +10,2,7 +3,13,5 +16,13,10 +5,16,12 +17,12,11 +5,8,5 +16,14,8 +2,12,8 +6,17,7 +11,2,6 +15,8,3 +5,17,11 +14,14,3 +1,12,9 +5,17,10 +12,5,14 +10,2,13 +11,12,1 +17,7,9 +5,13,15 +4,3,12 +2,9,13 +17,8,11 +11,2,11 +6,16,8 +3,12,15 +16,4,9 +17,13,12 +8,13,17 +3,5,9 +11,18,11 +6,17,6 +11,13,15 +11,3,12 +15,16,10 +16,16,8 +13,11,3 +5,5,12 +15,9,14 +11,15,15 +7,3,5 +17,10,9 +8,3,11 +14,12,14 +16,13,11 +5,4,5 +7,16,11 +14,4,12 +9,2,11 +4,16,12 +15,16,8 +16,7,11 +11,10,18 +12,5,6 +13,11,16 +15,10,14 +6,17,10 +5,9,12 +10,17,13 +8,9,18 +13,11,14 +15,6,13 +7,5,15 +14,12,5 +10,9,1 +6,11,3 +2,5,11 +3,14,10 +11,16,6 +16,5,8 +7,17,14 +3,9,13 +16,10,7 +7,12,2 +3,6,13 +14,9,15 +13,1,9 +7,9,17 +2,11,9 +13,6,13 +19,9,9 +10,16,15 +6,16,6 +7,3,13 +9,2,7 +2,6,11 +12,3,4 +4,5,14 +13,6,3 +10,9,17 +9,11,16 +15,5,13 +13,7,13 +8,2,10 +7,8,18 +12,4,5 +4,15,6 +3,11,4 +7,4,6 +6,6,16 +15,11,3 +2,13,11 +5,15,14 +6,8,3 +4,7,5 +5,7,2 +4,4,10 +11,14,15 +8,17,12 +9,18,6 +3,8,6 +6,10,1 +5,11,3 +13,17,9 +6,16,5 +10,4,3 +13,2,13 +7,16,4 +14,6,6 +17,5,12 +4,8,3 +6,14,16 +13,3,8 +16,6,8 +16,10,4 +15,13,12 +4,12,16 +11,4,16 +17,8,12 +12,15,5 +14,7,17 +7,9,3 +8,4,15 +4,16,7 +13,10,17 +2,13,8 +13,14,12 +7,4,7 +13,12,2 +12,17,10 +12,5,4 +16,9,4 +6,7,2 +15,13,14 +12,13,2 +11,7,16 +8,2,5 +7,10,3 +2,12,7 +7,11,17 +8,5,4 +12,17,7 +13,16,10 +8,10,3 +17,6,10 +17,8,10 +10,11,19 +17,6,11 +6,12,3 +10,13,1 +5,13,3 +9,15,14 +10,3,7 +3,13,6 +15,16,7 +15,15,12 +12,3,14 +15,5,6 +6,3,13 +8,14,16 +17,14,11 +13,11,2 +14,10,16 +5,3,5 +16,14,7 +12,5,16 +15,3,7 +9,1,8 +7,16,10 +3,7,14 +9,3,6 +9,1,11 +13,13,14 +6,15,15 +5,17,9 +14,10,5 +15,7,15 +2,9,6 +16,6,5 +16,7,8 +10,1,12 +15,11,14 +10,7,1 +5,12,11 +15,14,5 +4,10,8 +13,7,15 +9,16,4 +12,7,17 +7,4,15 +11,16,8 +15,14,6 +10,18,13 +8,9,1 +14,3,12 +2,11,6 +4,15,5 +16,12,11 +6,6,14 +5,15,5 +11,16,5 +12,4,4 +4,10,13 +15,15,14 +13,6,12 +8,12,17 +10,3,8 +6,10,3 +13,18,10 +6,17,9 +2,9,12 +18,8,10 +14,4,11 +6,13,17 +16,3,9 +16,15,7 +13,9,16 +15,4,13 +14,5,7 +14,8,2 +16,14,9 +9,2,12 +3,8,4 +18,9,12 +14,16,4 +13,2,9 +3,12,7 +11,13,3 +10,18,11 +6,12,16 +5,9,5 +9,18,7 +14,12,13 +6,15,8 +10,14,4 +13,15,3 +11,18,12 +2,11,8 +13,17,11 +14,8,17 +17,11,12 +6,5,4 +12,5,17 +10,7,17 +12,16,5 +7,18,8 +15,9,5 +1,8,10 +8,16,9 +9,5,2 +6,17,12 +4,4,12 +9,15,11 +9,14,3 +10,5,17 +2,12,13 +10,14,16 +13,7,5 +10,14,15 +7,4,4 +8,11,1 +4,14,14 +4,11,13 +14,11,3 +8,3,6 +8,3,13 +5,7,15 +4,12,13 +5,6,6 +3,6,5 +17,6,7 +14,8,3 +14,12,15 +6,15,16 +6,2,14 +12,4,13 +12,13,5 +8,5,16 +10,2,8 +11,17,9 +7,7,16 +11,8,3 +8,4,16 +1,10,7 +8,13,3 +7,9,2 +2,6,14 +6,17,8 +7,12,4 +3,10,9 +6,13,6 +13,5,2 +16,6,13 +15,15,9 +15,10,5 +8,15,5 +11,10,2 +15,10,3 +15,13,4 +8,13,14 +15,10,6 +2,14,10 +15,13,8 +10,2,9 +12,18,8 +16,7,9 +15,9,16 +6,9,4 +4,16,9 +2,13,9 +18,8,12 +1,8,12 +8,7,2 +8,3,16 +7,2,6 +6,4,12 +8,12,18 +13,5,6 +3,12,5 +9,3,10 +12,13,15 +2,14,8 +10,1,11 +8,16,8 +11,7,17 +12,6,2 +11,16,4 +17,11,11 +1,10,11 +12,9,2 +11,10,3 +15,4,9 +8,15,2 +12,9,5 +4,11,4 +13,3,10 +17,9,9 +10,15,15 +9,10,1 +14,5,4 +16,10,13 +7,12,16 +13,15,6 +14,13,11 +17,13,10 +15,8,4 +10,11,17 +12,17,9 +11,15,17 +6,11,17 +18,11,7 +4,4,9 +7,3,12 +10,1,9 +10,16,6 +16,11,12 +4,3,10 +16,6,11 +13,12,16 +4,4,8 +8,4,9 +17,13,11 +1,8,7 +6,16,12 +4,14,6 +15,9,8 +15,10,11 +8,16,10 +4,12,14 +14,13,16 +4,16,8 +13,9,18 +8,17,8 +14,6,3 +7,9,16 +10,2,12 +5,4,9 +12,17,11 +12,3,6 +5,9,15 +17,11,9 +4,8,15 +9,9,2 +9,19,10 +6,5,3 +2,7,8 +13,7,17 +9,14,2 +5,3,10 +6,15,4 +7,16,15 +18,10,10 +17,12,10 +13,14,16 +2,9,11 +9,10,17 +3,11,10 +9,4,3 +6,6,4 +17,4,7 +8,13,16 +10,4,13 +8,14,4 +13,3,13 +14,5,8 +13,16,9 +12,9,1 +4,15,7 +9,17,5 +12,15,4 +4,13,5 +15,17,13 +14,16,13 +15,6,10 +12,8,17 +5,12,12 +3,10,11 +11,3,16 +7,2,12 +12,9,18 +11,4,6 +6,1,10 +17,10,12 +10,18,10 +6,9,15 +14,16,8 +9,18,9 +6,7,16 +14,3,6 +18,8,8 +10,11,3 +14,6,5 +7,9,15 +3,6,11 +13,3,14 +3,11,6 +10,6,14 +9,6,2 +12,16,10 +6,8,16 +17,9,10 +4,9,16 +9,14,7 +8,2,11 +9,17,13 +3,13,10 +5,2,7 +7,5,16 +7,10,1 +2,9,8 +4,7,6 +11,3,9 +10,17,12 +13,4,7 +4,13,10 +8,9,17 +10,15,10 +17,7,15 +5,18,10 +4,5,8 +13,15,13 +7,15,4 +16,4,8 +4,16,10 +12,6,16 +5,2,11 +6,15,9 +3,14,13 +4,12,15 +14,17,8 +8,8,17 +13,15,4 +11,7,18 +11,9,1 +5,14,7 +9,8,17 +3,8,8 +11,16,10 +3,11,8 +1,10,8 +3,15,9 +13,4,5 +8,11,2 +11,2,7 +2,13,6 +11,11,2 +15,9,3 +3,14,9 +7,15,16 +15,2,8 +5,4,13 +3,12,11 +9,17,8 +10,15,16 +8,15,13 +16,4,6 +6,13,15 +11,15,10 +16,3,11 +5,12,16 +10,10,1 +6,4,14 +11,5,14 +13,11,17 +11,17,11 +12,11,2 +5,6,16 +12,3,11 +7,12,17 +17,8,9 +8,17,11 +9,17,10 +12,7,18 +6,10,16 +8,16,3 +9,16,13 +2,9,9 +6,4,10 +10,15,6 +6,7,13 +14,8,14 +11,3,6 +11,3,11 +8,4,10 +11,15,4 +8,9,14 +14,5,12 +11,8,18 +7,12,3 +12,3,10 +2,5,7 +8,18,8 +6,2,6 +15,3,6 +9,5,12 +6,3,4 +4,12,7 +4,9,17 +8,6,1 +6,16,14 +4,8,4 +6,13,3 +17,13,13 +5,12,3 +8,9,16 +15,7,10 +10,3,6 +9,6,16 +9,16,6 +2,12,12 +6,9,16 +14,12,16 +11,3,15 +3,12,13 +4,5,5 +3,4,12 +1,11,8 +3,10,7 +12,15,6 +13,9,15 +15,10,13 +3,4,10 +5,7,4 +16,5,7 +10,6,3 +6,15,13 +6,16,11 +10,12,3 +8,7,18 +9,16,12 +18,10,9 +4,5,15 +9,7,2 +7,6,4 +13,3,7 +11,5,17 +14,6,16 +13,6,4 +4,8,16 +3,9,15 +8,17,13 +14,16,9 +17,7,7 +4,11,6 +12,12,16 +8,15,7 +17,13,6 +1,9,6 +14,10,17 +13,13,16 +12,6,6 +5,11,4 +5,10,4 +7,13,17 +4,6,7 +6,3,14 +4,9,5 +9,3,9 +9,12,3 +18,12,11 +6,2,12 +4,10,6 +16,13,8 +11,18,10 +5,15,4 +10,16,9 +10,4,4 +16,5,11 +9,16,7 +2,9,5 +1,11,6 +2,8,11 +15,6,15 +7,11,16 +17,13,8 +7,7,2 +15,10,16 +15,9,2 +16,12,3 +15,6,14 +2,10,11 +12,16,9 +15,4,11 +16,10,11 +8,15,4 +3,6,9 +7,6,2 +17,10,8 +8,10,2 +4,9,2 +13,8,18 +11,4,5 +3,6,8 +13,12,13 +1,10,9 +9,1,13 +9,12,2 +4,4,11 +3,9,7 +11,16,9 +6,5,15 +15,17,8 +15,7,12 +13,13,15 +8,3,4 +5,7,3 +4,6,12 +7,2,9 +9,6,1 +8,4,3 +11,17,4 +4,7,3 +17,5,11 +12,18,11 +12,8,18 +7,6,16 +13,11,15 +12,2,9 +16,13,7 +16,13,15 +12,15,15 +4,6,15 +11,9,16 +14,14,15 +4,8,14 +12,6,4 +5,14,13 +11,9,2 +1,8,8 +4,14,3 +10,5,14 +12,6,15 +15,10,15 +10,17,7 +16,10,6 +7,7,17 +16,6,10 +2,13,13 +15,12,5 +8,2,7 +15,8,13 +3,5,6 +16,14,10 +11,15,13 +13,13,12 +8,2,9 +15,12,13 +15,14,10 +7,2,10 +17,9,5 +10,9,18 +1,11,10 +14,15,14 +12,4,8 +5,4,14 +9,2,8 +15,12,3 +11,7,3 +3,10,10 +5,15,12 +1,7,11 +8,8,3 +5,3,7 +14,15,5 +11,17,13 +14,10,2 +5,3,14 +10,7,2 +17,11,10 +6,2,8 +7,16,9 +10,9,2 +2,13,5 +15,7,16 +13,14,13 +15,10,7 +3,7,10 +16,15,8 +16,7,12 +9,16,16 +15,14,12 +5,10,5 +12,15,16 +7,3,15 +7,14,15 +9,1,7 +13,2,12 +16,9,13 +4,13,6 +11,14,6 +18,6,11 +16,14,4 +15,9,13 +2,13,12 +8,18,10 +15,11,6 +9,7,18 +11,6,17 +13,15,16 +12,5,3 +9,9,19 +12,6,14 +17,11,6 +11,4,7 +9,4,4 +14,3,13 +13,4,6 +14,3,5 +17,6,9 +1,8,9 +14,8,13 +16,11,8 +12,16,6 +11,5,4 +11,12,17 +15,6,6 +16,13,12 +13,8,17 +8,12,3 +14,15,6 +6,12,5 +16,14,14 +11,14,14 +5,12,14 +16,5,12 +3,4,11 +5,16,7 +3,7,13 +12,14,13 +9,9,16 +2,13,14 +8,7,17 +1,10,10 +6,9,17 +11,11,16 +5,5,13 +9,4,12 +10,0,9 +13,14,5 +4,10,3 +8,5,5 +15,13,11 +4,7,12 +16,8,12 +3,10,3 +8,11,18 +14,8,5 +11,11,4 +15,7,13 +17,10,13 +10,10,18 +14,13,12 +6,5,16 +11,8,16 +8,5,14 +10,8,2 +8,11,16 +16,5,13 +7,4,16 +6,13,14 +9,13,15 +1,10,14 +9,3,11 +5,9,14 +17,7,10 +16,6,14 +8,13,4 +3,4,7 +7,15,5 +4,4,15 +7,5,13 +11,15,6 +13,17,10 +9,5,5 +8,16,12 +16,9,5 +9,7,4 +5,11,14 +3,3,8 +15,2,9 +9,18,11 +6,16,4 +3,14,14 +12,16,14 +4,13,11 +9,13,18 +4,8,6 +14,2,11 +8,1,9 +2,8,5 +12,5,2 +9,4,14 +2,8,14 +12,17,6 +4,15,13 +10,16,8 +18,11,10 +13,5,16 +16,11,9 +8,1,7 +16,16,11 +4,14,11 +10,12,17 +6,5,11 +9,6,18 +13,6,2 +1,12,12 +13,14,6 +3,7,15 +12,4,3 +12,15,7 +6,14,7 +2,6,7 +6,6,13 +12,1,9 +10,16,4 +6,14,6 +6,15,12 +12,5,5 +14,5,6 +6,6,6 +3,9,11 +5,14,6 +7,18,10 +6,8,17 +16,13,6 +17,4,8 +12,11,4 +16,9,12 +10,18,9 +5,5,16 +10,16,13 +9,16,15 +18,12,13 +5,14,15 +16,12,10 +8,8,1 +5,13,13 +5,9,2 +10,6,4 +5,10,15 +4,6,14 +12,15,13 +18,10,8 +10,8,16 +10,5,15 +14,5,14 +15,12,7 +15,8,15 +11,6,3 +15,10,9 +18,13,9 +7,10,15 +12,15,12 +4,7,13 +10,16,11 +5,14,3 +15,7,14 +18,10,7 +9,11,2 +6,3,5 +9,6,3 +4,6,5 +14,4,15 +16,15,11 +4,12,4 +4,8,12 +17,10,10 +6,5,7 +13,6,17 +3,12,6 +11,17,6 +3,7,12 +3,10,6 +3,11,16 +3,14,7 +10,4,10 +7,2,14 +14,17,11 +14,6,13 +11,14,4 +6,7,15 +13,3,11 +8,18,13 +10,4,16 +4,7,7 +7,15,15 +16,14,13 +14,7,12 +9,4,16 +7,14,4 +16,15,12 +4,3,8 +8,8,18 +15,14,14 +15,14,4 +3,13,11 +10,1,13 +13,9,3 +11,11,3 +11,1,12 +5,12,6 +1,11,11 +4,12,3 +13,4,14 +10,3,13 +16,11,7 +18,6,10 +6,12,17 +10,14,14 +14,7,3 +15,14,11 +3,9,4 +4,5,13 +16,13,14 +16,6,9 +3,8,3 +15,8,6 +11,1,9 +9,17,4 +12,14,2 +11,11,18 +11,15,9 +6,10,15 +4,15,12 +5,12,4 +11,6,5 +13,15,10 +14,13,7 +17,12,6 +9,2,13 +10,13,2 +7,8,2 +15,6,4 +14,5,5 +9,18,8 +15,6,11 +13,9,2 +13,5,7 +7,2,5 +17,13,9 +5,14,4 +7,9,18 +7,3,8 +5,7,16 +15,11,2 +6,14,14 +10,12,16 +0,7,10 +15,12,10 +6,5,6 +12,8,1 +3,12,16 +10,16,3 +7,12,15 +9,15,5 +17,5,10 +5,5,9 +13,13,5 +10,0,8 +11,16,7 +6,14,3 +7,14,5 +10,5,4 +12,10,18 +7,14,16 +9,7,1 +6,3,11 +5,2,10 +16,5,6 +6,14,4 +8,7,3 +15,3,12 +19,10,12 +3,12,4 +9,5,14 +18,9,13 +12,12,17 +16,4,14 +16,9,9 +15,15,6 +10,11,18 +7,16,13 +3,5,12 +16,12,4 +7,17,11 +7,15,9 +13,14,4 +3,9,5 +7,5,6 +5,10,8 +10,10,17 +4,11,5 +5,2,9 +16,11,13 +2,13,10 +6,6,2 +6,13,4 +5,15,15 +7,8,15 +7,17,5 +14,14,8 +15,17,10 +6,8,5 +12,4,14 +16,9,15 +4,9,3 +3,11,12 +3,10,14 +17,14,10 +5,8,14 +3,6,14 +15,14,8 +17,5,8 +1,9,7 +11,1,8 +9,14,5 +14,12,7 +6,5,12 +5,2,12 +6,17,5 +6,18,7 +0,11,9 +13,5,12 +3,5,13 +2,10,12 +1,9,9 +5,15,7 +16,12,12 +16,9,6 +7,5,8 +8,8,15 +3,6,7 +14,5,15 +11,18,8 +13,9,17 +10,3,11 +17,6,13 +3,9,3 +6,8,14 +17,15,11 +4,15,8 +9,14,4 +4,3,9 +6,2,11 +9,3,3 +13,15,7 +13,5,17 +13,10,13 +8,16,6 +7,15,7 +6,10,13 +5,7,7 +17,14,9 +5,6,5 +11,13,2 +6,7,4 +19,8,11 +9,17,14 +12,2,5 +6,4,11 +16,9,16 +11,3,7 +13,15,8 +6,8,15 +0,10,8 +13,5,14 +12,11,15 +13,8,1 +10,7,15 +8,6,3 +13,10,18 +14,15,13 +9,1,12 +14,9,17 +17,14,14 +12,11,0 +10,7,3 +12,17,14 +2,8,10 +13,13,4 +8,5,17 +15,11,11 +17,13,7 +9,11,3 +10,1,8 +3,14,6 +15,8,16 +10,11,1 +6,7,17 +13,5,13 +7,1,9 +6,4,13 +13,5,4 +10,15,7 +9,3,12 +1,9,12 +1,12,7 +16,5,5 +6,14,17 +9,7,15 +6,2,13 +17,13,14 +7,7,18 +5,11,5 +5,13,6 +12,1,11 +7,18,11 +5,3,8 +12,12,4 +19,10,10 +4,6,13 +2,14,9 +9,4,9 +2,5,9 +7,11,3 +14,6,15 +18,11,8 +8,18,11 +17,12,13 +11,18,9 +13,10,4 +10,6,12 +9,8,18 +13,10,15 +9,2,6 +9,15,8 +11,1,7 +11,18,7 +9,10,2 +13,8,15 +8,1,8 +16,13,9 +15,11,16 +3,16,10 +10,15,3 +10,14,13 +3,13,9 +4,6,16 +6,15,7 +11,12,18 +8,2,14 +10,8,1 +7,3,10 +9,14,17 +3,7,8 +6,12,14 +14,6,14 +14,10,18 +10,8,3 +4,12,5 +17,11,4 +1,8,13 +9,2,15 +15,12,8 +8,7,15 +16,6,15 +4,13,7 +7,1,11 +13,2,14 +15,12,9 +7,6,15 +14,11,17 +15,5,11 +3,8,13 +17,8,8 +7,13,15 +7,10,17 +2,12,4 +14,14,11 +4,7,14 +10,19,11 +8,9,15 +14,16,5 +16,3,5 +13,14,7 +13,5,9 +8,7,4 +13,13,2 +2,10,9 +10,14,2 +8,17,10 +10,16,10 +8,4,6 +16,12,9 +17,12,7 +8,1,11 +7,18,9 +7,10,18 +17,10,4 +10,12,1 +12,13,17 +8,3,14 +10,10,16 +5,8,1 +17,6,6 +16,9,8 +13,15,11 +1,11,7 +8,15,3 +9,14,15 +10,2,15 +5,17,12 +6,14,13 +5,3,13 +16,9,10 +9,3,4 +9,9,5 +15,16,6 +4,13,8 +9,6,15 +12,16,8 +5,5,11 +11,4,13 +13,6,15 +16,6,12 +16,11,10 +13,13,17 +12,14,6 +8,3,10 +13,12,6 +14,9,13 +17,7,5 +14,7,16 +0,8,11 +11,16,15 +7,14,6 +11,5,5 +8,15,10 +12,16,15 +16,8,16 +15,5,4 +7,9,1 +8,4,13 +10,9,16 +5,2,6 +14,7,14 +8,4,7 +2,8,6 +13,8,4 +3,11,5 +6,15,5 +6,4,6 +13,5,3 +3,15,13 +15,12,16 +2,10,14 +5,10,2 +7,16,14 +2,14,11 +12,1,5 +7,16,12 +16,16,10 +11,6,4 +1,9,11 +14,14,5 +7,4,8 +16,10,10 +7,3,4 +5,17,8 +13,10,14 +18,14,9 +9,16,9 +5,16,6