commit e222d9996d92b6ef4b2e5d38842f0368b81d6071
parent 725de4e726170dfaa6ce45e664d33979c760d56a
Author: mpizzzle <m@michaelpercival.xyz>
Date: Sun, 6 Feb 2022 15:52:56 +0000
solving 2015 puzzles 1, 2 & 3 in bqn
Diffstat:
6 files changed, 1026 insertions(+), 0 deletions(-)
diff --git a/2015/files/1.txt b/2015/files/1.txt
@@ -0,0 +1 @@
+()()(()()()(()()((()((()))((()((((()()((((()))()((((())(((((((()(((((((((()(((())(()()(()((()()(()(())(()((((()((()()()((((())((((((()(()(((()())(()((((()))())(())(()(()()))))))))((((((((((((()())()())())(())))(((()()()((((()(((()(()(()()(()(()()(()(((((((())(())(())())))((()())()((((()()((()))(((()()()())))(())))((((())(((()())(())(()))(()((((()())))())((()(())(((()((((()((()(())())))((()))()()(()(()))))((((((((()())((((()()((((()(()())(((((()(()())()))())(((()))()(()(()(()((((()(())(()))(((((()()(()()()(()(((())())(((()()(()()))(((()()(((())())(()(())())()()(())()()()((()(((()(())((()()((())()))((()()))((()()())((((()(()()(()(((()))()(()))))((()(((()()()))(()(((())()(()((()())(()(()()(()())(())()(((()(()())()((((()((()))))())()))((()()()()(())()())()()()((((()))))(()(((()()(((((((())()))()((((()((())()(()())(())()))(()(()())(((((((())))(((()))())))))()))())((())(()()((())()())()))))()((()()())(())((())((((()())())()()()(((()))())))()()))())(()()()(()((((((()()))())()))()(((()(((())((((()()()(()))())()()))))())()))())((())()())(((((())())((())())))(((())(((())(((((()(((((())(()(()())())(()(())(()))(()((((()))())()))))())))((()(()))))())))(((((())()))())()))))()))))(((()))()))))((()))((()((()(()(())()())))(()()()(())()))()((((())))))))(())(()((()()))(()))(()))(()((()))))))()()((((()()))()())()))))))()()()))(()((())(()))((()()()())()(((()((((())())))()((((()(()))))))())))()()())()))(()))))(()())()))))))((())))))))())()))()((())())))(()((()))()))(())))))(()))()())()()))((()(()))()()()()))))())()()))())(())()()))()))((()))))()()(()())))))()()()))((((()))()))))(()(())))(()())))((())())(()))()))))()())))()())()())))))))))()()))))())))((())((()))))())))(((()())))))))(()))()()))(()))()))))()())))))())((((()())))))))())))()()))))))))()))()))))()))))))(())))))))))())))))))))))))))())())((())))))))))()))((())))()))))))))())()(()))))))())))))()()()())()(()()()(()())(()))()()()(()())))())())))()))))())))))))()()()()())(())())()())()))))(()()()()()))))()))())())))((()())()())))()))()))))(()())))()))))))))(((()))()()))))))))))))))))))))(()))(()((()))())))())(()))(()(()(())))))()(()))()))()()))))))))))))()((()())(())())()(())))))())()())((()()))))(()()))))())()(())()))))))))))))))))))))()))(()(()())))))))()()((()))()))))))((())))()))))))))((()))())()()))())()()))((()))())))))))))))(()())()))(())((()(()()))(()())(())))()())(()(())()()))))()))()(()))))))(()))))))))))(()))())))))))))())))))())))(())))))()))))(())())))))))))()(()))))()())))())(()))()())))))))))))))())()()))))()))))))())))))()))))(())(()()()()((())()))())(()))((())()))())())(())(()()))))()))(())()()((())(())))(())))()))())))))))))()(((((())())))(())()))))(())))((()))()(((((((()))))()()))(())))))()(()))))(()()))()))())))))))(()())()))))))))())))(()))())()))(())()((())())()())())(()(()))))()))))))((()())(())()()(()())))()()))(())(())(()))())))()))(()))()()))((((()))))()))((()()()))))()))()))())))(()))()))))(())))()))())()(()))()())))())))))))())))())))()()))))))(()))())())))()))()()())())))))))))))))())))()))(()()))))())))())()(())))())))))))))))))))))()()())())))))()()()((()(()))()()(())()())()))()))))()()()))))))((()))))))))()(()(()((((((()()((()())))))))))))()))())))))((())())(()))())))())))))())()()())(())))())))()())())(())))))))()()(())))()))())))())())())()))))))))()))(()()()())())())))(())())))))))()()())()))))())))())()(())())))))))()())()))(()()(())())))()(()((()()((()()(((((())(()())()))(())()))(())))(())))))))()))()))((()))()))()))))))))()))))))))((()()())(()))(((()))(())))()))((())(((())))()())))())))))((())))))(())())((((((())())()(()))()(()((()())))((())()(()(()))))(())(()()())(())))())((()(((())())))(((()())())))())()(())())((((()()))))())((()))()()()()(())(((((((()()()((()))())(()())))(())())((((()()(()))))()((())))((())()))()(((()))())))()))((()(()))(())(()((((())((((()()(()()))(((())(()))))((((()(()))(())))))((()))(()))((()(((()(()))(()(()((()(())(()(()(()(()()((()))())(((())(()(()))))(()))()()))(())))(())()(((())(()))()((((()()))))())(()))))((())()((((()(((()))())())(((()))()())((())(())())(())()(())()(()()((((((()()))))()()(((()()))))()())()(((()(()))(()(()())(()(()))))(((((()(((())())))))(((((()((()()((())())((((((()(())(()()((()()()()()()()(()()))()(((()))()))(((((((())(((()((()())()((((())(((()(())))()((()(()()()((())((()())()))()))())))())((((((()))(()(()()()))(()((()(()(()))()((()(((()()()((())(((((())()(()))())())((()(())))(()(()())(())((())())())(((()()()(())))))())(()))))))()))))))())((()()()))((()((((((()))(((()((((()()()(((()))())()(()()(((()((()()()()())()()))()()()(()(())((()))))(()))())))))))()(()()(((((())()(()(((((()((()(()()())(()((((((((()((((((())()((((()()()((()((()((((((()))((())))))))())()))((()(()))()(()()(()((())((()()((((((((((((()())(()()()))((((()((((((())(()))())(()()((()()))()(((((((()((()()((((((()(((())))((())))((((((((()()(((((((())(((((()())(((())((())()((((()(((((((()(()(((()((((((()(((()(((((((((((()()((()()(()))((()()(((()(((())))((((())()(()(((())()(()(((())(((((((((((()))())))((((((())((()()((((()())())((((()()))((())(((((()(()()(()()()((())(()((()()((((()(((((()((()(()((((()())((((((()(((((()()(()(()((((())))(())(())(())((((()(()()((((()((((()()((()((((((())))(((((()))))()))(()((((((((()(((())())(((())))(()(()((())(((()((()()(((((()((()()(((())()(()))(((((((())(()(((((()))((()((()((()))(())())((((()((((())()(()))(((()(((((((((((((((())(((((((((()))(((()(()()()()((((((()((())()((((((((()(())(((((((((((()(()((())()((()()(()(()()((((()()((())(()((()()(()()((((()(((((((())))((((())(())()(((()()((()()((((()((()(((()((())(((()()()((((()((((()()(()(()((((((((())(()(((((())(()())(((((((()())()(()((((()((())(()()())((((()()(((()((((())(())(()()(((((((((()()))()(((())(()(()((((((())(()()())(()))()()(((()(((()((())(()(((((((()(()(()((()(((((()(()((()(()((((((()((((()()((((()(((()((())(()(()((()()((((()()(())()(())(((())(()((((((((()())(((((((((()(())()((((())))()))()()(((((()()((((((())(()()(((()(()(((((((()(()(((((((())(())((((()((()(())))((((()()())(()))((()())((((()(((((()(()(())(()(()()())(((((()(((((()((((()()((((((((()()))(()((((((())((((())()(()(((()()()(((()(()(())(())(((((()(())())((((())(())(()(((()(((((())((((())())((()(((((((()(((())(()(()))(((((((((()((()((()()(()((((())(((()((())((((())(()(((()(((()(()((((()(((())(()(((()(()()(()(()((()()(()())(())())((()(()(((()(((()(((()()(((((((((()(((((((((()()(((()(((()())((((()(()(((()()()((())((((((((((())(()(((()((((()())((((()((()))(((()()()(((((()(((((((())((()())(()((((())((((((((())(()((()((((((((((()()((()((()()))(((()())()())()(((()())()()(()(()(((((((())()))(())()))())()()((())()((()((((()((()((())(((((()((((((()(())))(()))())(((()))((()()(()(((()))((((())()(((()))))()(()(())()(((((())(()(()(())(())()((()()()((((()(())((()())(()(()))(()(()(()()(())()()(()((())()((()))))()))((()(()()()()((()())(()))())()(()(((((((((())())((()((()((((((())()((((())(((())((()(()()()((())(()((())(((()((((()()((()(()(((((())()))()((((((()))((())(((()()))(((())(())()))(((((((())(())())()(())(((((()))()((()))()(()()((()()()()()())(((((((+
No newline at end of file
diff --git a/2015/files/2.txt b/2015/files/2.txt
@@ -0,0 +1,1000 @@
+29x13x26
+11x11x14
+27x2x5
+6x10x13
+15x19x10
+26x29x15
+8x23x6
+17x8x26
+20x28x3
+23x12x24
+11x17x3
+19x23x28
+25x2x25
+1x15x3
+25x14x4
+23x10x23
+29x19x7
+17x10x13
+26x30x4
+16x7x16
+7x5x27
+8x23x6
+2x20x2
+18x4x24
+30x2x26
+6x14x23
+10x23x9
+29x29x22
+1x21x14
+22x10x13
+10x12x10
+20x13x11
+12x2x14
+2x16x29
+27x18x26
+6x12x20
+18x17x8
+14x25x1
+30x15x22
+17x18x7
+28x23x24
+15x12x25
+14x7x20
+29x23x8
+24x5x22
+6x22x8
+1x15x26
+14x5x1
+24x28x28
+17x23x23
+4x15x7
+23x8x11
+6x15x1
+23x18x13
+17x1x26
+23x13x17
+2x18x8
+22x22x1
+10x22x6
+28x29x20
+22x21x25
+14x8x23
+12x30x14
+8x7x5
+3x30x15
+4x3x29
+25x18x3
+16x7x16
+4x3x8
+9x16x30
+20x28x3
+28x24x6
+4x18x2
+23x18x5
+22x4x30
+15x30x9
+7x12x12
+3x22x29
+12x1x9
+9x2x25
+17x11x10
+25x24x7
+7x27x26
+26x4x12
+29x2x26
+19x24x12
+23x23x3
+26x28x16
+18x4x16
+25x30x18
+29x19x19
+16x3x27
+29x25x29
+18x19x5
+14x21x30
+19x13x26
+19x10x15
+9x4x7
+18x6x6
+24x25x29
+9x12x27
+15x3x22
+30x17x21
+18x19x28
+9x11x12
+8x28x22
+11x3x4
+28x17x20
+24x18x15
+11x12x13
+6x19x24
+28x4x5
+28x22x23
+13x29x2
+9x16x15
+29x28x1
+10x18x30
+19x11x12
+26x28x25
+23x17x13
+25x1x21
+17x1x27
+17x27x28
+28x13x15
+14x13x25
+11x29x7
+22x29x5
+13x6x14
+23x18x13
+25x7x17
+18x9x20
+21x11x2
+28x11x13
+13x25x1
+19x29x25
+16x29x4
+10x21x10
+7x25x17
+5x9x3
+1x15x6
+8x27x29
+23x6x30
+22x22x29
+6x20x30
+26x25x29
+10x19x19
+20x30x9
+5x30x24
+17x10x27
+30x14x30
+8x17x4
+7x18x6
+3x5x4
+24x17x15
+14x20x17
+22x27x15
+18x14x15
+23x9x11
+21x16x29
+7x18x21
+9x3x29
+10x13x4
+2x30x4
+23x20x4
+8x22x21
+29x28x4
+13x16x25
+21x9x11
+7x26x26
+13x23x30
+19x7x10
+9x23x21
+21x9x17
+9x21x15
+20x29x22
+23x13x15
+19x25x2
+12x11x30
+20x21x6
+21x6x17
+24x26x9
+29x21x29
+29x26x16
+6x16x1
+2x12x6
+6x7x20
+7x2x22
+6x22x4
+13x11x27
+25x27x14
+11x8x6
+26x11x14
+30x3x29
+27x21x20
+15x16x26
+6x22x10
+11x9x25
+23x13x6
+13x9x3
+30x22x13
+29x23x14
+25x19x6
+7x29x11
+19x18x5
+29x25x13
+25x24x27
+1x9x12
+22x9x17
+14x12x28
+19x21x17
+13x25x17
+14x25x12
+4x14x30
+7x15x28
+3x6x25
+6x2x16
+15x19x11
+17x30x20
+20x23x7
+26x21x6
+26x29x24
+2x4x30
+4x22x18
+13x3x28
+27x6x21
+5x3x27
+12x7x11
+28x11x9
+12x9x2
+1x22x20
+15x13x28
+14x19x16
+28x20x3
+20x4x9
+26x7x26
+18x19x25
+7x1x13
+20x23x29
+27x26x8
+11x15x15
+10x21x23
+29x2x11
+21x28x20
+3x18x23
+26x17x17
+14x26x17
+20x7x17
+18x12x8
+4x8x8
+8x15x23
+24x29x5
+1x25x8
+1x28x17
+16x18x13
+29x24x22
+13x16x10
+14x7x16
+15x11x29
+12x15x19
+17x6x28
+4x3x9
+15x16x8
+29x27x11
+2x24x20
+4x21x3
+29x24x27
+18x22x22
+7x8x18
+20x7x8
+19x9x2
+20x17x2
+2x29x10
+19x25x1
+28x9x3
+29x27x20
+7x21x7
+10x4x22
+26x8x5
+26x14x1
+5x27x9
+2x18x3
+3x27x17
+30x17x23
+30x11x20
+4x6x7
+6x29x27
+30x16x20
+24x30x28
+19x20x26
+18x1x25
+26x12x12
+19x15x29
+16x21x24
+23x13x26
+25x16x10
+8x9x18
+24x14x1
+24x15x21
+19x9x14
+8x23x11
+22x2x16
+29x9x26
+3x16x25
+15x20x30
+3x11x12
+15x2x3
+13x7x4
+2x7x27
+9x26x11
+30x24x19
+28x17x21
+10x8x2
+11x15x26
+10x12x20
+24x24x27
+25x26x16
+13x4x20
+25x13x11
+12x22x3
+20x7x1
+12x18x6
+26x8x20
+14x2x7
+23x12x1
+26x24x24
+27x26x23
+26x17x5
+17x24x2
+26x5x6
+23x5x1
+5x18x30
+24x21x19
+5x28x11
+21x20x14
+25x4x22
+26x24x11
+7x5x8
+13x1x30
+5x1x6
+14x5x2
+8x11x7
+13x20x1
+17x30x14
+29x22x10
+12x26x3
+27x17x3
+26x27x4
+5x26x17
+22x11x19
+8x26x3
+24x19x22
+7x1x4
+6x27x30
+4x28x14
+16x14x18
+4x5x20
+19x25x4
+15x15x1
+10x14x14
+16x18x24
+21x27x15
+5x5x10
+1x7x13
+16x2x8
+13x15x11
+3x25x10
+20x29x8
+12x3x2
+10x13x12
+25x27x1
+11x30x19
+7x19x13
+27x6x18
+16x21x19
+21x29x5
+16x23x12
+29x19x15
+5x5x10
+27x15x1
+13x16x22
+29x19x5
+8x12x9
+3x18x5
+13x25x3
+5x9x21
+10x20x16
+9x9x11
+23x21x1
+22x2x15
+27x8x13
+23x7x3
+26x30x15
+29x15x16
+16x27x13
+2x18x9
+10x27x8
+20x9x25
+10x2x17
+16x13x13
+21x26x1
+27x26x24
+9x30x16
+19x17x28
+25x15x1
+10x26x6
+10x11x11
+5x26x25
+30x4x15
+9x8x23
+14x25x7
+8x28x8
+28x18x24
+4x4x25
+16x25x11
+17x27x8
+15x16x9
+24x13x21
+17x3x27
+27x5x26
+8x27x12
+29x2x8
+24x23x30
+1x30x21
+6x18x20
+13x14x12
+25x30x23
+24x6x24
+12x7x21
+11x6x8
+8x30x30
+26x3x12
+28x6x5
+18x7x1
+7x6x20
+14x16x18
+11x22x15
+4x20x10
+19x24x19
+8x24x11
+4x9x10
+6x6x22
+10x9x29
+1x5x28
+19x25x29
+20x30x3
+15x13x13
+9x9x24
+20x14x29
+26x24x13
+2x25x8
+10x26x2
+12x19x12
+18x6x20
+4x5x14
+26x27x10
+16x26x20
+3x21x15
+2x26x18
+14x11x17
+26x26x25
+10x1x11
+17x19x19
+27x28x26
+9x2x10
+19x30x15
+23x30x14
+15x3x20
+2x14x22
+21x18x8
+22x4x29
+19x6x29
+9x26x29
+16x10x9
+22x12x22
+13x28x14
+25x14x28
+28x3x30
+10x17x1
+10x27x22
+10x23x19
+14x25x9
+11x24x8
+30x25x10
+22x13x28
+2x7x6
+11x20x8
+9x22x14
+19x16x9
+11x24x4
+11x17x2
+6x4x10
+26x10x10
+12x14x5
+27x10x3
+15x3x6
+11x7x19
+22x10x12
+21x26x10
+13x20x3
+27x8x8
+1x24x23
+24x9x22
+23x17x23
+3x28x19
+2x20x28
+23x17x24
+26x1x4
+4x1x12
+5x6x16
+13x22x13
+25x21x21
+20x21x12
+9x24x25
+17x16x12
+12x28x9
+18x16x27
+29x12x2
+30x12x15
+24x11x10
+4x9x22
+4x24x5
+19x11x5
+6x25x6
+1x20x17
+22x8x21
+11x26x4
+16x19x3
+8x12x8
+13x2x18
+10x5x11
+8x12x17
+21x2x5
+26x17x26
+23x18x17
+28x11x14
+1x4x27
+29x5x28
+5x9x10
+5x7x25
+20x15x27
+15x11x17
+12x14x1
+29x14x4
+18x14x18
+14x25x24
+26x14x18
+13x8x11
+30x1x23
+3x4x12
+12x24x9
+8x6x16
+14x15x30
+12x30x8
+22x11x18
+16x30x28
+17x18x4
+13x14x23
+2x28x8
+3x28x30
+29x30x8
+4x6x26
+6x30x17
+11x30x30
+19x4x3
+12x15x20
+22x28x4
+26x30x2
+6x12x7
+1x10x5
+25x29x7
+17x9x18
+16x21x29
+21x14x7
+15x16x11
+26x6x15
+8x24x7
+2x20x4
+2x9x3
+19x8x13
+18x7x22
+27x14x17
+2x13x8
+18x15x26
+15x27x27
+18x11x15
+1x29x20
+21x12x11
+20x2x15
+28x23x9
+1x1x17
+7x23x9
+30x9x27
+9x16x18
+15x24x28
+30x11x18
+29x26x10
+9x5x25
+2x1x19
+14x3x14
+6x3x6
+30x15x20
+20x17x27
+28x10x9
+14x24x28
+17x11x6
+12x3x6
+8x8x15
+23x14x21
+11x21x7
+5x13x30
+4x29x25
+30x28x24
+18x4x9
+3x15x6
+13x9x19
+30x14x7
+7x9x9
+17x11x26
+24x26x13
+16x21x16
+27x17x25
+2x21x11
+9x11x27
+3x3x7
+13x8x14
+20x20x26
+13x29x22
+30x11x1
+7x10x19
+27x5x9
+23x17x15
+21x6x13
+24x15x16
+18x4x14
+18x16x6
+22x11x18
+14x2x5
+15x3x7
+10x20x29
+16x1x10
+30x23x1
+10x15x11
+17x14x5
+22x8x13
+7x11x28
+26x17x3
+2x23x2
+28x13x19
+18x12x28
+22x23x16
+14x12x1
+20x8x19
+17x19x13
+29x2x12
+2x26x27
+29x16x4
+13x8x18
+16x15x30
+23x16x2
+28x8x27
+21x8x23
+13x20x26
+19x6x17
+17x30x15
+7x4x30
+2x13x30
+18x7x19
+4x13x27
+8x6x5
+18x20x25
+2x3x30
+23x27x13
+22x30x4
+23x25x25
+23x16x19
+25x3x1
+5x6x15
+11x29x12
+25x24x7
+16x7x20
+20x3x2
+12x27x15
+16x10x12
+1x3x14
+22x1x26
+2x24x18
+11x29x16
+15x2x9
+10x1x24
+21x8x11
+30x11x23
+6x30x21
+13x27x29
+14x6x5
+18x29x19
+12x4x28
+29x3x14
+10x30x28
+5x7x15
+14x1x10
+9x25x14
+7x24x18
+28x17x21
+18x13x25
+26x15x1
+21x1x19
+12x16x21
+4x6x13
+7x15x26
+17x19x5
+12x28x2
+1x20x19
+27x7x5
+17x26x8
+12x15x19
+5x23x10
+8x2x8
+16x13x12
+14x27x1
+26x29x3
+24x16x14
+14x13x13
+7x22x23
+2x9x30
+4x27x8
+26x27x15
+23x1x6
+25x29x18
+5x18x1
+20x8x20
+5x10x25
+30x25x15
+7x22x25
+28x26x17
+29x4x1
+21x11x27
+20x9x8
+25x22x12
+2x11x11
+23x2x16
+23x27x20
+2x13x28
+27x2x24
+11x1x17
+12x4x27
+16x20x22
+30x12x10
+5x15x4
+5x2x27
+12x4x25
+1x16x4
+27x4x4
+21x16x3
+27x26x3
+24x6x6
+24x12x12
+20x20x25
+8x29x2
+21x4x5
+2x4x8
+4x13x19
+3x20x10
+12x15x16
+6x5x4
+12x16x20
+22x19x17
+8x17x22
+25x16x15
+7x1x19
+10x1x7
+23x23x5
+28x6x12
+2x25x12
+10x27x12
+24x27x19
+14x14x20
+4x1x5
+16x27x29
+20x20x24
+28x24x30
+6x15x15
+9x15x30
+23x26x3
+17x24x21
+22x25x25
+18x29x10
+20x25x1
+24x11x16
+20x7x21
+20x7x9
+7x26x2
+5x18x1
+16x26x28
+4x10x18
+27x30x21
+26x9x9
+8x16x14
+6x27x8
+28x9x20
+13x13x4
+9x18x16
+18x15x18
+22x19x14
+14x10x17
+25x29x11
+1x18x19
+8x11x26
+18x6x14
+30x24x13
+27x1x27
+15x9x3
+2x29x17
+2x26x21
+22x9x9
+20x20x20
+22x28x2
+26x5x16
+11x3x14
+21x16x16
+18x26x7
+18x30x6
+7x11x12
+15x10x2
+27x2x16
+27x30x24
+28x14x24
+7x4x8
+6x28x15
+13x19x1
+22x26x30
+7x30x24
+2x17x21
+19x26x2
+19x24x15
+14x23x2
+21x27x15
+30x15x14
+21x29x5
+23x30x2
+4x1x2
+15x5x13
+21x2x30
+20x7x16
+1x21x25
+2x25x1
+12x29x5
+28x13x16
+26x3x12
+29x20x23
+28x12x20
+4x30x8
+16x15x16
+6x16x29
+2x28x13
+24x25x2
+26x15x22
+17x20x11
+18x12x7
+19x1x18
+8x27x13
+22x16x8
+19x26x17
+13x11x10
+22x12x3
+13x12x14
+29x17x9
+6x14x10
+14x20x10
+8x26x9
+25x13x22
+3x30x25
+14x28x1
+30x29x12
+3x17x15
+3x24x14
+28x24x22
+16x6x1
+20x25x14
+17x17x13
+6x19x27
+10x15x20
+8x23x20
+7x29x21
+18x9x25
+10x5x22
+2x27x27
+16x18x30
+15x5x12
+26x29x29
+28x11x10
+9x29x28
+24x15x23
+26x9x10
+5x1x25
+22x27x16
+7x29x3
+1x3x5
+8x7x29
+19x21x11
+28x13x30
+17x16x20
+5x10x25
+9x14x15
+15x14x23
+16x4x17
+21x8x2
+9x9x8
+22x22x4
+10x2x27
+12x19x10
+15x29x4
+22x14x7
+29x18x5
+1x7x27
+24x1x15
+23x23x26
+12x17x23
+26x10x24
+8x22x2
+8x1x10
+22x19x12
+2x23x13
+11x27x25
+26x15x27
+27x7x21
+18x9x6
+22x21x22
+7x12x26
+23x21x13
+14x3x8
+5x9x28
+29x29x15
+27x25x23
+12x2x24
+8x2x20
+29x19x4
+12x24x29
+2x27x28
+14x20x9
+28x6x25
+18x29x8
+19x11x30
+15x11x23
+18x7x7
+14x20x14
+26x18x22
+27x25x13
+12x10x30
+30x2x7
+28x10x1
+18x10x30
+22x11x5
+22x16x3
+25x15x9
+5x10x24
+4x28x8
+19x24x18
+3x4x25
+14x4x30
+11x26x3
+12x12x12
+26x7x24
+3x2x14
+1x27x7
+2x2x13
+3x26x26
+12x4x11
+12x17x20
+4x19x30
+5x18x10
+17x6x18
+19x30x20
+11x2x17
+30x13x19
+22x23x7
+17x28x2
+5x17x30
+7x11x4
+21x26x18
+15x28x4
+5x6x27
+12x6x16
+9x17x12
+27x20x5
+14x5x20
+27x14x6
+2x14x21
+4x28x30
+24x5x1
+19x29x29
+11x23x1
+8x16x21
+3x17x19
+10x13x5
+20x21x16
+23x3x6
+27x26x11
+3x2x22
+14x3x5
+10x9x8
diff --git a/2015/files/3.txt b/2015/files/3.txt
@@ -0,0 +1 @@
+^><^>>>^<^v<v^^vv^><<^<><<vv^<>^<^v>^vv<>v><vv^^<>>^^^v<<vv><<^>^<^v<^>^v><<<v^<v<<<v<<vv<v<^><^>><>v>v^<<v^^<^v<><^>^<<^^^>v>>v^^<v>>^>vv><v>>^>>v^>^v>^<^^v>^>^^v<v>^^<v<>>v^^v><^><^<<>v^<^<^v<v>v^>>>v^v^>^<>^v<^^vv<v>^>^<>^^<vv^<><<v<^<^^>vv<>^>v<^>^v>v^>^v<>^><>><vv<>v^v<><>v^v>>>>v^^>^><^^<v<^><^<v>>^v^v<>v<<<^<<vvvv<<v^vv^>v^^^<^^^<v>>v<^v>>>>>v<^^^^>v<^<><v>>>>><v>>v^vvvv^^<v^<>^v<^v^>v><^>^v<<>>vv^>v>v^^>vv^<^vvv<>><>><><^^^<v<>^<^^^<v><^v>>v>^v<v^vv^<>^^^>v^^^v>>^v^^<^>>^>^<<v>>>^^<>>^vv>v^<^>>>><v<><><^^v<><<<<^^<>>^<vvv^><>v<v<<<<><v<<v>v<v^><vv<v^>^<^>v^^><^v>^^>v<>^v^<>^vv^><v^^vv>vvv>v>^<vv^>>^>>^>><>>>^^^^v<vv>^<>v^^><v^>^<>v<^^v><v<<><^v><>^^^^^v^v>>^^v><<><<vv>^^^^><^>v>><<<^v>v^^>^v^<^^v>v<^<<>>^v<<<v<<>>v<^v^><vv<v^v>v^<v>><v>^v<<<vv^>v<v>>v>>v><v><v^>v^^v>^v^>>>><>^>v>^v^>>>>v^<<vv<^v><<>v<v^<^^<<v<^v^^v^>vv><vv<v^<^>><^^>^<><^^<v<><^v^v^<^^>^<v><^<v>v^<<<^^v<v>^v>>><>^^>vv<<^v^<<<<^^>>>v>v<<<>^^>>>v>^>v>vv<<>^<^><v^>^^<^<v<<v<^>>^v^<vvv><>v^><<v>^^<v^vv^^^<vvv^<^>^>vv>><^v<^<<v<><<><<^^<><><vv>v>^<v>>^<>>^^v>vv^<^^v>><^vv^<<v^^><<>vv<v<><v<><v^^^v^v>^v<^<>v^^>><>^<^<v^<v^v^>v<<<^<<^>>>^^<^^v>v^<v>vvvv>v<>><^>^<<<<v^<v<>v^^^v<>v>^<v<<^^v^^<>^<<v^^<^<v>v>>v>>v^>^<vv<<<<<^<><>v><>>>v^>^v<^<><<v<^v^^<^<><^>^^^>^><>^><<vv>^<>vv<<v^v<<<<<>>>v<vv>^v>^>^>^<^><>v<><>>>^^<v>^<^v>>^<><v^><v^>>>v<v^^vvv^><v<v>v^>vvvv>>><^>v<>^^^>v>>v^<v<>v^>^<v^>^<<^>^>>v<<><<v^^>>v^<v^<^v^>^>v^><<^<v>v^<v>>^^<<v>v><<<^v^<>^<>^>>^<<v>^^<>^v<>v^>>><<v>><v^>^><v^<><v><>><v^<>vv>v^<^^^>v>^^<vv>>^v<><>>><>><^<>>v>v^^>^^<^^>^>>v>vv^^v<^<^v><vv<v<^>><<vvv<<><^>^v>^^^<<>v^<v<v><<v>^^v<<<>^^vv<^>vv>^>^<><<>vv<^>v^vv>^^^v><<^vv>^v<><v^^^^v^>vv^^<^<>^^v^<^vv<v<vv<>v>v^^<>^^>^^>^<><<^v>^><^^vvvv<><>^<v^^>v<>^><>v>><>vv^<<><<>><>v<^>^v>>^^v><<<>>^<^v^<v<<<v^>^^<^<><><^><<<<^<vv><v<<><vvv^^><vv>^<<vv<<<^v<>>><><>>v><<<v>vvvv^^vv<v>><<^v^vvv><><vv>v><>v<<<^<v^>><^^>v^<v>><v>^^^v^v>><<<v<^^>>^v<>v^<vv^^<<v<v>v<<<<^^^v^v<<>>>v>>vv>^^<><^v<v><>>v^>>>>>^>v^v^<^v^v^vvv>v<v<^>vv^<<v>vv>>v^^vv<^v>>>>vv<>v<>^^vv^<v>v^>>vvv<<<v<<^vv^^^^>v>v>^><<<^>v^><v<^<<<v>^v^^^><<><<<^^<^^<>^<v>^<v<<v<^^vv>v<^v><v><v<>^v<^<v<^<v^v><v>><v<v<<>^<v<>>><>^v^v<<^><v^<<v<v^>^>v><^>^vv^^<v<v<vv<v>^v^v^>^<<>>>>>v^<>^>v^vv^><<>>^^<>v^><v>^vvv^>v^v><>^><<>v>v<^<^><^^vv<<><>>v>>v><vv>>^v<<>^vv<>^vv>v>v>^>^>>><><<>v<v>^<<^v^^<<<><v>>vv<^<vv<vv^<<v<<^v><<>v<^^^<<^v^>^v>^^^v^v>>>v>v^v>^>^vv<^^<<vv^>^<<<vv>v^<><<^vvv^^><>vv^v>v>^><<^^^^vvv^<vvv>><^v<^>^<>>^<v<<vv>>><v>vv^<>><v^<v>^v>^>v>^<^<^^^<<vvvv^>>>>>>>v><vv>^<>^^v^><>><^v^^<v^v<<<<v^>><>v^v<vv<><^<<<<^>^^>vv>><^v<v^v<<>^vvv>v^^><^^<^<>>^^v^vv<>v<^<<<v^^^><v<vv<<>v>v<>^v^><v^vv^v^^v<^^v^^v><>v<^v>><<^<^v^>><<vv<<^>^<<v^<>^><>v><vv^v>>^<v<<<^>vv<^v>^>v<<v>^>>^>>v^<v<v>>^v<^v^v><<><>^><<<><v<vvvv<v^<v^v><>^<>^^^^v>^>^vvvvv>v>>v><<vv<<v<><<^><<^v><<v<<<v><vv<^>^v>>>>^v<^v<<>>^>^<<vv^<^>v>><<^>^>^v><><>^><<v<>v^><<^v^<^^><^^v^<<^v^^>>^v^<^><vv>v^^<<^^^<><>^>v^v>v^>^v^vv>^^>>>>^^<^>>>^^v<vv<><^^<vvv<^^^vv>v<v<v>><<<>^>^^>^>^v<<<<>>^<<>><v>>v>^^<^v<>v<>v^>v^><^<^^><v^^v>^^vv<v<<>><<vv<>>v>^<<<<v<<v>^><^^<^<^<v^<<^^v>^v<^>v^v^<v^vv^>^^><^>v^v>>^^v^><vv<v<v<v>>>>><<><v><v^v^<v^<^^<v<>^>v>v<>>>v>^^^^>><v^v^^v<<<>v^<<^<v>>>><^v^<<><v<>>v><><v<v^v>^v^^<v<^<^^v>><<vv<<vv><>>^>^>vv<^<>^vvv^v<v^^<>v^v>^^<<<<<>^v^>^<>v^^<>v^v<vv>^<>vv^<^vv>><v^^vvvvv>><<>v<vv^<^<vv^v^<>^^<v^<vv^<v^v^v<<^>^>^>^^>>>vvv>^>v>v>>>^>vv^><>^><>v>^^<v^>^><<v>><<<>>v<vvvv^>^v<^<>^<v>^<>^^<<><>^v<><>>>^vv<^<<^<^v>v<<<<<^^v<^v<><v<<><^>v>^v>>^v^><^^^^v<><><>vv^<>vv<^v<^^><v^<^><^^v^v^<^^<<><v>v<v<v^<<^v><>v^v<^>vvv><<^v>>v><><v<<^>>>v<^>>v>^<>><>^<v^v^<vv<<^>v<^^>^<^v<^<<^^v<>>^>^>^v^^v^v<v^^vv^<v>>v><vv^vv>v<>v^>v^^>^^>><v><v^<<><<>><<^^>><^v<v<><<><<><v<v^<^<v>>>><v^^v^^>>>^^^^^<<vv<^><>^<<<vv^^^>^><<<v<^v>^<v<^>^vvv<<>vv><<>v>v^v>>>>>^<>><^^^><<<<v><<vv>>>v<^<vv^v^<<v>>>>^^vvv>v<>><v>>>v>>^v^vvv<<>vvv<<^^^<>vv^^v<<>^^^>>^<^v^<^^>v^><v>>^<<^v<<vv<vv>v^>>^>v^><^><>^>>>vv>><^^^>vv<<^^vv><^<>^>^^<^<>>^vv^>>^v><>v^>>><<<^^<^>^>v<^>^<^^<>>><^^<>^v^<<vvv<v><>vvv><v>v^v<<^<v>^^><<^vv^v>v>v<<^v^<<<>^><><vvv>v>^vv^v<>vv^>^^<^>^>v^^<vv^>v><v<<<><>>^v<^<><><^<v^^<<^<v>vv<><<>v^<v^>^>^^<><<>^<^<<v^^v<v^<><<>v>><^<<>^>^v^v<v^v><^>>^v<^>v<<>^^^<^v>>>^<v>vvvv<<v^<^^>vvvv>v<>v<v><vvvvv>^<><>vvv<>^<<>^>>>>v^<^<><^v>v^>>v><>^><<v^>^<<>^>^v^<v^^>>^v><v>^<v><>v^<^^>v>^>>>v^v>>>^<>^<>>>>>v>>vv^v<><<<><><v><<vv<<v<><>>vv<^<vv>^v<<>v^v<^v<><v>>^v>>vvv^^v>>v>^>^>v><v><^>^^<<>^v<^<<<<^>v<^>>v^<^v>^v<<>^>^vvv<^^vv>^vv>vv<>>v>v<v>>v^<<<<<^^v^>v>^<<<v^v>>v<v><vvv><v>^<vv><<>>^<^>^^<>>>>^<^v<>v^^>^<^^v<^><>><v>>^v^vv<^v<^><<vvv<>><>><^^>^<^v^<^<>v<<<^v>v^^^<>v^<v^>^v^>><>^^<v<^><<^^v^<>^<^vv>>><^v><v^>vv<^v<<<v^>>v>v^v>^<v>v<^<>v^vvv>^vv<<<<v><^><v>>^^>><^v><<^>v^^<<v^^<^<><<<<>^<v<^v^>v<<^^>v<<<<<vvv<v<^>^>^>^>>^>>>v^<<v>>^^v><vv<^v<v<^^^>>>^vvv<^v<>>>vv>^^><^v>vv^>>v>v^<>^<vv>^>^<<^>^^^>>^vv>^^>vvvv<>>^^^^>>>v>v^^>vv>vv^<<>^><^<v^vvvv><v<><v>><<<v<v<<^v><vv^vv^<>>>^>^<v<^v<>><^<vv^^><v>v^>v^<><v^vvv>^>v^^v^>^^>v<<<<^<<^>>v>v^^^<<<v>>>^^v>v<v><<<<^^^v>^vv^>><>^v<v<<^^<<<<><>>>v>vvv^v^^v^>>vv>^>><>^v><^v^><^^>vv>^<^<^>><v>v>><><><v>^>^>v>vv>vv>^^>v>v^><v<<v^<>^>^v>^^v>^<^v<>>vvv^^>^>vv<v<v<<^<^<v^<>v^^v<^<^>vv^^<v><^^^>v>vv<<v>v<<v^<v^^><vv>^>^v^<^>v<^>^<>vv^><v<^><>>^>>^<^><<>^<^>v>v><>>>^<<^><<v><^v<v><>>vv<^><v^>>v>v>>>>^^>v<^v^>><<^<>>v><^><<^>^<vv^^<><<>><vvvv^>^^<><^^v>^^>vv>^v<v>>^^v^<v<^><^<<>>v^^^<^><^<<><<v<>><<>^v>vvv^vvv^^>>^<^<v>><>^<<<<^^<>>>v^<<^^v>><><<v<^>v>^v<v^>v>vv^><>^><<><^^>^>^<><>><^^<v^v<^><><><v>^<v<<v^<<^^^v<v<^v<>>><^v<<<<>>^v>^^vv^v^<<v>><<<v>vv>>v>>^v^<>>vv^<^>^<<>v<<<^vv<^vv^vv<^v^^^<vv^>v>>v<^^<^^vvv<^^v<>>>^>v^><v>^^><>vv>v>v<<<^^v<^vv^v>^^^>>>^^<>^^<^vvv>><><<><^<v>><<>^>^^<v^v^>vv>vv<v>^^<^^<<><><<v><v^^>v><v><<>v>vvv<^^^^<^>>><<<^^^<^>vv^^v>>v<<v^^<vv^<^>vvv^^v^^<^<vv>v<^<>^<<vv^^>^v>>^><><>v<v<v<>><v>>>^^>>v^><v^^<^>><>v<><<v^v<v<<>>>><>>>>><<^vvv<<><><<>^><><<^^v><<^>v>^>^v>v>>^^<><^>vv<^<^v>v<><^<<v<><^><>^^^<v^<><vvv^^^<>^^v><v<<<v>><>^>^vv<v^<vv>v>v^vv<v^v<v>^v^>v><>v^><>v>^^^^><<vv^><v<<v<^<>^v^^^>^^><<<v<^<v^>^^>v><vvvvv^<^<v^^>v<^v^^vv^<<<<v><^>v>v^v><><v^<<^<<v<^^^>^><v^v^<><><>^v<v>^<>^v>^v>v^<><^><v>>v<<^><^vv^<><^<>><>><v<v><<^^^^>v<^<^vv<><^vv><<^<<v>v^>>^v>^>v^^v>vv<v>v<<v>v<>^>>vv^>>><>^v^^<^>v<<^<^^v^^v^<<v<<v<^v<>vv^<v>><^v<^>>>vv^^<v^<>^^v<v<v>>^><^^^<><<^^>v<<vv>><<vvv>><<v^v^>><>vv^><<^>^><^v<^<^<vv<^^vv>v^v<<<<<<><<vv^vv>vv>v<^><<><><<>>v>><v><^>^v>^v^<>v^^^><^^<<<^vv^vv>^v^vvv^^>v^<v>><^<^<^<>^vv<vv^v^^>^^^>vv^v>>><<<^<>>v>v<^^<><v>>><><^v^^<<><<<>^<^^v^>v<vv^^^^>><v><^<<v<<v<>^>^>>^<>^v><>>^<v<vv^<<^<<>vv^>^^<<<^v<>>^v<>vvv<<^^<<><vvvvv<<^<^^<>>>>^^<><>^><>^v<v^^v<<v^^<^<^>v<v>^v<^>^v<>v^vv<><<v>^vvv<><<^>>^^><><>^<>^>v^^v^><v<><>>v><v^<v<<v>><^v>^<v<^>v<<<>vvv^<^^v<vvv^vv<>^<>^>>v<>^^><><v>>^><^^vv>><<>><v><^><>>^vv>v<vv<>v^v^^v<<^^<vv>v^^vv<<^<<><>^<><v^><^<^<>>^vv<v>v>>^<^vv>^vv^>v>^<><^><^<>v^v^^<^<>^^v>>><^v<>v^v<<^>v><>^^<<v^v<>v^>>v>^<><vv^v<v^<vv<>^>^>^<^>v><<><><><<<>^>><v^^><^>><v>>^v<<<^<<>^><<^>>>>>v<^>v>>v^<v^>^>v^^><>v^v^vvvv<v<v<>v>>><<>^<<vvv><v^v^>v<v^^^>>^<v>>^vv^^<vv><^>>v<v^><vvv<^^>>vv^v<^<>^v^<<v>^<<><<<^vvv^>^^<<>>><v<^>vv<<^<><^v<^<><<^^>vv^v>v^^^>>>>^>vv<<v>v>>^^v^^><>v<<^><^<v^>>^>v^v>><^v^>v<<^<v><^<^<^<>>v^^>><<<>v<v>v<^^>^vv<<<^^<v<>v^^>v<<><^<>^^>^v<>v>><^^^vv^>^><>v^^<v^<>>^<v^^^><v<><vvv>v>^<<^v>^>>>>><^^^<>v<v>>v^^<^v^>>v^<<v^>^>v^v>>>>^>>vv<>^<^v><v^^<>v>v^v>^<>^>v<vv><<v<^v<<^v<<^v^vv<><>^<>>^<>>^<>v^><<>^v>>^^^^<<^v><>^<^>^^v><^^<^<v^<^^v>^v><vv>v<<^>^>><<^^^vvv<<^vv<^^>v^^vv^<^^<<^^>>^^<vv<v<<v^^<<v<^vvv<<><<v>v^>>v^^>v<^>^><v<^>v<v^v<v^^<>v>><<v^v^v<^^^><v>v><^<^vv>^^v>^>v<<^vv><^^^^^^><<^>>>^v<>^^v<<<>><<<v^><>^<<<v>v^>^^^<^><v>^^^v<<>v<v>^<v^>><<^^<<^v<<>^v>>vv>><v<^><v<<<vvv><vv><<^v^^<v^vvv<^v>>v^v<v^v^>>^^v<><^^^<^^>v>^<><v<<v^^>vvv^v^^<v<v^v>^>v^^v<^><v^^<<<<>^^>>^v<><^><^<<^vv^<><<>v^vv^<v^<><<<^^>v<<>>>v<>v<><<<v>^v>^^v>^^>v>^>^>v<>><>^>^>^vvvv<^<v^<>^^^^v>v>><<v>>^<vv>>^<v<^v^vv>><>^^>v^^<<><^<v>><<<<>v>^^><v^^v<<v<><vv^v>^<v^^>v<<<<v^v<<>>vv<v<<<v>v>>v<^v>>v>v^<<<>^>^>^<>v<^^vv><^v<<^v<vvv^vv>v<^<<^^vv^^>vv<^>v>^^<<v^<<^^v<>^>v<<^^<^>^^^v^^<v<^<^>>>v^vv^<^v>^<>^<^<v<^v>>>^<^v<><v<^vv<v>v><v^v^^v<vv><^^<><>^>v<^<^vv>><^v><v<>^<>^^>^<><<<v^>>^<>><<><v>vvv^<<^<vv<v><v<^<<<^>^>>v<^>>vv>^v^^^v<>v<>><>^vv^>vv^+
No newline at end of file
diff --git a/2015/puzzle_1.bqn b/2015/puzzle_1.bqn
@@ -0,0 +1,8 @@
+#! /usr/bin/env BQN
+
+input ← ⊑ •FLines "files/1.txt"
+
+b ← 1 -˜ 2 × '(' = input
+
++´b #part 1
+1 + ⊑/0 > +`b #part 2
diff --git a/2015/puzzle_2.bqn b/2015/puzzle_2.bqn
@@ -0,0 +1,6 @@
+#!/usr/bin/env BQN
+
+input ← •BQN ¨ {'‿'¨⌾(('x'=𝕩)⊸/)𝕩} ¨ •FLines "files/2.txt"
+
+•Show +´(⌊´¨y)++´¨2×y←(×´¨⊢⋈¨1⌽⊢)¨input #part 1
+•Show +´(×´+2×+´-⌈´)¨input #part 2
diff --git a/2015/puzzle_3.bqn b/2015/puzzle_3.bqn
@@ -0,0 +1,8 @@
+#!/usr/bin/env BQN
+
+input ← ⊑ •FLines "files/3.txt"
+
+G ← +` ⟨0‿0⟩ ∾ (⟨0‿1,0‿¯1,¯1‿0,1‿0⟩ ⊑˜ (/"^v<>" ⍷˜ ⊢))¨∘⊢
+
+•Show ≢⍷ G input #part 1
+•Show ≢⍷ (∾○G)´ (⊢⊔˜2|↕∘≠∘⊢) input #part 2