Probably should commit or something...
change
commit f6437b1d63b43b7d4755ec12c6fecbe17b4f93e0
author Alpha Chen <alpha.chen@gmail.com>
date
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..52bf0ab
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem "minitest"
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..df3e92e
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,13 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    minitest (5.8.3)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  minitest
+
+BUNDLED WITH
+   1.10.6
diff --git a/day_01.rb b/day_01.rb
new file mode 100644
index 0000000..5f20f31
--- /dev/null
+++ b/day_01.rb
@@ -0,0 +1,15 @@
+floor = DATA.read.strip.each_char.with_index.inject(0) do |n,(i,index)|
+  puts "Entered basement at index #{index}" if n == -1
+  n + case i
+      when ?(
+        1
+      when ?)
+        -1
+      else
+        fail "Unexpected input: #{i.inspect}"
+      end
+end
+
+puts floor
+__END__
+()()(()()()(()()((()((()))((()((((()()((((()))()((((())(((((((()(((((((((()(((())(()()(()((()()(()(())(()((((()((()()()((((())((((((()(()(((()())(()((((()))())(())(()(()()))))))))((((((((((((()())()())())(())))(((()()()((((()(((()(()(()()(()(()()(()(((((((())(())(())())))((()())()((((()()((()))(((()()()())))(())))((((())(((()())(())(()))(()((((()())))())((()(())(((()((((()((()(())())))((()))()()(()(()))))((((((((()())((((()()((((()(()())(((((()(()())()))())(((()))()(()(()(()((((()(())(()))(((((()()(()()()(()(((())())(((()()(()()))(((()()(((())())(()(())())()()(())()()()((()(((()(())((()()((())()))((()()))((()()())((((()(()()(()(((()))()(()))))((()(((()()()))(()(((())()(()((()())(()(()()(()())(())()(((()(()())()((((()((()))))())()))((()()()()(())()())()()()((((()))))(()(((()()(((((((())()))()((((()((())()(()())(())()))(()(()())(((((((())))(((()))())))))()))())((())(()()((())()())()))))()((()()())(())((())((((()())())()()()(((()))())))()()))())(()()()(()((((((()()))())()))()(((()(((())((((()()()(()))())()()))))())()))())((())()())(((((())())((())())))(((())(((())(((((()(((((())(()(()())())(()(())(()))(()((((()))())()))))())))((()(()))))())))(((((())()))())()))))()))))(((()))()))))((()))((()((()(()(())()())))(()()()(())()))()((((())))))))(())(()((()()))(()))(()))(()((()))))))()()((((()()))()())()))))))()()()))(()((())(()))((()()()())()(((()((((())())))()((((()(()))))))())))()()())()))(()))))(()())()))))))((())))))))())()))()((())())))(()((()))()))(())))))(()))()())()()))((()(()))()()()()))))())()()))())(())()()))()))((()))))()()(()())))))()()()))((((()))()))))(()(())))(()())))((())())(()))()))))()())))()())()())))))))))()()))))())))((())((()))))())))(((()())))))))(()))()()))(()))()))))()())))))())((((()())))))))())))()()))))))))()))()))))()))))))(())))))))))())))))))))))))))())())((())))))))))()))((())))()))))))))())()(()))))))())))))()()()())()(()()()(()())(()))()()()(()())))())())))()))))())))))))()()()()())(())())()())()))))(()()()()()))))()))())())))((()())()())))()))()))))(()())))()))))))))(((()))()()))))))))))))))))))))(()))(()((()))())))())(()))(()(()(())))))()(()))()))()()))))))))))))()((()())(())())()(())))))())()())((()()))))(()()))))())()(())()))))))))))))))))))))()))(()(()())))))))()()((()))()))))))((())))()))))))))((()))())()()))())()()))((()))())))))))))))(()())()))(())((()(()()))(()())(())))()())(()(())()()))))()))()(()))))))(()))))))))))(()))())))))))))())))))())))(())))))()))))(())())))))))))()(()))))()())))())(()))()())))))))))))))())()()))))()))))))())))))()))))(())(()()()()((())()))())(()))((())()))())())(())(()()))))()))(())()()((())(())))(())))()))())))))))))()(((((())())))(())()))))(())))((()))()(((((((()))))()()))(())))))()(()))))(()()))()))())))))))(()())()))))))))())))(()))())()))(())()((())())()())())(()(()))))()))))))((()())(())()()(()())))()()))(())(())(()))())))()))(()))()()))((((()))))()))((()()()))))()))()))())))(()))()))))(())))()))())()(()))()())))())))))))())))())))()()))))))(()))())())))()))()()())())))))))))))))())))()))(()()))))())))())()(())))())))))))))))))))))()()())())))))()()()((()(()))()()(())()())()))()))))()()()))))))((()))))))))()(()(()((((((()()((()())))))))))))()))())))))((())())(()))())))())))))())()()())(())))())))()())())(())))))))()()(())))()))())))())())())()))))))))()))(()()()())())())))(())())))))))()()())()))))())))())()(())())))))))()())()))(()()(())())))()(()((()()((()()(((((())(()())()))(())()))(())))(())))))))()))()))((()))()))()))))))))()))))))))((()()())(()))(((()))(())))()))((())(((())))()())))())))))((())))))(())())((((((())())()(()))()(()((()())))((())()(()(()))))(())(()()())(())))())((()(((())())))(((()())())))())()(())())((((()()))))())((()))()()()()(())(((((((()()()((()))())(()())))(())())((((()()(()))))()((())))((())()))()(((()))())))()))((()(()))(())(()((((())((((()()(()()))(((())(()))))((((()(()))(())))))((()))(()))((()(((()(()))(()(()((()(())(()(()(()(()()((()))())(((())(()(()))))(()))()()))(())))(())()(((())(()))()((((()()))))())(()))))((())()((((()(((()))())())(((()))()())((())(())())(())()(())()(()()((((((()()))))()()(((()()))))()())()(((()(()))(()(()())(()(()))))(((((()(((())())))))(((((()((()()((())())((((((()(())(()()((()()()()()()()(()()))()(((()))()))(((((((())(((()((()())()((((())(((()(())))()((()(()()()((())((()())()))()))())))())((((((()))(()(()()()))(()((()(()(()))()((()(((()()()((())(((((())()(()))())())((()(())))(()(()())(())((())())())(((()()()(())))))())(()))))))()))))))())((()()()))((()((((((()))(((()((((()()()(((()))())()(()()(((()((()()()()())()()))()()()(()(())((()))))(()))())))))))()(()()(((((())()(()(((((()((()(()()())(()((((((((()((((((())()((((()()()((()((()((((((()))((())))))))())()))((()(()))()(()()(()((())((()()((((((((((((()())(()()()))((((()((((((())(()))())(()()((()()))()(((((((()((()()((((((()(((())))((())))((((((((()()(((((((())(((((()())(((())((())()((((()(((((((()(()(((()((((((()(((()(((((((((((()()((()()(()))((()()(((()(((())))((((())()(()(((())()(()(((())(((((((((((()))())))((((((())((()()((((()())())((((()()))((())(((((()(()()(()()()((())(()((()()((((()(((((()((()(()((((()())((((((()(((((()()(()(()((((())))(())(())(())((((()(()()((((()((((()()((()((((((())))(((((()))))()))(()((((((((()(((())())(((())))(()(()((())(((()((()()(((((()((()()(((())()(()))(((((((())(()(((((()))((()((()((()))(())())((((()((((())()(()))(((()(((((((((((((((())(((((((((()))(((()(()()()()((((((()((())()((((((((()(())(((((((((((()(()((())()((()()(()(()()((((()()((())(()((()()(()()((((()(((((((())))((((())(())()(((()()((()()((((()((()(((()((())(((()()()((((()((((()()(()(()((((((((())(()(((((())(()())(((((((()())()(()((((()((())(()()())((((()()(((()((((())(())(()()(((((((((()()))()(((())(()(()((((((())(()()())(()))()()(((()(((()((())(()(((((((()(()(()((()(((((()(()((()(()((((((()((((()()((((()(((()((())(()(()((()()((((()()(())()(())(((())(()((((((((()())(((((((((()(())()((((())))()))()()(((((()()((((((())(()()(((()(()(((((((()(()(((((((())(())((((()((()(())))((((()()())(()))((()())((((()(((((()(()(())(()(()()())(((((()(((((()((((()()((((((((()()))(()((((((())((((())()(()(((()()()(((()(()(())(())(((((()(())())((((())(())(()(((()(((((())((((())())((()(((((((()(((())(()(()))(((((((((()((()((()()(()((((())(((()((())((((())(()(((()(((()(()((((()(((())(()(((()(()()(()(()((()()(()())(())())((()(()(((()(((()(((()()(((((((((()(((((((((()()(((()(((()())((((()(()(((()()()((())((((((((((())(()(((()((((()())((((()((()))(((()()()(((((()(((((((())((()())(()((((())((((((((())(()((()((((((((((()()((()((()()))(((()())()())()(((()())()()(()(()(((((((())()))(())()))())()()((())()((()((((()((()((())(((((()((((((()(())))(()))())(((()))((()()(()(((()))((((())()(((()))))()(()(())()(((((())(()(()(())(())()((()()()((((()(())((()())(()(()))(()(()(()()(())()()(()((())()((()))))()))((()(()()()()((()())(()))())()(()(((((((((())())((()((()((((((())()((((())(((())((()(()()()((())(()((())(((()((((()()((()(()(((((())()))()((((((()))((())(((()()))(((())(())()))(((((((())(())())()(())(((((()))()((()))()(()()((()()()()()())(((((((
diff --git a/day_02.rb b/day_02.rb
new file mode 100644
index 0000000..9e23e34
--- /dev/null
+++ b/day_02.rb
@@ -0,0 +1,1013 @@
+# sqft = DATA.read.each_line.inject(0) do |sqft, line|
+#   l,w,h = line.split(?x).map(&:to_i)
+#   dimensions = [l*w, w*h, h*l]
+#   sqft + 2*dimensions.inject(&:+) + dimensions.min
+# end
+# puts sqft
+
+ribbon = DATA.read.each_line.inject(0) do |ribbon, line|
+  l,w,h = line.split(?x).map(&:to_i)
+  ribbon + 2*[l,w,h].min(2).inject(&:+) + l*w*h
+end
+puts ribbon
+__END__
+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/day_03.rb b/day_03.rb
new file mode 100644
index 0000000..fff7181
--- /dev/null
+++ b/day_03.rb
@@ -0,0 +1,34 @@
+Location = Struct.new(*%i[x y]) do
+  def +(a_location)
+    Location.new(self.x + a_location.x,
+                 self.y + a_location.y)
+  end
+end
+
+direction = Hash[{ ?^ => [0, 1],
+                   ?v => [0, -1],
+                   ?> => [1, 0],
+                   ?< => [-1, 0] }.map {|k,v| [k, Location.new(*v)] }]
+
+# location = Location.new(0,0)
+# houses = DATA.read.strip.each_char.with_object(Hash.new {|h,k| h[k] = 0 }) do |char, houses|
+#   houses[location] += 1
+#   location += direction[char]
+# end
+# houses[location] += 1
+
+santa = Location.new(0,0)
+robo_santa = Location.new(0,0)
+houses = DATA.read.strip.each_char.each_slice(2).with_object(Hash.new {|h,k| h[k] = 0 }) do |(s, rs), houses|
+  houses[santa] += 1
+  houses[robo_santa] += 1
+  santa += direction[s]
+  robo_santa += direction[rs]
+end
+houses[santa] += 1
+houses[robo_santa] += 1
+
+puts houses.select {|_,v| v.size > 1 }.size
+
+__END__
+^><^>>>^<^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^
diff --git a/day_04.rb b/day_04.rb
new file mode 100644
index 0000000..1f9f5f1
--- /dev/null
+++ b/day_04.rb
@@ -0,0 +1,9 @@
+require "digest/md5"
+
+key = "ckczppom"
+index = 1
+# until Digest::MD5.hexdigest("#{key}#{index}").start_with?("00000")
+until Digest::MD5.hexdigest("#{key}#{index}").start_with?("000000")
+  index += 1
+end
+puts index
diff --git a/day_05.rb b/day_05.rb
new file mode 100644
index 0000000..c7cadfc
--- /dev/null
+++ b/day_05.rb
@@ -0,0 +1,1032 @@
+# class String
+#   BAD = %w[ ab cd pq xy ]
+
+#   def nice?
+#     # It contains at least three vowels (aeiou only), like aei, xazegov, or aeiouaeiouaeiou.
+#     self.count("aeiou") > 2 &&
+#       # It contains at least one letter that appears twice in a row, like xx, abcdde (dd), or aabbccdd (aa, bb, cc, or dd).
+#       self =~ /(.)\1/ &&
+#       # It does not contain the strings ab, cd, pq, or xy, even if they are part of one of the other requirements.
+#       BAD.none? {|bad| self.include?(bad) }
+#   end
+# end
+
+# require "minitest"
+# class TestNice < Minitest::Test
+#   def test_nice?
+#     assert "ugknbfddgicrmopn".nice?
+#     assert "aaa".nice?
+#     refute "jchzalrnumimnmhp".nice?
+#     refute "haegwjzuvuyypxyu".nice?
+#     refute "dvszwmarrgswjxmb".nice?
+#   end
+# end
+
+class String
+  def nice?
+    self =~ /(..).*\1/ && self =~ /(.).\1/
+  end
+end
+
+puts DATA.read.each_line.count(&:nice?)
+__END__
+rthkunfaakmwmush
+qxlnvjguikqcyfzt
+sleaoasjspnjctqt
+lactpmehuhmzwfjl
+bvggvrdgjcspkkyj
+nwaceixfiasuzyoz
+hsapdhrxlqoiumqw
+lsitcmhlehasgejo
+hksifrqlsiqkzyex
+dfwuxtexmnvjyxqc
+iawwfwylyrcbxwak
+mamtkmvvaeeifnve
+qiqtuihvsaeebjkd
+skerkykytazvbupg
+kgnxaylpgbdzedoo
+plzkdktirhmumcuf
+pexcckdvsrahvbop
+jpocepxixeqjpigq
+vnsvxizubavwrhtc
+lqveclebkwnajppk
+ikbzllevuwxscogb
+xvfmkozbxzfuezjt
+ukeazxczeejwoxli
+tvtnlwcmhuezwney
+hoamfvwwcarfuqro
+wkvnmvqllphnsbnf
+kiggbamoppmfhmlf
+ughbudqakuskbiik
+avccmveveqwhnjdx
+llhqxueawluwmygt
+mgkgxnkunzbvakiz
+fwjbwmfxhkzmwtsq
+kzmtudrtznhutukg
+gtvnosbfetqiftmf
+aoifrnnzufvhcwuy
+cldmefgeuwlbxpof
+xdqfinwotmffynqz
+pajfvqhtlbhmyxai
+jkacnevnrxpgxqal
+esxqayxzvortsqgz
+glfoarwvkzgybqlz
+xdjcnevwhdfsnmma
+jyjktscromovdchb
+pvguwmhdvfxvapmz
+iheglsjvxmkzgdbu
+lwjioxdbyhqnwekv
+zcoguugygkwizryj
+ogvnripxxfeqpxdh
+hkvajhsbfnzsygbm
+cnjqeykecopwabpq
+wojjtbcjinoiuhsj
+kpwpvgxbyzczdzjq
+wrvhylisemlewgzk
+uiezkmnhilfzahtm
+mucteynnuxpxzmvt
+zaiwbgxefusfhmst
+apptbogpxivjwink
+qryboarjtwjhjgjb
+irehxupgyseaahzd
+fobstqxguyubggoh
+ysriumfghtxtfxwe
+auchdmasvfeliptw
+mztuhefcrnknyrdl
+tyjmkhihbwabjtaa
+yquzkdtgsljkaebw
+almvdvofjtkyzbmd
+emqftiuqqpdwwbrv
+hrrhmqfpepvbawvw
+atrkgykycvgxbpyb
+dhthetnealksbdan
+zzqafhgicubptiyo
+qdtaieaziwhbttnw
+kyskgapdgqrtrefw
+edwzlpqztpydmdlr
+awszjnlmvlyqsuvl
+kcrtmtshtsgixvcp
+jtaskgkijivbbkri
+mmggfwapsetemiuj
+itagrrnjbnmhgppd
+uqmbezechbrpbnqq
+nnyimvtascflpzsa
+knqeimypkdttyudj
+vgoiyvtvegwyxjjd
+qubzdxsbecktzrho
+zehojtvktsbbxijb
+xepmjrekwcgoxyoh
+bnptxnocbpbqbyeq
+sfvynsywscbnymos
+dsltfbpcmffbluba
+kncrlzlmkikylppa
+siwudrvmildgaozv
+jhhefbvbvneqzvtc
+lqjgztxitbuccqbp
+himmwlbhjqednltt
+vwognchyertnnfil
+eejakhapkbodrntf
+qxuijkkhhlskgrba
+aankpfxxicfpllog
+vuxykvljyqexfhrn
+epgygflbxlbwybzq
+zuxmwvetmvcszayc
+xttwhfqmemgtjnkf
+hftwldmivyfunfvl
+bejlyxfamzliilrj
+zkehazcxyyvtrxti
+dsgafehmcfpycvgz
+igremmqdojqdvwmb
+swnjzvmhcslvkmiw
+fchzbfbmtqtxmaef
+xwjmyyrlznxrcytq
+brwcwzpcvbwdrthl
+fvrlridacsiojdmb
+mhsturxdlmtxozvy
+usxvqyrwywdyvjvz
+gwazuslvmarfpnzm
+rgkbudaqsnolbcqo
+dpxvlbtavdhdedkj
+nnqmjzejhodyfgyd
+ozoazxkfhujgtzvy
+psdgvhzdiwnuaxpl
+tznkilxpogbzgijz
+wnpytcseirtborhh
+lhauurlfsmagfges
+oqfbzixnlywkzwwy
+yoehapoyjpakziom
+vtjftdcsfdzbmtrn
+zcshfnodiwixcwqj
+wapbxpaxgjvtntkm
+qfyypkyvblrtaenh
+bsxhbxkovgukhcza
+kitdmvpiwzdonoyy
+slkbhxmehzavbdsf
+dovzjouqkzkcmbkl
+qpbigdcqkfnfkxvq
+eaiaquhnesvtcdsv
+mhbezlhqojdsuryj
+dqprkkzxlghkoccx
+xqepmorryeivhrhm
+frwmrjpezwmjflvf
+gjpfgwghodfslwlf
+fzyvajisdjbhfthq
+pvzxkxdscdbilrdb
+mtaxmqcnagmplvnm
+rlyafujuuydrqwnc
+gvqvrcxwyohufehq
+lmrkircgfrfusmfd
+ovlpnkxcpimyaspb
+xhyjremmqhdqywju
+pxfczlhpzbypfarm
+utjhprzhtggausyp
+utzkkzlnyskjtlqh
+cecbcnxpazvkedic
+xwvoaggihrbhmijq
+krredhmtwlfmyagw
+lwfhxgbknhwudkzw
+vyczyvuxzmhxmdmn
+swcoaosyieqekwxx
+waohmlfdftjphpqw
+gaclbbfqtiqasijg
+ybcyaxhluxmiiagp
+xgtxadsytgaznndw
+wzqhtjqpaihyxksm
+fdwltsowtcsmsyhm
+rpoelfbsararhfja
+tswgdacgnlhzwcvz
+xjgbhdlxllgeigor
+ksgthvrewhesuvke
+whgooqirdjwsfhgi
+toztqrxzavxmjewp
+hbkayxxahipxnrtl
+lazimkmdnhrtflcu
+ndoudnupbotwqgmr
+niwuwyhnudxmnnlk
+hlmihzlrpnrtwekr
+wzkttdudlgbvhqnc
+rfyzzgytifkqlxjx
+skddrtwxcyvhmjtb
+mljspkvjxbuyhari
+xwkhozaoancnwaud
+nookruxkdffeymdz
+oiqfvpxmcplyfgoa
+qoxggshmrjlzarex
+lsroezewzkrwdchx
+nkoonmvdydgzspcl
+lygxeqztdqklabov
+jempjyzupwboieye
+hpdaqkhjiddzybly
+cvcizjlnzdjfjlbh
+vaaddsbkcgdjhbkj
+pjxmtxoyrkmpnenf
+ujqdvyqnkbusxlps
+miyvzkzqploqaceb
+gapcsbkulicvlnmo
+xqpcyriqhjhaeqlj
+ipumdjwlldzqhmgh
+swdstecnzttmehxe
+ucmqordmzgioclle
+aywgqhmqlrzcxmqx
+ptkgyitqanvjocjn
+wcesxtmzbzqedgfl
+rnetcouciqdesloe
+chpnkwfdjikqxwms
+onpyrjowcuzdtzfg
+tydnqwaqwkskcycz
+dhamguhmkjzzeduy
+oecllwyrlvsyeeuf
+gsukajpoewxhqzft
+sgdnffdixtxidkih
+pqqzjxzydcvwwkmw
+wnjltltufkgnrtgm
+hylaicyfrqwolnaq
+ovfnugjjwyfjunkm
+xknyzsebmqodvhcl
+uwfmrjzjvvzoaraw
+zaldjvlcnqbessds
+zphvjuctrsksouvz
+ceqbneqjwyshgyge
+wmelhaoylbyxcson
+nghuescieaujhgkj
+dhjmflwwnskrdpph
+exvanqpoofjgiubf
+aidkmnongrzjhsvn
+mdbtkyjzpthewycc
+izctbwnzorqwcqwz
+hrvludvulaopcbrv
+mrsjyjmjmbxyqbnz
+sjdqrffsybmijezd
+geozfiuqmentvlci
+duzieldieeomrmcg
+ehkbsecgugsulotm
+cymnfvxkxeatztuq
+bacrjsgrnbtmtmdl
+kbarcowlijtzvhfb
+uwietqeuupewbjav
+ypenynjeuhpshdxw
+fwwqvpgzquczqgso
+wjegagwkzhmxqmdi
+vocvrudgxdljwhcz
+nnytqwspstuwiqep
+axapfrlcanzgkpjs
+lklrjiszochmmepj
+gxadfpwiovjzsnpi
+qidsjxzgwoqdrfie
+wgszciclvsdxxoej
+kwewlmzxruoojlaq
+ywhahockhioribnz
+ucbqdveieawzucef
+mdyyzmfoaxmzddfv
+hsxnabxyqfzceijv
+vivruyvbrtaqeebr
+jxfeweptjtgvmcjc
+mmypqxmpurhculwd
+mpiaphksvctnryli
+xqzqnuxmuzylkkun
+fndmtefjxxcygtji
+dnorqlldvzqprird
+nutokyajmjpwjaqu
+vlupfperqyqkjcaj
+dgihjeokrphkpdnk
+nvbdyrlheqzixuku
+mhrkntnxvsmvrpka
+kvhkyanlhhymwljf
+fhipumtegqfgeqqw
+vpfjgveycdefuabu
+kzincljffncylcsf
+tsezxymwmjtyegqw
+wxhcdrqedkdcwxli
+ueihvxviirnooomi
+kfelyctfvwyovlyh
+horzapuapgtvzizz
+iiqkdpmfvhwwzmtj
+rsaclclupiicstff
+quwkkhrafypkaoum
+gyrgkgmwqfkeudfe
+noydhbqacwptyfmy
+efwwuipzgtkwffhf
+suyojcitomdxsduh
+lbcxnsykojkufkml
+zpglsvoutvzkgdep
+usgrufyvgsbsmbpr
+katrrwuhwvunjqor
+btngwrpcxoyfbgbc
+bxjscjdiowjrkpns
+nwxvnfrnlkgqxvhf
+ikhyqkvljucgdlag
+xibnxsjopmxvflkl
+mzplumcfivqcjqnz
+jqflcxoxzlbwlxry
+fcscvmfepdxrshxe
+wlpffwunffklzbuc
+emvrlqajjgwzfmle
+rhaheurtzrfoqkyq
+ifuuhpxmadaysfsx
+ncyfvleyzqntpcoo
+zeogmyaqccmtvokd
+jqppbzebppdnpurn
+xixarswxsiwjzgni
+ezruwzajsoombphs
+hmiqfeizyprielxf
+jnaoxljnftymsfey
+extgzrxzovlsixnf
+yhyfmovvlrwoezsv
+ffnybaolppuzpjym
+pqowimdiusccaagn
+jgceiosiihpjsmnu
+hkoexeaopebktngx
+njhzuvsygymejqav
+yjkgcclgtvushcfk
+gmbjxhnkkxlihups
+pdlwysadiebsidjz
+omrwmgzulfoaqros
+ofvvgdezwvcffdcy
+otytpuklhxcpxhgd
+eyfaosxdauumvlux
+mvdthjfstrlqlyuo
+mdgdchgnlxaxspdm
+bakjezmhbwqxzevd
+msakswaphdwaodhg
+vjcqscgdbnsxdllh
+jjywaovewbuzreoj
+nqvplhwacylifvwk
+lpwmpixbxysmsign
+flcvbpxrchcpbgcb
+qjpkeuenenwawlok
+bnqkflfmdmntctya
+fzsgzpoqixvpsneq
+icwfdisutoilejld
+relchofohnkwbumi
+aljalgdaqwhzhfwr
+cahkvnwnbwhodpqs
+dnrzeunxiattlvdm
+nsmkhlrpwlunppjs
+mqqsexlwfqnogwub
+tfavelkqrtndpait
+ooguafrnmprfxcnz
+ntynkiordzxtwrqa
+rkkyzlxekqqlkvym
+ofxcivdnwcmgfnme
+ywotqwbrqxlrnobh
+nrbbiypwhrqihvev
+flqsjixxtydheufs
+lcfrfzypstrqctja
+hyzbuzawuzjrynny
+exfbywcnstebnvmq
+vydzwnbmcihvqrnj
+qmwqaaylinzrdmiw
+lpxpztpvfggspeun
+lhxmqqbracsuyrfm
+zgkwsrabaseidbrw
+yjlmbhbqsqgszsun
+mqfzqtbxtuteabtd
+izomzdmcqmfrevwd
+iqijrlqurdwrkoln
+fxhqzpgoxxjkkhql
+oulwontmgrjeopnk
+edaigfydjexvzzvj
+vjhybiklxpxjqpwc
+ypxfbfnpbmqmwtte
+xzvcsgasztrxdzud
+rpulqmobptfarboo
+palacmdijxzzykrf
+jmllwukplufohiby
+dnswayomusiekfmy
+sxbrjqtqgzzwhcfo
+lylvndsgbnbqiejm
+jaxxhoulxnxnaenr
+nblissutfazbcpwn
+zmlsjszzldvbiacr
+kewojtlchfkclqwk
+eqvfjasddggvfame
+yibzqlvxtraxpdon
+dgnbxsbmdrtyvaac
+uoxrcxfimhgtxqhy
+xfdxalrwcwudlviq
+xmtbdklqptoswpwl
+zezyopzdztdjerfl
+xuzluhjsqvhytgbc
+qdjtmeckispmgzki
+phakupesplzmmmvc
+gpuoqfffumzszybn
+bhywxqkrrlwuebbw
+ibvwgoyvelzenkzl
+ncohvvbmiekbaksa
+fzuvqzvxvdbeirrp
+lshtzniokucwojjd
+punrduvlnrulkium
+gnfpikidnfobrrme
+vxkvweekmnvkzgyl
+rhydssudkcjlqgxn
+cjtqvlaahohcgumo
+jwzmfyinsfwecgcb
+blpeseqhlzfilpuf
+jvtpjkyokzcvagon
+qjomincbcobjczpe
+ugsyzkzgdhxtmsfz
+hleaqgwzqjwajcra
+coumfghptpnxvvov
+hqpnbupnzwpdvgqd
+cpouyodqxgviasem
+lljvxeyozckifhfd
+huqtnvutdyfgwtwa
+yenlveuynmlmmymu
+ojdyufkomxiwjmbf
+spjzgvcwvzgffjkk
+vxykmjhyvmhyssbp
+tazdeqggfcjfvwwn
+uumwcngwcytvpufx
+avovuzkrevloneop
+owczrtbnrvjfemkt
+hzpugcanaxyvaokj
+iishlodnxvjtgzyn
+qosdonclrnxirham
+eonqlnwevahydddg
+ryqmnuikftlxuoqy
+whqepbcwabzbthha
+vekisvnwhgpyemxr
+lrwxzoamnvpnlhap
+ywepvqthnorfswjv
+evqwvsoazmwyypjy
+bgwoojddubppmjxf
+jypkfrthzgtyeddi
+tynabbhfjzkrqsju
+adxstbfqheuqbcuk
+gqwqiocdyqoiblrx
+ybuddlyuskdlegxv
+luwynbsmpgyeqsbr
+ltyqgqoyljibqndo
+jaedpajzphfybajh
+epglnrxofptsqvmy
+zjdpxkngfkstxbxh
+ekegphcwanoickfu
+cqvhuucvejqirvfs
+uqudnnqumsqcgefo
+qnzunermlnpcfflo
+ovyxaniqaawzfuxx
+djekxcezjowdhopq
+bwtwbmdehrhpjnlk
+nilsnlacerweikfa
+hyrigsrmsrzcyaus
+gvmdmgddduylmxic
+ewzovdblhmjgjwsk
+ojjfsknlonzguzlq
+yjgfruvpjvlvrvvq
+cyoryodwyhzwprbv
+crsjclrurcquqgut
+sjhfhobwtojxcmem
+ibxfjudilmdeksea
+uqbhdbjoeupyhbcz
+uqbxigzxuxgmjgnw
+jashafmtzrhswirg
+dexiolovaucyooka
+czjbwwnlwcoqnoiu
+ojigosazigfhttjc
+zfiqtgrqbmftknzn
+dlzbmvmolssbqlzl
+sgmchcurrutdtsmw
+scdwjqsdohcdrwry
+cgtdvecqwplpprxn
+iiplenflfczaktwi
+wmgnwfxfcjhyeiqg
+giihshowtcatecvl
+nqhzfincclumvkaz
+kxstpzgdfvepionc
+agbhxcijxjxerxyi
+hmgfqevgdyvisyvs
+tthakmvpowpvhtao
+ottalcghygpaafbo
+aplvozayycremgqg
+dbjxlnaouxqtdpfz
+peeyallzjsdvpalc
+ndtdjyboixuyhfox
+llabnbcobexfoldn
+cweuvfnfyumbjvxr
+ewkhhepaosalnvkk
+pivyiwsiqpwhagyx
+auzsnwdcerfttawt
+grbfrekupciuzkrt
+byfwzadtzrbndluf
+lluypxjeljzquptk
+pskwsnhqanemtfou
+sxvrtqqjdjkfhhrm
+ulsmqgmshvijyeqh
+qigofesfhekoftkf
+zhatniakqtqcxyqa
+uuczvylgnxkenqee
+mlitvtuxknihmisc
+srrtrxdvcokpyfmz
+osispuucklxcfkeb
+vqhazlaulmnpipql
+umkiueljberqhdig
+knvpbkbvgoqzwprp
+nbsocqikhuvsbloj
+wjnpepjkzkednqbm
+agbhmytsofuyqcor
+gvogzhkkpxyfecko
+ardafguxifeipxcn
+yiajcskbgykyzzkw
+sejunbydztyibnpq
+dqrgfggwcnxeiygy
+xnqqwilzfbhcweel
+jjtifhlvmyfxajqi
+gwszrpgpmbpiwhek
+kydzftzgcidiohfd
+efprvslgkhboujic
+kecjdfwqimkzuynx
+rildnxnexlvrvxts
+dlnhjbqjrzpfgjlk
+qluoxmzyhkbyvhub
+crydevvrjfmsypbi
+dosaftwumofnjvix
+pwsqxrfwigeffvef
+nzyfmnpwqyygjvfx
+iccbckrkxlwjsjat
+bmputypderxzrwab
+bhuakynbwnlreixb
+qmrzfyqjiwaawvvk
+juvtixbkwyludftn
+zapmjxmuvhuqlfol
+paiwrqjhpjavuivm
+tsepfbiqhhkbyriz
+jpprewufiogxoygk
+mmapyxbsugcsngef
+pduhmgnepnpsshnh
+aetndoqjvqyjrwut
+fnfvlorhwpkkemhz
+gedfidpwvoeazztl
+beclvhospgtowaue
+wsclsvthxustmczm
+tjbxhnpniuikijhe
+rhetyhvfcemponeg
+mavonujurprbeexi
+argbrpomztrdyasa
+bzvtffbtygjxmkvh
+maqyqkhsqgzfzvve
+seeirbiynilkhfcr
+wxmanwnozfrlxhwr
+dieulypsobhuvswb
+nxevassztkpnvxtb
+jclxuynjsrezvlcy
+xlolzyvgmwjsbmyf
+tguzoeybelluxwxc
+fkchoysvdoaasykz
+cyynwbfcqpqapldf
+rhifmzpddjykktuy
+ndvufsyusbxcsotm
+txutnzvdsorrixgg
+qjoczhukbliojneu
+ufhwujotncovjjsz
+kclsgsdwcrxsycbr
+yscwmlrdaueniiic
+nxhivrovpkgsmugb
+fdxqfyvwwvgeuqkv
+femtamfylysohmpr
+amsyzslvyxsoribh
+nhmqxncwsonhgbcz
+uomqsvcbpthlmcue
+kxtfapcqrnjkkslj
+xtieihonlfubeync
+adpcjqxgydulchgj
+cjynnzsmmujsxxpd
+neeapmzweidordog
+szoivgqyqwnyjsnk
+uwgrtzaqezgphdcu
+ptpgttqxocjwxohi
+fhltebsizfwzpgpf
+emmsazsidspkhgnh
+dxcprkbcjeqxqzgn
+tpxzqwxbzwigdtlt
+afsmksnmzustfqyt
+xyehnftstacyfpit
+vcrfqumhjcmnurlw
+rrznpjzcjgnugoch
+gbxnzkwsjmepvgzk
+jwobshgwerborffm
+zmuvfkhohoznmifs
+buyuwgynbtujtura
+bevncenmpxfyzwtf
+hqqtcrhzfsrcutjh
+kbpzshllpiowepgc
+alspewedcukgtvso
+xvsvzzdcgjuvutrw
+pmwulqraatlbuski
+abuzsiinbueowpqn
+oedruzahyfuchijk
+avhcuhqqjuqkesoq
+azqgplkzsawkvnhb
+rjyoydogkzohhcvx
+aezxwucqvqxuqotb
+kxobnsjvzvenyhbu
+nnjoiilshoavzwly
+aijttlxjrqwaewgk
+cvsaujkqfoixarsw
+zngtoacpxcsplgal
+qhkxliqtokvepcdv
+aixihrtdmxkfvcqw
+owbgdgdymxhhnoum
+tajsagmruwzuakkd
+ckrfduwmsodeuebj
+alfdhuijuwyufnne
+xpchlkijwuftgmnm
+rwcrvgphistiihlg
+xdaksnorrnkihreq
+akeschycpnyyuiug
+rgputhzsvngfuovz
+lerknhznuxzdhvre
+mqiqmyladulbkzve
+csnmupielbbpyops
+kwgrwgmhfzjbwxxz
+npwtvbslvlxvtjsd
+zxleuskblzjfmxgf
+hexvporkmherrtrn
+rhtdhcagicfndmbm
+qhnzyuswqwoobuzz
+dpvanjuofrbueoza
+kjcqujmnhkjdmrrf
+gholddsspmxtpybg
+jihlvyqdyzkshfsi
+zuviqmuqqfmtneur
+kzexjowatvkohrtx
+wgijnfhibsiruvnl
+zevkrkmhsxmicijb
+khxrcteqourjvoxa
+ylpxlkcnenbxxtta
+zrfsvctbojjkpvtw
+nlzbudxibnmcrxbt
+cqnscphbicqmyrex
+ywvdohheukipshcw
+riwatbvjqstubssf
+idlztqqaxzjiyllu
+sdpdgzemlqtizgxn
+rjtbovqlgcgojyjx
+fnfrfwujmjwdrbdr
+osnppzzmrpxmdhtj
+ljhwngclvydkwyoe
+chwqkrkzrvjwarat
+jmydkwpibkvmqlgs
+zvhfmbxnlxtujpcz
+jsnhsphowlqupqwj
+fzhkkbpasthopdev
+jerntjdsspdstyhf
+gctwmaywbyrzwdxz
+xemeaiuzlctijykr
+xulrqevtbhplmgxc
+yfejfizzsycecqpu
+gboxrvvxyzcowtzm
+lpvhcxtchwvpgaxp
+wdiwucbdyxwnjdqf
+qgwoqazzjlvnjrwj
+prtlnkakjfqcjngn
+fagvxsvjpuvqxniz
+xacmxveueaakfbsm
+ginvtonnfbnugkpz
+qpvggsppewfzvwin
+reoqnlzruyyfraxa
+kolwtqhifjbbuzor
+vrkcywvdhdprztww
+ngdvyfmvjqhbzbxt
+rooxeoilqzqjunmp
+efxmdprtogtxgyqs
+qrhjuqndgurcmwgu
+ouitjprueefafzpl
+kirdwcksqrbwbchp
+fpumsmogojuywezo
+lgjrgykywugzjees
+xigioqcpjabpbdas
+ewkhuprpqzikmeop
+fgrgxsqeducigxvr
+bclkursnqkzmjihl
+jozidniwvnqhvsbc
+oghcilcyozrmmpta
+xbgmaungzcpasapi
+iqowypfiayzbcvhv
+opdehgwdgkocrgkf
+zfzvdjeinlegcjba
+vhakxvlcayuzukap
+xyradgyiebpevnwe
+eamhtflgedwyshkn
+igteqdgchjeulfth
+kwsfkigxzpbgdxod
+vapnpsbdboiewpzp
+wbuqhjsngxpqshen
+vxxilouxuytitwgm
+cpnwlkwnkeanqnet
+wdmbtqvvlowftvgb
+wjtmcecpyqzwpbqg
+jnxmoxdhvsphcdeg
+wabxfxpotoywwodn
+mwbsoxzlqpqobvvh
+coktshbyzjkxnwlt
+rzhnggpslwzvyqrp
+dgzuqbzarbutlkfx
+wunajaiiwgijfvjh
+uotdbcgmsvbsfqlb
+kxdtlgmqbccjqldb
+ngmjzjwvwbegehfr
+cvpsabqfpyygwncs
+wqluvqlhdhskgmzj
+rbveperybfntcfxs
+fbmoypqdyyvqyknz
+zxpgzwnvmuvkbgov
+yexcyzhyrpluxfbj
+ltqaihhstpzgyiou
+munhsdsfkjebdicd
+plecvjctydfbanep
+kjrxnnlqrpcieuwx
+zbcdtcqakhobuscf
+kgovoohchranhmsh
+llxufffkyvuxcmfx
+tgaswqyzqopfvxtw
+kojcqjkdpzvbtjtv
+xggdlkmkrsygzcfk
+vvitpsnjtdqwyzhh
+gcqjuwytlhxsecci
+vbsghygcsokphnrg
+vejqximdopiztjjm
+hudqtwmwkviiuslp
+vwswfvpcwwpxlyry
+gxmfiehdxptweweq
+qjmekjdcedfasopf
+pqyxdxtryfnihphf
+felnavctjjojdlgp
+hbimufguekgdxdac
+dhxhtnqgfczywxlr
+pssottpdjxkejjrh
+edieanguabapxyig
+sciinanyqblrbzbb
+irxpsorkpcpahiqi
+qsxecaykkmtfisei
+ivfwlvxlbnrzixff
+hqxzzfulfxpmivcw
+vvbpaepmhmvqykdg
+cetgicjasozykgje
+wuetifzdarhwmhji
+gaozwhpoickokgby
+eldnodziomvdfbuv
+favpaqktqaqgixtv
+twbcobsayaecyxvu
+lzyzjihydpfjgqev
+wnurwckqgufskuoh
+fxogtycnnmcbgvqz
+aetositiahrhzidz
+dyklsmlyvgcmtswr
+ykaxtdkjqevtttbx
+kfmnceyxyhiczzjm
+nnizopcndipffpko
+yjmznhzyfinpmvkb
+sljegcvvbnjhhwdd
+zmkeadxlwhfahpwg
+rwvcogvegcohcrmx
+aguqwrfymwbpscau
+vlusytjagzvsnbwe
+smvzhburcgvqtklh
+rfuprvjkhazrcxpv
+megqlnoqmymcrclc
+gvldhkewtmlwqvqv
+awynhvtyziemnjoa
+voprnvtnzspfvpeh
+dhlguqwmunbbekih
+goayirdhnjrfuiqi
+eoghydfykxdslohz
+chpippjykogxpbxq
+hqbycjweqczwjwgf
+pvefsrvwumrlvhmt
+eghwdovaynmctktk
+crwkxoucibumzawc
+bzbtahvhkdigvvtj
+bnbptgihhfubxhho
+ddqmbwyfmfnjjaro
+gvtswqyzazihctif
+vmqctjpgadxztqqb
+dgnndowtpeooaqqf
+sxdvctfdtalufxty
+ylgeexosibsmmckw
+sxplpyskbpqnojvw
+coarhxtsvrontyeg
+fyoaurggjupvzvlv
+jlyrkqsiwuggvjem
+uwbsjoxonreuucyi
+gihuqvwxovbgokes
+dxzaaxupbcgnxcwf
+gidrgmvyrlqqslve
+csflmlvqmonoywpx
+jkxkpixlythlacnk
+ejkarcdkdslldugv
+dbzmsusevohhjkmr
+cbrqzualjpdtworc
+kpgidqlmcbpfmmwu
+zwghjuofexfowqam
+ncdlxmcrsmsocetz
+kfprzqacefifjkbd
+swwzivrxulkhvldc
+wgqejhigbjwunscp
+rsstnwcyybfauqxu
+qhngfxyhdqopyfgk
+zrndpyyejsmqsiaj
+xxknxwpvafxiwwjc
+mmaahwgoiwbxloem
+tabacndyodmpuovp
+yriwomauudscvdce
+duvyscvfidmtcugl
+mgipxnqlfpjdilge
+imeeqcdetjuhfjnw
+dvkutrdofpulqkyh
+jefvtlktxegpmbya
+iyzudqgpvlzjfydh
+giohapxnpaqayryd
+qheqdprmnqlpztls
+rdxhijmzegxkotoq
+hdnmaspumdwnrcdz
+wafpbgehbuzdgsnc
+tbtrfztsferdmhsy
+vusndcyjngtkrtmk
+ilqblestzxebcifh
+urfgjbjgzlrfsdlv
+aptcdvpsqwleqttn
+bigczjvzokvfofiw
+zjnjeufonyqgkbpx
+trcdebioegfqrrdi
+jrdvdriujlmbqewt
+jqrcmuxpwurdhaue
+yjlermsgruublkly
+zwarvgszuqeesuwq
+xthhhqzwvqiyctvs
+mzwwaxnbdxhajyyv
+nclsozlqrjvqifyi
+gcnyqmhezcqvksqw
+deuakiskeuwdfxwp
+tclkbhqqcydlgrrl
+qbpndlfjayowkcrx
+apjhkutpoiegnxfx
+oaupiimsplsvcsie
+sdmxrufyhztxzgmt
+ukfoinnlbqrgzdeh
+azosvwtcipqzckns
+mydyeqsimocdikzn
+itfmfjrclmglcrkc
+swknpgysfscdrnop
+shyyuvvldmqheuiv
+tljrjohwhhekyhle
+dayinwzuvzimvzjw
+qgylixuuervyylur
+klqqaiemurawmaaz
+hdmzgtxxjabplxvf
+xiivzelzdjjtkhnj
+ktgplkzblgxwrnvo
+gvbpyofzodnknytd
+lqhlmnmhakqeffqw
+ltzdbngrcxwuxecy
+obxnfjeebvovjcjz
+zexpwallpocrxpvp
+tjpkkmcqbbkxaiak
+qiedfixxgvciblih
+qcxkhghosuslbyih
+gnsfidwhzaxjufgm
+xrghwgvyjakkzidw
+tftftwedtecglavz
+wquqczzkzqrlfngr
+twibtkijpvzbsfro
+bmplypdsvzuhrjxp
+zanrfmestvqpwbuh
+zonrhfqowyimcukm
+kpvajjfmqpbhrjma
+kujzluicngigjbtp
+iusguantsrwxdjal
+kwxeuylcnszswahw
+visdhnkobxnemldu
+rogeadmmaicwtabl
+pxqycifbgevqudvs
+osaiozyvlyddylqr
+vffjxrolrpuxcatx
+jbmsetccdrywssjd
+qgxyhjfpbfifmvgc
+npejgalglldxjdhs
+mbbtqgmttastrlck
+whapaqwdtpkropek
+dulbdboxazfyjgkg
+xaymnudlozbykgow
+lebvqmxeaymkkfoy
+bmicnfuubkregouj
+dieatyxxxlvhneoj
+yglaapcsnsbuvrva
+bbpjaslqpzqcwkpk
+xehuznbayagrbhnd
+ikqmeovaurmqfuvr
+ylyokwuzxltvxmgv
+hqtfinrkllhqtoiz
+pjmhtigznoaejifx
+fqdbmowkjtmvvrmx
+uvqtqfoulvzozfxv
+rpajajukuxtchrjd
+sznucejifktvxdre
+ufvibsmoushmjbne
+xirdqoshngthfvax
+iafpkddchsgdqmzl
+vmualmlduipvykzh
+fnmuahmblwyceejb
+ilsaapnswfoymiov
+lenvylifraahaclv
+cukqxlipuyxedqfh
+zgwecslpniqvtvuz
+cdcdfpsxuyrhsmag
+dszjinhantnxgqra
+ioimwotsgnjeacgt
+dqcymnvjystbynhp
+yibaudyfefbfgunx
+cabslcvunjavqkbf
+goymzvmgkvlsmugf
+zxteiitpthzskjjx
+agnxcnaqhjhlurzs
+cvmgyxhhnykuxbmb
+cgqmjexydmvgwxpp
+sygjajofieojiuna
+clpvxbrbjvqfbzvu
+cbntswqynsdqnhyv
+bztpbtwbefiotkfa
+pnxccbgajvhyeybu
+asyzrvgzumtuissa
+facjyblvcqqginxa
+rvwnucnbsvberxuv
+ghrbeykzrxclasie
+ekujtselepgjtaql
+krtrzsmduhsifyiw
+ticjswvsnyrwhpnt
+clmjhsftkfjzwyke
+lbxlcixxcztddlam
+xhfeekmxgbloguri
+azxqwlucwhahtvep
+kitdjrwmockhksow
+keznwwcusgbtvfrs
+ljvzxoywcofgwajj
+vebjnhnkcfzbhrcw
+eqfcxkavstxcuels
+ldattkyawjrvcido
+bsqqeilshcwtqyil
+foqqsxahfiozcqrw
+liswfmuhzfbyzjhf
+sulbdcyzmolapfbs
+zuggzkelwxjpsgxb
+betioxrgtnhpivcw
+xmtbixstdipibhgs
+ttvurgqmulryyaji
+viobnljznzppfmxw
+qlzabfopydtxrlet
+tusvydegfxhaxolk
+thoufvvfjferxhwp
+cfyyzppfarjiilbs
+jwmhxtgafkkgseqs
+pqwuuaxbeklodwpt
+vndyveahdiwgkjyx
+ssrjgasfhdouwyoh
+thbavfcisgvvyekf
+yjdvxmubvqadgypa
+tlbmcxaelkouhsvu
+bonohfnlboxiezzr
+rktlxcbkhewyvcjl
+rsmoutcbcssodvsc
+qszdratuxcrhsvoh
+eypyfahpuzqwzwhi
+yhkrleqmqlmwdnio
+vpnvxusvmngsobmq
+hkzyhopvxrsimzys
+dblriiwnrvnhxykl
+xkriqxkrprjwpncs
+rcymltrbszhyhqti
+mzbvneplsnpiztzn
+vkqtnptgbqefvfoc
+nwdtfiaozkcjtlax
+crximadpvdaccrsm
+lrbajafxwwnxvbei
+rbexzesrytpwwmjf
+stxwjarildpnzfpg
+btamaihdivrhhrrv
+acqbucebpaulpotl
+dkjhzghxxtxgdpvm
+rsbzwsnvlpqzyjir
+mizypbwvpgqoiams
+nvrslorjpqaasudn
+wvexcpzmconqkbvk
+rfwfumhjwzrvdzam
+eaghdaqorkhdsmth
+gtuntmpqaivosewh
+nzlsmdgjrigghrmy
+dhuvxwobpzbuwjgk
+kkcuvbezftvkhebf
+aeediumxyljbuyqu
+rfkpqeekjezejtjc
+wkzasuyckmgwddwy
+eixpkpdhsjmynxhi
+elrlnndorggmmhmx
+ayxwhkxahljoxggy
+mtzvvwmwexkberaw
+evpktriyydxvdhpx
+otznecuqsfagruls
+vrdykpyebzyblnut
+cnriedolerlhbqjy
+uajaprnrrkvggqgx
+xdlxuguloojvskjq
+mfifrjamczjncuym
+otmgvsykuuxrluky
+oiuroieurpyejuvm