From 408e422b7b77b6078ae0a809740ab108e86266b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobos=20=C3=81d=C3=A1m?= Date: Sat, 10 Dec 2022 18:18:29 +0100 Subject: [PATCH] Day5 --- day5/crates | Bin 0 -> 16392 bytes day5/crates.c | 93 +++++++++ day5/input.txt | 511 ++++++++++++++++++++++++++++++++++++++++++++++++ day5/inputc.txt | 511 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1115 insertions(+) create mode 100755 day5/crates create mode 100644 day5/crates.c create mode 100644 day5/input.txt create mode 100644 day5/inputc.txt diff --git a/day5/crates b/day5/crates new file mode 100755 index 0000000000000000000000000000000000000000..d3470ae70d90a3cd20c2e71ba1b904c62682bb8c GIT binary patch literal 16392 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 +#include +#include + +#define BUFFER_SIZE 64 +#define STACK_SIZE 64 + +typedef struct stackStruct { + char s[STACK_SIZE]; + char *h; +} stack; + +void cp(char*, stack*); +char pop(stack*); +void push(stack*, char); +void move_n(stack*, int, int, int); + +int main() { + char buf[BUFFER_SIZE], *p, c; + memset(buf, 0, BUFFER_SIZE); + p = buf; + int first = 1, numofstacks, counter = 0; + int moveCount, moveFrom, moveTo; + + stack *stacks; + + while ((c = getchar()) != EOF) { + *p++ = c; + if (c == '\n') { + if (first) { + first = 0; + sscanf(buf, "%i", &numofstacks); + stacks = (stack*)malloc(numofstacks * sizeof(stack)); + for (int i = 0; i < numofstacks; i++) { + memset(stacks[i].s, 0, STACK_SIZE); + stacks[i].h = stacks[i].s; + } + } else if (counter < numofstacks) { + cp(buf, &stacks[counter]); + counter++; + } else { + sscanf(buf, "move %i from %i to %i", &moveCount, &moveFrom, &moveTo); + + // First part + //for (int i = 0; i < moveCount; i++) { + // push(&stacks[moveTo - 1], pop(&stacks[moveFrom -1])); + //} + // + // Second part + move_n(stacks, moveCount, moveFrom-1, moveTo-1); + } + memset(buf, 0, BUFFER_SIZE); + p = buf; + } + } + + printf("Stacks:\n"); + for (int i = 0; i < numofstacks; i++) { + printf("%s\n", stacks[i].s); + } + printf("\nTop:\n"); + for (int i = 0; i < numofstacks; i++) { + printf("%c", *(stacks[i].h - 1)); + } + printf("\n"); + + free(stacks); +} + +void cp(char* p, stack* st) { + char *q = st->s; + while((*q++ = *p++) != '\n') {} + *(--q) = 0; + st->h = q; +} + +char pop(stack* st) { + char c = *(--st->h); + *st->h = 0; + return c; +} + +void push(stack* st, char c) { + *st->h++ = c; +} + +void move_n(stack* stacks, int count, int from, int to) { + for (int i = count; i > 0; i--) { + *stacks[to].h++ = *(stacks[from].h - i); + *(stacks[from].h - i) = 0; + } + stacks[from].h -= count; +} diff --git a/day5/input.txt b/day5/input.txt new file mode 100644 index 0000000..ba76f1e --- /dev/null +++ b/day5/input.txt @@ -0,0 +1,511 @@ +[V] [T] [J] +[Q] [M] [P] [Q] [J] +[W] [B] [N] [Q] [C] [T] +[M] [C] [F] [N] [G] [W] [G] +[B] [W] [J] [H] [L] [R] [B] [C] +[N] [R] [R] [W] [W] [W] [D] [N] [F] +[Z] [Z] [Q] [S] [F] [P] [B] [Q] [L] +[C] [H] [F] [Z] [G] [L] [V] [Z] [H] + 1 2 3 4 5 6 7 8 9 + +move 2 from 1 to 7 +move 6 from 2 to 6 +move 10 from 7 to 6 +move 4 from 3 to 1 +move 5 from 6 to 4 +move 1 from 1 to 9 +move 4 from 6 to 9 +move 12 from 4 to 1 +move 5 from 1 to 4 +move 7 from 9 to 8 +move 11 from 8 to 1 +move 6 from 6 to 2 +move 2 from 5 to 2 +move 3 from 6 to 3 +move 4 from 9 to 4 +move 2 from 2 to 5 +move 1 from 6 to 4 +move 3 from 3 to 6 +move 1 from 8 to 4 +move 1 from 6 to 1 +move 28 from 1 to 4 +move 28 from 4 to 5 +move 1 from 9 to 1 +move 4 from 4 to 1 +move 2 from 6 to 2 +move 2 from 1 to 6 +move 7 from 4 to 2 +move 14 from 2 to 9 +move 1 from 4 to 1 +move 1 from 1 to 2 +move 18 from 5 to 6 +move 2 from 2 to 6 +move 1 from 9 to 7 +move 8 from 9 to 2 +move 15 from 6 to 5 +move 1 from 6 to 3 +move 3 from 2 to 5 +move 1 from 7 to 5 +move 2 from 1 to 3 +move 3 from 2 to 1 +move 1 from 6 to 4 +move 5 from 6 to 5 +move 2 from 2 to 9 +move 35 from 5 to 7 +move 4 from 9 to 3 +move 1 from 4 to 1 +move 5 from 1 to 7 +move 6 from 5 to 3 +move 1 from 9 to 4 +move 11 from 7 to 6 +move 2 from 9 to 2 +move 1 from 4 to 7 +move 14 from 7 to 4 +move 5 from 6 to 9 +move 2 from 2 to 4 +move 6 from 7 to 9 +move 2 from 9 to 5 +move 6 from 9 to 5 +move 8 from 4 to 9 +move 5 from 4 to 3 +move 3 from 5 to 7 +move 1 from 3 to 9 +move 5 from 3 to 4 +move 7 from 9 to 8 +move 2 from 7 to 4 +move 4 from 5 to 7 +move 1 from 5 to 3 +move 5 from 6 to 4 +move 8 from 4 to 8 +move 5 from 7 to 6 +move 1 from 4 to 7 +move 3 from 6 to 9 +move 2 from 6 to 5 +move 7 from 8 to 3 +move 2 from 5 to 9 +move 17 from 3 to 1 +move 3 from 1 to 3 +move 6 from 8 to 9 +move 4 from 4 to 7 +move 6 from 3 to 5 +move 2 from 8 to 5 +move 14 from 7 to 5 +move 2 from 4 to 5 +move 6 from 9 to 5 +move 1 from 7 to 9 +move 1 from 6 to 9 +move 8 from 1 to 9 +move 8 from 5 to 2 +move 2 from 1 to 3 +move 7 from 2 to 6 +move 2 from 3 to 4 +move 1 from 2 to 6 +move 3 from 1 to 6 +move 16 from 9 to 4 +move 2 from 9 to 8 +move 1 from 1 to 6 +move 2 from 9 to 4 +move 1 from 6 to 9 +move 1 from 6 to 1 +move 1 from 1 to 7 +move 1 from 6 to 9 +move 1 from 9 to 3 +move 1 from 3 to 8 +move 1 from 9 to 2 +move 1 from 2 to 7 +move 2 from 5 to 3 +move 7 from 5 to 8 +move 2 from 7 to 9 +move 1 from 6 to 7 +move 3 from 6 to 9 +move 10 from 8 to 7 +move 1 from 4 to 3 +move 3 from 3 to 1 +move 1 from 7 to 1 +move 19 from 4 to 6 +move 3 from 9 to 7 +move 1 from 9 to 2 +move 2 from 1 to 7 +move 1 from 9 to 1 +move 12 from 6 to 9 +move 2 from 7 to 1 +move 1 from 2 to 4 +move 11 from 6 to 3 +move 1 from 4 to 8 +move 1 from 6 to 8 +move 11 from 7 to 9 +move 2 from 8 to 9 +move 18 from 9 to 6 +move 5 from 3 to 7 +move 5 from 3 to 8 +move 11 from 5 to 6 +move 26 from 6 to 4 +move 1 from 6 to 5 +move 1 from 3 to 7 +move 3 from 8 to 3 +move 1 from 8 to 7 +move 3 from 3 to 6 +move 5 from 9 to 3 +move 1 from 4 to 9 +move 8 from 4 to 5 +move 2 from 7 to 8 +move 3 from 3 to 6 +move 3 from 4 to 6 +move 7 from 7 to 4 +move 1 from 9 to 1 +move 5 from 5 to 3 +move 2 from 9 to 7 +move 3 from 8 to 2 +move 7 from 3 to 7 +move 1 from 7 to 6 +move 3 from 5 to 6 +move 7 from 4 to 8 +move 10 from 4 to 5 +move 2 from 4 to 2 +move 3 from 7 to 5 +move 2 from 4 to 1 +move 6 from 8 to 5 +move 5 from 1 to 4 +move 5 from 4 to 2 +move 5 from 7 to 8 +move 10 from 2 to 8 +move 3 from 8 to 3 +move 2 from 5 to 3 +move 13 from 6 to 1 +move 19 from 5 to 3 +move 12 from 3 to 9 +move 4 from 8 to 2 +move 2 from 6 to 7 +move 5 from 8 to 7 +move 9 from 3 to 9 +move 1 from 5 to 9 +move 2 from 7 to 6 +move 3 from 2 to 3 +move 15 from 9 to 3 +move 13 from 3 to 5 +move 1 from 6 to 2 +move 5 from 5 to 8 +move 1 from 2 to 5 +move 1 from 7 to 6 +move 6 from 9 to 6 +move 6 from 6 to 8 +move 4 from 7 to 1 +move 2 from 3 to 6 +move 11 from 1 to 9 +move 1 from 2 to 3 +move 4 from 5 to 6 +move 1 from 1 to 6 +move 10 from 9 to 2 +move 8 from 2 to 3 +move 3 from 1 to 2 +move 8 from 3 to 1 +move 5 from 5 to 4 +move 1 from 9 to 8 +move 2 from 3 to 7 +move 2 from 4 to 5 +move 6 from 1 to 6 +move 9 from 8 to 1 +move 16 from 1 to 9 +move 2 from 7 to 3 +move 3 from 3 to 8 +move 6 from 9 to 6 +move 1 from 5 to 4 +move 1 from 3 to 8 +move 5 from 2 to 1 +move 5 from 1 to 9 +move 2 from 4 to 9 +move 4 from 8 to 6 +move 1 from 8 to 7 +move 4 from 8 to 5 +move 2 from 8 to 2 +move 17 from 9 to 5 +move 11 from 5 to 7 +move 1 from 2 to 5 +move 1 from 2 to 5 +move 1 from 9 to 1 +move 1 from 1 to 6 +move 5 from 7 to 6 +move 20 from 6 to 7 +move 4 from 6 to 4 +move 15 from 7 to 8 +move 2 from 3 to 7 +move 1 from 6 to 5 +move 10 from 8 to 4 +move 1 from 3 to 6 +move 4 from 6 to 4 +move 13 from 7 to 8 +move 1 from 7 to 5 +move 1 from 6 to 3 +move 1 from 6 to 3 +move 1 from 6 to 9 +move 9 from 4 to 1 +move 3 from 8 to 2 +move 14 from 5 to 6 +move 2 from 2 to 8 +move 1 from 3 to 9 +move 14 from 6 to 2 +move 1 from 3 to 9 +move 1 from 9 to 3 +move 15 from 2 to 1 +move 1 from 3 to 9 +move 4 from 4 to 9 +move 10 from 8 to 5 +move 1 from 9 to 5 +move 1 from 1 to 5 +move 4 from 8 to 7 +move 3 from 9 to 3 +move 1 from 8 to 5 +move 1 from 4 to 7 +move 2 from 8 to 7 +move 6 from 5 to 6 +move 4 from 1 to 2 +move 1 from 2 to 5 +move 2 from 2 to 8 +move 2 from 8 to 1 +move 3 from 7 to 2 +move 3 from 4 to 9 +move 18 from 1 to 8 +move 1 from 7 to 3 +move 3 from 9 to 6 +move 1 from 1 to 5 +move 5 from 6 to 4 +move 2 from 1 to 9 +move 8 from 4 to 5 +move 4 from 3 to 2 +move 16 from 5 to 4 +move 8 from 8 to 6 +move 2 from 2 to 6 +move 1 from 7 to 6 +move 7 from 8 to 1 +move 1 from 2 to 3 +move 2 from 8 to 3 +move 4 from 4 to 9 +move 4 from 1 to 2 +move 1 from 7 to 2 +move 1 from 5 to 4 +move 1 from 3 to 7 +move 3 from 4 to 5 +move 1 from 9 to 6 +move 9 from 2 to 5 +move 2 from 3 to 6 +move 3 from 5 to 8 +move 3 from 1 to 7 +move 4 from 5 to 8 +move 1 from 4 to 3 +move 5 from 9 to 5 +move 5 from 5 to 8 +move 1 from 3 to 4 +move 4 from 5 to 1 +move 2 from 5 to 4 +move 13 from 6 to 2 +move 12 from 2 to 9 +move 3 from 9 to 2 +move 4 from 1 to 6 +move 8 from 6 to 2 +move 1 from 4 to 9 +move 3 from 7 to 9 +move 2 from 9 to 8 +move 1 from 7 to 2 +move 9 from 9 to 5 +move 2 from 8 to 6 +move 4 from 2 to 3 +move 1 from 7 to 2 +move 1 from 6 to 4 +move 4 from 3 to 9 +move 9 from 5 to 8 +move 10 from 4 to 2 +move 1 from 4 to 7 +move 1 from 6 to 2 +move 1 from 6 to 7 +move 13 from 2 to 6 +move 1 from 2 to 5 +move 6 from 6 to 5 +move 7 from 5 to 8 +move 1 from 4 to 5 +move 27 from 8 to 5 +move 3 from 6 to 3 +move 2 from 8 to 6 +move 8 from 9 to 5 +move 1 from 7 to 9 +move 1 from 6 to 2 +move 4 from 5 to 9 +move 2 from 3 to 4 +move 9 from 2 to 5 +move 1 from 4 to 1 +move 1 from 4 to 2 +move 1 from 2 to 4 +move 1 from 3 to 7 +move 1 from 1 to 3 +move 1 from 3 to 9 +move 6 from 9 to 4 +move 1 from 7 to 5 +move 13 from 5 to 2 +move 1 from 9 to 5 +move 1 from 7 to 2 +move 5 from 2 to 7 +move 8 from 5 to 7 +move 6 from 4 to 2 +move 1 from 4 to 5 +move 3 from 2 to 4 +move 4 from 2 to 7 +move 2 from 4 to 3 +move 13 from 7 to 3 +move 5 from 2 to 3 +move 4 from 7 to 8 +move 11 from 3 to 8 +move 11 from 5 to 9 +move 4 from 6 to 9 +move 1 from 6 to 5 +move 1 from 4 to 2 +move 1 from 3 to 6 +move 3 from 2 to 6 +move 3 from 6 to 2 +move 1 from 6 to 1 +move 1 from 3 to 8 +move 3 from 3 to 6 +move 2 from 2 to 7 +move 4 from 3 to 9 +move 16 from 9 to 2 +move 1 from 7 to 8 +move 2 from 2 to 8 +move 9 from 2 to 3 +move 6 from 2 to 7 +move 1 from 6 to 3 +move 2 from 9 to 2 +move 1 from 9 to 7 +move 2 from 6 to 3 +move 4 from 3 to 9 +move 2 from 2 to 7 +move 1 from 2 to 5 +move 14 from 5 to 6 +move 14 from 6 to 3 +move 4 from 9 to 8 +move 5 from 8 to 4 +move 1 from 1 to 5 +move 4 from 8 to 1 +move 1 from 5 to 9 +move 8 from 7 to 2 +move 18 from 3 to 7 +move 1 from 1 to 5 +move 1 from 1 to 9 +move 1 from 4 to 5 +move 1 from 8 to 5 +move 8 from 2 to 9 +move 3 from 5 to 8 +move 7 from 7 to 1 +move 3 from 4 to 7 +move 1 from 3 to 6 +move 7 from 8 to 3 +move 2 from 9 to 3 +move 3 from 8 to 9 +move 9 from 1 to 7 +move 9 from 3 to 4 +move 2 from 3 to 4 +move 12 from 7 to 4 +move 1 from 3 to 8 +move 1 from 8 to 7 +move 8 from 4 to 7 +move 11 from 4 to 9 +move 5 from 4 to 8 +move 19 from 7 to 9 +move 1 from 6 to 2 +move 2 from 7 to 4 +move 2 from 8 to 3 +move 1 from 7 to 8 +move 1 from 3 to 2 +move 3 from 8 to 4 +move 1 from 8 to 9 +move 1 from 3 to 2 +move 36 from 9 to 1 +move 5 from 9 to 6 +move 5 from 4 to 2 +move 24 from 1 to 3 +move 5 from 6 to 7 +move 1 from 1 to 4 +move 14 from 3 to 4 +move 4 from 7 to 3 +move 1 from 8 to 5 +move 5 from 2 to 9 +move 1 from 1 to 6 +move 5 from 9 to 1 +move 3 from 2 to 3 +move 1 from 5 to 3 +move 11 from 4 to 2 +move 1 from 7 to 1 +move 6 from 1 to 9 +move 3 from 4 to 2 +move 1 from 6 to 7 +move 10 from 1 to 7 +move 3 from 2 to 1 +move 3 from 3 to 2 +move 2 from 1 to 7 +move 1 from 4 to 8 +move 13 from 3 to 2 +move 1 from 8 to 3 +move 2 from 7 to 5 +move 2 from 3 to 7 +move 2 from 5 to 2 +move 1 from 1 to 7 +move 28 from 2 to 6 +move 1 from 2 to 3 +move 2 from 8 to 2 +move 6 from 9 to 7 +move 1 from 3 to 8 +move 1 from 9 to 8 +move 3 from 6 to 2 +move 14 from 7 to 9 +move 3 from 2 to 1 +move 2 from 2 to 9 +move 2 from 1 to 9 +move 1 from 9 to 1 +move 7 from 6 to 9 +move 2 from 1 to 4 +move 2 from 4 to 6 +move 4 from 8 to 7 +move 1 from 7 to 6 +move 1 from 8 to 1 +move 1 from 3 to 6 +move 1 from 1 to 5 +move 14 from 9 to 8 +move 1 from 5 to 9 +move 5 from 7 to 3 +move 16 from 6 to 3 +move 2 from 7 to 4 +move 8 from 9 to 5 +move 6 from 6 to 1 +move 8 from 5 to 9 +move 2 from 7 to 4 +move 11 from 9 to 1 +move 4 from 4 to 1 +move 14 from 8 to 3 +move 2 from 1 to 7 +move 20 from 3 to 6 +move 5 from 3 to 1 +move 1 from 3 to 5 +move 2 from 7 to 4 +move 20 from 6 to 7 +move 18 from 7 to 6 +move 17 from 6 to 9 +move 1 from 5 to 3 +move 6 from 3 to 2 +move 3 from 3 to 1 +move 1 from 6 to 2 +move 2 from 7 to 8 +move 4 from 1 to 5 +move 2 from 4 to 9 +move 1 from 3 to 2 +move 1 from 8 to 6 +move 18 from 1 to 4 +move 1 from 2 to 7 +move 1 from 6 to 2 +move 3 from 4 to 3 +move 1 from 8 to 1 +move 4 from 1 to 6 +move 7 from 2 to 1 +move 1 from 5 to 7 +move 1 from 4 to 1 +move 2 from 6 to 3 +move 3 from 5 to 9 +move 9 from 9 to 8 +move 10 from 9 to 3 +move 9 from 3 to 5 diff --git a/day5/inputc.txt b/day5/inputc.txt new file mode 100644 index 0000000..55d2f0c --- /dev/null +++ b/day5/inputc.txt @@ -0,0 +1,511 @@ +9 +CZNBMWQV +HZRWCB +FQRJ +ZSWHFNMT +GFWLNQP +LPW +VBDRGCQJ +ZQNBW +HLFCGTJ +move 2 from 1 to 7 +move 6 from 2 to 6 +move 10 from 7 to 6 +move 4 from 3 to 1 +move 5 from 6 to 4 +move 1 from 1 to 9 +move 4 from 6 to 9 +move 12 from 4 to 1 +move 5 from 1 to 4 +move 7 from 9 to 8 +move 11 from 8 to 1 +move 6 from 6 to 2 +move 2 from 5 to 2 +move 3 from 6 to 3 +move 4 from 9 to 4 +move 2 from 2 to 5 +move 1 from 6 to 4 +move 3 from 3 to 6 +move 1 from 8 to 4 +move 1 from 6 to 1 +move 28 from 1 to 4 +move 28 from 4 to 5 +move 1 from 9 to 1 +move 4 from 4 to 1 +move 2 from 6 to 2 +move 2 from 1 to 6 +move 7 from 4 to 2 +move 14 from 2 to 9 +move 1 from 4 to 1 +move 1 from 1 to 2 +move 18 from 5 to 6 +move 2 from 2 to 6 +move 1 from 9 to 7 +move 8 from 9 to 2 +move 15 from 6 to 5 +move 1 from 6 to 3 +move 3 from 2 to 5 +move 1 from 7 to 5 +move 2 from 1 to 3 +move 3 from 2 to 1 +move 1 from 6 to 4 +move 5 from 6 to 5 +move 2 from 2 to 9 +move 35 from 5 to 7 +move 4 from 9 to 3 +move 1 from 4 to 1 +move 5 from 1 to 7 +move 6 from 5 to 3 +move 1 from 9 to 4 +move 11 from 7 to 6 +move 2 from 9 to 2 +move 1 from 4 to 7 +move 14 from 7 to 4 +move 5 from 6 to 9 +move 2 from 2 to 4 +move 6 from 7 to 9 +move 2 from 9 to 5 +move 6 from 9 to 5 +move 8 from 4 to 9 +move 5 from 4 to 3 +move 3 from 5 to 7 +move 1 from 3 to 9 +move 5 from 3 to 4 +move 7 from 9 to 8 +move 2 from 7 to 4 +move 4 from 5 to 7 +move 1 from 5 to 3 +move 5 from 6 to 4 +move 8 from 4 to 8 +move 5 from 7 to 6 +move 1 from 4 to 7 +move 3 from 6 to 9 +move 2 from 6 to 5 +move 7 from 8 to 3 +move 2 from 5 to 9 +move 17 from 3 to 1 +move 3 from 1 to 3 +move 6 from 8 to 9 +move 4 from 4 to 7 +move 6 from 3 to 5 +move 2 from 8 to 5 +move 14 from 7 to 5 +move 2 from 4 to 5 +move 6 from 9 to 5 +move 1 from 7 to 9 +move 1 from 6 to 9 +move 8 from 1 to 9 +move 8 from 5 to 2 +move 2 from 1 to 3 +move 7 from 2 to 6 +move 2 from 3 to 4 +move 1 from 2 to 6 +move 3 from 1 to 6 +move 16 from 9 to 4 +move 2 from 9 to 8 +move 1 from 1 to 6 +move 2 from 9 to 4 +move 1 from 6 to 9 +move 1 from 6 to 1 +move 1 from 1 to 7 +move 1 from 6 to 9 +move 1 from 9 to 3 +move 1 from 3 to 8 +move 1 from 9 to 2 +move 1 from 2 to 7 +move 2 from 5 to 3 +move 7 from 5 to 8 +move 2 from 7 to 9 +move 1 from 6 to 7 +move 3 from 6 to 9 +move 10 from 8 to 7 +move 1 from 4 to 3 +move 3 from 3 to 1 +move 1 from 7 to 1 +move 19 from 4 to 6 +move 3 from 9 to 7 +move 1 from 9 to 2 +move 2 from 1 to 7 +move 1 from 9 to 1 +move 12 from 6 to 9 +move 2 from 7 to 1 +move 1 from 2 to 4 +move 11 from 6 to 3 +move 1 from 4 to 8 +move 1 from 6 to 8 +move 11 from 7 to 9 +move 2 from 8 to 9 +move 18 from 9 to 6 +move 5 from 3 to 7 +move 5 from 3 to 8 +move 11 from 5 to 6 +move 26 from 6 to 4 +move 1 from 6 to 5 +move 1 from 3 to 7 +move 3 from 8 to 3 +move 1 from 8 to 7 +move 3 from 3 to 6 +move 5 from 9 to 3 +move 1 from 4 to 9 +move 8 from 4 to 5 +move 2 from 7 to 8 +move 3 from 3 to 6 +move 3 from 4 to 6 +move 7 from 7 to 4 +move 1 from 9 to 1 +move 5 from 5 to 3 +move 2 from 9 to 7 +move 3 from 8 to 2 +move 7 from 3 to 7 +move 1 from 7 to 6 +move 3 from 5 to 6 +move 7 from 4 to 8 +move 10 from 4 to 5 +move 2 from 4 to 2 +move 3 from 7 to 5 +move 2 from 4 to 1 +move 6 from 8 to 5 +move 5 from 1 to 4 +move 5 from 4 to 2 +move 5 from 7 to 8 +move 10 from 2 to 8 +move 3 from 8 to 3 +move 2 from 5 to 3 +move 13 from 6 to 1 +move 19 from 5 to 3 +move 12 from 3 to 9 +move 4 from 8 to 2 +move 2 from 6 to 7 +move 5 from 8 to 7 +move 9 from 3 to 9 +move 1 from 5 to 9 +move 2 from 7 to 6 +move 3 from 2 to 3 +move 15 from 9 to 3 +move 13 from 3 to 5 +move 1 from 6 to 2 +move 5 from 5 to 8 +move 1 from 2 to 5 +move 1 from 7 to 6 +move 6 from 9 to 6 +move 6 from 6 to 8 +move 4 from 7 to 1 +move 2 from 3 to 6 +move 11 from 1 to 9 +move 1 from 2 to 3 +move 4 from 5 to 6 +move 1 from 1 to 6 +move 10 from 9 to 2 +move 8 from 2 to 3 +move 3 from 1 to 2 +move 8 from 3 to 1 +move 5 from 5 to 4 +move 1 from 9 to 8 +move 2 from 3 to 7 +move 2 from 4 to 5 +move 6 from 1 to 6 +move 9 from 8 to 1 +move 16 from 1 to 9 +move 2 from 7 to 3 +move 3 from 3 to 8 +move 6 from 9 to 6 +move 1 from 5 to 4 +move 1 from 3 to 8 +move 5 from 2 to 1 +move 5 from 1 to 9 +move 2 from 4 to 9 +move 4 from 8 to 6 +move 1 from 8 to 7 +move 4 from 8 to 5 +move 2 from 8 to 2 +move 17 from 9 to 5 +move 11 from 5 to 7 +move 1 from 2 to 5 +move 1 from 2 to 5 +move 1 from 9 to 1 +move 1 from 1 to 6 +move 5 from 7 to 6 +move 20 from 6 to 7 +move 4 from 6 to 4 +move 15 from 7 to 8 +move 2 from 3 to 7 +move 1 from 6 to 5 +move 10 from 8 to 4 +move 1 from 3 to 6 +move 4 from 6 to 4 +move 13 from 7 to 8 +move 1 from 7 to 5 +move 1 from 6 to 3 +move 1 from 6 to 3 +move 1 from 6 to 9 +move 9 from 4 to 1 +move 3 from 8 to 2 +move 14 from 5 to 6 +move 2 from 2 to 8 +move 1 from 3 to 9 +move 14 from 6 to 2 +move 1 from 3 to 9 +move 1 from 9 to 3 +move 15 from 2 to 1 +move 1 from 3 to 9 +move 4 from 4 to 9 +move 10 from 8 to 5 +move 1 from 9 to 5 +move 1 from 1 to 5 +move 4 from 8 to 7 +move 3 from 9 to 3 +move 1 from 8 to 5 +move 1 from 4 to 7 +move 2 from 8 to 7 +move 6 from 5 to 6 +move 4 from 1 to 2 +move 1 from 2 to 5 +move 2 from 2 to 8 +move 2 from 8 to 1 +move 3 from 7 to 2 +move 3 from 4 to 9 +move 18 from 1 to 8 +move 1 from 7 to 3 +move 3 from 9 to 6 +move 1 from 1 to 5 +move 5 from 6 to 4 +move 2 from 1 to 9 +move 8 from 4 to 5 +move 4 from 3 to 2 +move 16 from 5 to 4 +move 8 from 8 to 6 +move 2 from 2 to 6 +move 1 from 7 to 6 +move 7 from 8 to 1 +move 1 from 2 to 3 +move 2 from 8 to 3 +move 4 from 4 to 9 +move 4 from 1 to 2 +move 1 from 7 to 2 +move 1 from 5 to 4 +move 1 from 3 to 7 +move 3 from 4 to 5 +move 1 from 9 to 6 +move 9 from 2 to 5 +move 2 from 3 to 6 +move 3 from 5 to 8 +move 3 from 1 to 7 +move 4 from 5 to 8 +move 1 from 4 to 3 +move 5 from 9 to 5 +move 5 from 5 to 8 +move 1 from 3 to 4 +move 4 from 5 to 1 +move 2 from 5 to 4 +move 13 from 6 to 2 +move 12 from 2 to 9 +move 3 from 9 to 2 +move 4 from 1 to 6 +move 8 from 6 to 2 +move 1 from 4 to 9 +move 3 from 7 to 9 +move 2 from 9 to 8 +move 1 from 7 to 2 +move 9 from 9 to 5 +move 2 from 8 to 6 +move 4 from 2 to 3 +move 1 from 7 to 2 +move 1 from 6 to 4 +move 4 from 3 to 9 +move 9 from 5 to 8 +move 10 from 4 to 2 +move 1 from 4 to 7 +move 1 from 6 to 2 +move 1 from 6 to 7 +move 13 from 2 to 6 +move 1 from 2 to 5 +move 6 from 6 to 5 +move 7 from 5 to 8 +move 1 from 4 to 5 +move 27 from 8 to 5 +move 3 from 6 to 3 +move 2 from 8 to 6 +move 8 from 9 to 5 +move 1 from 7 to 9 +move 1 from 6 to 2 +move 4 from 5 to 9 +move 2 from 3 to 4 +move 9 from 2 to 5 +move 1 from 4 to 1 +move 1 from 4 to 2 +move 1 from 2 to 4 +move 1 from 3 to 7 +move 1 from 1 to 3 +move 1 from 3 to 9 +move 6 from 9 to 4 +move 1 from 7 to 5 +move 13 from 5 to 2 +move 1 from 9 to 5 +move 1 from 7 to 2 +move 5 from 2 to 7 +move 8 from 5 to 7 +move 6 from 4 to 2 +move 1 from 4 to 5 +move 3 from 2 to 4 +move 4 from 2 to 7 +move 2 from 4 to 3 +move 13 from 7 to 3 +move 5 from 2 to 3 +move 4 from 7 to 8 +move 11 from 3 to 8 +move 11 from 5 to 9 +move 4 from 6 to 9 +move 1 from 6 to 5 +move 1 from 4 to 2 +move 1 from 3 to 6 +move 3 from 2 to 6 +move 3 from 6 to 2 +move 1 from 6 to 1 +move 1 from 3 to 8 +move 3 from 3 to 6 +move 2 from 2 to 7 +move 4 from 3 to 9 +move 16 from 9 to 2 +move 1 from 7 to 8 +move 2 from 2 to 8 +move 9 from 2 to 3 +move 6 from 2 to 7 +move 1 from 6 to 3 +move 2 from 9 to 2 +move 1 from 9 to 7 +move 2 from 6 to 3 +move 4 from 3 to 9 +move 2 from 2 to 7 +move 1 from 2 to 5 +move 14 from 5 to 6 +move 14 from 6 to 3 +move 4 from 9 to 8 +move 5 from 8 to 4 +move 1 from 1 to 5 +move 4 from 8 to 1 +move 1 from 5 to 9 +move 8 from 7 to 2 +move 18 from 3 to 7 +move 1 from 1 to 5 +move 1 from 1 to 9 +move 1 from 4 to 5 +move 1 from 8 to 5 +move 8 from 2 to 9 +move 3 from 5 to 8 +move 7 from 7 to 1 +move 3 from 4 to 7 +move 1 from 3 to 6 +move 7 from 8 to 3 +move 2 from 9 to 3 +move 3 from 8 to 9 +move 9 from 1 to 7 +move 9 from 3 to 4 +move 2 from 3 to 4 +move 12 from 7 to 4 +move 1 from 3 to 8 +move 1 from 8 to 7 +move 8 from 4 to 7 +move 11 from 4 to 9 +move 5 from 4 to 8 +move 19 from 7 to 9 +move 1 from 6 to 2 +move 2 from 7 to 4 +move 2 from 8 to 3 +move 1 from 7 to 8 +move 1 from 3 to 2 +move 3 from 8 to 4 +move 1 from 8 to 9 +move 1 from 3 to 2 +move 36 from 9 to 1 +move 5 from 9 to 6 +move 5 from 4 to 2 +move 24 from 1 to 3 +move 5 from 6 to 7 +move 1 from 1 to 4 +move 14 from 3 to 4 +move 4 from 7 to 3 +move 1 from 8 to 5 +move 5 from 2 to 9 +move 1 from 1 to 6 +move 5 from 9 to 1 +move 3 from 2 to 3 +move 1 from 5 to 3 +move 11 from 4 to 2 +move 1 from 7 to 1 +move 6 from 1 to 9 +move 3 from 4 to 2 +move 1 from 6 to 7 +move 10 from 1 to 7 +move 3 from 2 to 1 +move 3 from 3 to 2 +move 2 from 1 to 7 +move 1 from 4 to 8 +move 13 from 3 to 2 +move 1 from 8 to 3 +move 2 from 7 to 5 +move 2 from 3 to 7 +move 2 from 5 to 2 +move 1 from 1 to 7 +move 28 from 2 to 6 +move 1 from 2 to 3 +move 2 from 8 to 2 +move 6 from 9 to 7 +move 1 from 3 to 8 +move 1 from 9 to 8 +move 3 from 6 to 2 +move 14 from 7 to 9 +move 3 from 2 to 1 +move 2 from 2 to 9 +move 2 from 1 to 9 +move 1 from 9 to 1 +move 7 from 6 to 9 +move 2 from 1 to 4 +move 2 from 4 to 6 +move 4 from 8 to 7 +move 1 from 7 to 6 +move 1 from 8 to 1 +move 1 from 3 to 6 +move 1 from 1 to 5 +move 14 from 9 to 8 +move 1 from 5 to 9 +move 5 from 7 to 3 +move 16 from 6 to 3 +move 2 from 7 to 4 +move 8 from 9 to 5 +move 6 from 6 to 1 +move 8 from 5 to 9 +move 2 from 7 to 4 +move 11 from 9 to 1 +move 4 from 4 to 1 +move 14 from 8 to 3 +move 2 from 1 to 7 +move 20 from 3 to 6 +move 5 from 3 to 1 +move 1 from 3 to 5 +move 2 from 7 to 4 +move 20 from 6 to 7 +move 18 from 7 to 6 +move 17 from 6 to 9 +move 1 from 5 to 3 +move 6 from 3 to 2 +move 3 from 3 to 1 +move 1 from 6 to 2 +move 2 from 7 to 8 +move 4 from 1 to 5 +move 2 from 4 to 9 +move 1 from 3 to 2 +move 1 from 8 to 6 +move 18 from 1 to 4 +move 1 from 2 to 7 +move 1 from 6 to 2 +move 3 from 4 to 3 +move 1 from 8 to 1 +move 4 from 1 to 6 +move 7 from 2 to 1 +move 1 from 5 to 7 +move 1 from 4 to 1 +move 2 from 6 to 3 +move 3 from 5 to 9 +move 9 from 9 to 8 +move 10 from 9 to 3 +move 9 from 3 to 5