-200
2020/1/input.txt
-200
2020/1/input.txt
···
1
-
1706
2
-
1466
3
-
1427
4
-
1744
5
-
1684
6
-
1386
7
-
2001
8
-
1750
9
-
1753
10
-
1770
11
-
1559
12
-
1616
13
-
1408
14
-
1860
15
-
1940
16
-
2002
17
-
1862
18
-
1918
19
-
1456
20
-
1209
21
-
1840
22
-
1462
23
-
1783
24
-
1644
25
-
1901
26
-
1791
27
-
1506
28
-
2005
29
-
1338
30
-
1383
31
-
1420
32
-
1631
33
-
1784
34
-
1897
35
-
1771
36
-
1588
37
-
1955
38
-
1937
39
-
1392
40
-
1396
41
-
1803
42
-
1429
43
-
1407
44
-
1698
45
-
1562
46
-
1913
47
-
1678
48
-
1198
49
-
1398
50
-
1703
51
-
1831
52
-
1489
53
-
1782
54
-
1864
55
-
1708
56
-
1397
57
-
1915
58
-
1953
59
-
1395
60
-
1610
61
-
1549
62
-
1564
63
-
1973
64
-
1931
65
-
2009
66
-
1980
67
-
1800
68
-
1443
69
-
1993
70
-
1900
71
-
1964
72
-
1581
73
-
1904
74
-
1665
75
-
1567
76
-
1057
77
-
1805
78
-
1402
79
-
1878
80
-
1729
81
-
1825
82
-
1682
83
-
1719
84
-
1469
85
-
1004
86
-
1591
87
-
1594
88
-
811
89
-
1523
90
-
1424
91
-
1756
92
-
373
93
-
1442
94
-
1718
95
-
1411
96
-
1892
97
-
1820
98
-
1977
99
-
1871
100
-
1890
101
-
1653
102
-
1372
103
-
1475
104
-
1476
105
-
1422
106
-
2004
107
-
1755
108
-
1676
109
-
639
110
-
1425
111
-
1853
112
-
1712
113
-
1525
114
-
1514
115
-
1455
116
-
1658
117
-
1963
118
-
1579
119
-
1861
120
-
1458
121
-
1474
122
-
1613
123
-
1681
124
-
1586
125
-
1441
126
-
1499
127
-
1865
128
-
1735
129
-
1989
130
-
1952
131
-
792
132
-
1669
133
-
1509
134
-
1481
135
-
1893
136
-
1445
137
-
1834
138
-
1779
139
-
1732
140
-
1826
141
-
1595
142
-
1829
143
-
449
144
-
1920
145
-
1707
146
-
1780
147
-
1935
148
-
1867
149
-
1769
150
-
1107
151
-
919
152
-
1382
153
-
1604
154
-
1875
155
-
1453
156
-
1496
157
-
1946
158
-
1659
159
-
1570
160
-
1692
161
-
1630
162
-
1638
163
-
1922
164
-
1691
165
-
1580
166
-
1880
167
-
1482
168
-
1762
169
-
1775
170
-
1376
171
-
1434
172
-
1856
173
-
1971
174
-
1646
175
-
1951
176
-
1416
177
-
1889
178
-
1773
179
-
1814
180
-
1471
181
-
1488
182
-
1736
183
-
1743
184
-
1459
185
-
1389
186
-
1498
187
-
1663
188
-
1611
189
-
1727
190
-
1699
191
-
1624
192
-
1511
193
-
1767
194
-
1754
195
-
1785
196
-
1491
197
-
1235
198
-
1510
199
-
1500
200
-
1485
-65
2020/1/solution.exs
-65
2020/1/solution.exs
···
1
-
defmodule Solution do
2
-
def load(path) do
3
-
path
4
-
|> File.stream!()
5
-
|> Stream.map(&String.to_integer(String.trim(&1)))
6
-
|> Enum.to_list()
7
-
end
8
-
9
-
def run([], _, _), do: nil
10
-
def run(_, _, sum) when sum < 0, do: nil
11
-
def run([a | _], 1, a), do: [a]
12
-
13
-
def run([a | rest], n, sum) do
14
-
case run(rest, n - 1, sum - a) do
15
-
nil -> run(rest, n, sum)
16
-
nums when is_list(nums) -> [a | nums]
17
-
end
18
-
end
19
-
end
20
-
21
-
list = Solution.load("./1/input.txt")
22
-
23
-
list
24
-
|> Solution.run(2, 2020)
25
-
|> Enum.reduce(&*/2)
26
-
|> IO.inspect(label: "task 1")
27
-
28
-
list
29
-
|> Solution.run(3, 2020)
30
-
|> Enum.reduce(&*/2)
31
-
|> IO.inspect(label: "task 2")
32
-
33
-
Benchee.run(%{
34
-
"first solution" => fn ->
35
-
try do
36
-
for x <- list, y <- list, z <- list, x + y + z == 2020 do
37
-
throw(x * y * z)
38
-
end
39
-
40
-
:error
41
-
catch
42
-
num -> {:ok, num}
43
-
end
44
-
end,
45
-
"optimized" => fn ->
46
-
try do
47
-
for x <- list,
48
-
rest = 2020 - x,
49
-
y <- list,
50
-
y < rest,
51
-
rest = 2020 - x - y,
52
-
z <- list,
53
-
z <= rest,
54
-
x + y + z == 2020,
55
-
do: throw(x * y * z)
56
-
57
-
:error
58
-
catch
59
-
num -> {:ok, num}
60
-
end
61
-
end,
62
-
"mine" => fn ->
63
-
Solution.run(list, 3, 2020)
64
-
end
65
-
})
-1000
2020/2/input.txt
-1000
2020/2/input.txt
···
1
-
5-10 b: bhbjlkbbbbbbb
2
-
3-4 j: hjvj
3
-
8-9 p: pmljtsttp
4
-
3-4 t: hvtttqhdjmmnbqwbgfs
5
-
4-6 m: mblwtzmvmdjkkmmtsckm
6
-
6-9 f: ffffftfff
7
-
1-3 g: xggg
8
-
3-10 k: rwkhttkxxdpnlkq
9
-
3-11 w: wwmwwwwwwwww
10
-
5-7 f: fffffffff
11
-
1-4 l: lglllbc
12
-
2-5 n: njnnn
13
-
6-8 t: tcjtltttttdttjttbt
14
-
10-20 d: djddddccdbdddddddndd
15
-
2-5 z: gzppzhrhzdthnpcr
16
-
13-14 p: plvppptppppzppbkpk
17
-
11-13 t: jjtjvzfhsrtsmkdhj
18
-
11-12 r: rtrdvrrxrrxrzr
19
-
2-6 x: dxsvxgvk
20
-
7-11 x: hcxxpvxrnmxckkq
21
-
12-17 s: sssssssssssrssssss
22
-
2-4 v: vvpvvvjvvjvvqbvv
23
-
15-18 h: thqhhhgjjqhhnhhznz
24
-
8-11 j: jbmgbtmjtbb
25
-
2-4 d: xxdfvp
26
-
2-7 p: fftlppz
27
-
9-13 d: dfddddddsdddds
28
-
5-7 d: ddddddz
29
-
2-3 h: hfbhhh
30
-
1-4 k: rmkvkkkk
31
-
16-17 w: wwwhwwwwwwwwwwwwq
32
-
5-8 l: gllxllnlqlglrplk
33
-
1-7 p: mhnpspp
34
-
5-13 f: qhwffbtfzmdffztfjs
35
-
2-8 f: fkjhvcbflbwhggtbbcb
36
-
2-3 m: bcmldxmdh
37
-
6-7 p: ppcpppw
38
-
3-10 m: mmmmmmmmmj
39
-
4-12 s: ssjssssssssmsss
40
-
2-5 j: rmjnjtjjjj
41
-
2-3 q: qqdqq
42
-
10-15 v: vvvvvvvvvvvvvvdvvvvv
43
-
1-4 w: wwwc
44
-
4-14 m: mmsmmmvmmmmmqqmmmmm
45
-
7-10 d: ddcdddzdddddd
46
-
4-5 h: hhhhh
47
-
9-17 p: ppppppppqppppppppp
48
-
6-7 m: mqtmnms
49
-
4-5 s: pssss
50
-
2-6 t: tdttttpwttt
51
-
7-8 l: llsxsllzlwl
52
-
7-10 f: fflffffkqffffm
53
-
3-4 f: cdfp
54
-
3-4 z: zzzz
55
-
6-7 s: sbssdvs
56
-
3-4 g: ggdv
57
-
11-16 l: lllllnbsqlfzwrfljkh
58
-
3-4 k: tqkxxfk
59
-
3-17 s: xshmvlmzrjdpnvlssn
60
-
1-16 l: lzzvllgktckllmlltl
61
-
5-6 l: qlltvl
62
-
6-7 p: npvbpcp
63
-
4-6 g: gmgvgn
64
-
12-13 r: rrnlrrwrtvrrrrcrrrv
65
-
11-12 h: hhvxhhhhwjhd
66
-
13-14 p: pdppcsjtppppppvtwpj
67
-
10-14 l: hljjkjxlfwzlllclzq
68
-
18-19 z: zzzzzzzzzzzzzzztzhn
69
-
11-12 p: hpspwrkqbnpp
70
-
16-18 h: hhhhhhghhhhhhhhwhbh
71
-
1-2 p: vpxnqqbgrxprmh
72
-
13-19 m: mmmmmmmmmmmmqmmmmqm
73
-
1-2 n: ncndsnl
74
-
9-10 x: xxxxxxxxxgxxd
75
-
9-12 w: wwwwwwwwwwzwwdfgwwp
76
-
3-5 h: nqhvhzb
77
-
4-5 j: jjjns
78
-
10-12 f: ffffffffffff
79
-
7-10 v: mgvrwvvsjw
80
-
3-5 m: wpmmm
81
-
3-10 s: ffsbvjdslsnshqs
82
-
9-10 z: mgzzbjzqsz
83
-
3-13 d: ddjdddddddddnd
84
-
2-4 l: tqkfhpwvvmc
85
-
1-3 z: zzzzzn
86
-
3-5 l: ctljlckdpnlchrzbc
87
-
6-7 v: hqvcvvv
88
-
11-13 v: vvvvcvvvvvvvvvv
89
-
8-9 t: ztndmlwdb
90
-
5-6 v: fdxxrvwpw
91
-
1-4 n: xnkb
92
-
16-17 v: vvvvvvvvvvvvvvvvnvv
93
-
12-14 b: bbbbbxbbbdbgbcb
94
-
1-7 w: wwwwwwrwwjtwk
95
-
3-10 d: bxnhbhrmgd
96
-
4-5 k: kkknkk
97
-
2-4 n: bndln
98
-
3-10 p: vpkppcppppcplpksp
99
-
9-10 d: fhbzbdzqsdxlhnbt
100
-
11-13 z: zzmzzzzwzpzzz
101
-
12-17 b: hkbcbbhthbrbbdgbl
102
-
11-13 c: cpccnxccxbjtm
103
-
5-6 n: nnrmnfnsnn
104
-
3-8 l: sslkllwljcgl
105
-
1-9 p: fpppzzpppppphtrhppp
106
-
4-11 h: kskbvrqhdjph
107
-
3-9 r: rsrvxnrchtrrrr
108
-
4-5 n: nwbln
109
-
3-4 g: gjgv
110
-
13-14 r: rrrrrrsrtrrrrrrrr
111
-
10-15 m: mmmmmmmmmtmmgmm
112
-
5-6 k: wkpkkqk
113
-
10-11 l: wlbllglkbltblrqlllm
114
-
6-7 d: ddddsrddd
115
-
17-18 v: vvvvvvvvvvvfvgvvsvv
116
-
6-10 n: nngnnnnvnknn
117
-
7-8 t: qdztnrnt
118
-
5-11 d: dfbdxqbmsdd
119
-
1-6 n: znnvqdnx
120
-
7-9 k: kkkkkkkkl
121
-
5-6 m: mmmszmtmmks
122
-
1-5 l: wlllllll
123
-
13-14 m: mcmmmmmlmmmmjmmm
124
-
1-7 k: kklkjvckb
125
-
14-15 d: ddddmddddmddddddd
126
-
18-19 k: kfkkkkkkkkkkkkkkkpkk
127
-
3-4 z: czjzc
128
-
17-18 t: btttttjmltrttxctgt
129
-
1-4 c: cccscqcccc
130
-
9-14 k: tcwcstszkvhjfmrqpkp
131
-
3-8 c: ccccccjcscncp
132
-
10-11 d: dddddddddmdd
133
-
3-5 m: rgmfmkmd
134
-
1-5 k: mfhnk
135
-
4-5 x: cwnxftlt
136
-
1-3 n: flnqmnnhnn
137
-
2-5 f: vwlcnsfd
138
-
4-8 c: cccccccbc
139
-
10-12 v: dhfvlvbvspjldzch
140
-
7-16 f: ffsmffffjffqfpffff
141
-
10-13 n: njtrrnnqntjtn
142
-
13-17 f: frffcfffrjffffdfpff
143
-
5-10 m: mmmmvfmmmmmmmmdm
144
-
5-6 v: vvvvvzvvvvv
145
-
6-12 r: dqrrcrhrhjsrrr
146
-
8-14 z: zzzzzzzlzzzgzsz
147
-
5-9 q: qkwzsvwdg
148
-
12-13 d: vzjfvddgctfdrr
149
-
6-7 f: mgndffb
150
-
2-5 x: nxxmx
151
-
7-9 c: cmxsccccf
152
-
1-7 n: nnnnnnnnnn
153
-
6-8 g: gggglfgp
154
-
2-13 v: kvwxcrfmpfcfdrgv
155
-
5-7 p: tpplpffpccpp
156
-
8-12 m: mmmmmmmmmmmxm
157
-
9-10 v: vvvvvvvvvcv
158
-
4-5 m: mbnmmkknmmwshmkthj
159
-
8-9 t: cltntrtpqwtcsftttf
160
-
8-16 f: ffffrffpffffffffff
161
-
6-8 t: sttcctttdttdwjdndtt
162
-
5-9 k: ckkkkvdkvkk
163
-
1-3 f: ffczfpgmf
164
-
2-4 w: wwlwwd
165
-
1-9 d: lddbhdddmtfdmdzdrdhd
166
-
16-17 h: xfqlbhhpbnclvztzzzx
167
-
2-7 r: rrbntqrrsrkrm
168
-
1-4 r: qwrr
169
-
12-14 b: tvbbzjbbbbbbbn
170
-
5-7 h: hhjvghth
171
-
2-3 d: dndrcx
172
-
8-9 c: ccccscccpc
173
-
5-8 s: srcsszcsp
174
-
13-15 g: gggggggglggggglggggg
175
-
11-13 b: bbbbbfrbfbbgbb
176
-
1-8 b: jbbkqbbbpbbbbbbp
177
-
11-14 n: nnnnnnnnnnmnnnn
178
-
1-4 g: qsggg
179
-
14-15 l: sllslllggllljkdlm
180
-
1-5 s: pvssbspdsshsssssrs
181
-
7-10 c: ccccccmcpgcc
182
-
6-14 m: bcfkpmvmcmmjml
183
-
1-3 n: ncnnnnn
184
-
12-14 j: bjfjxjjpjrjjjxjjk
185
-
10-12 v: vfvvvvvvqjvvvwvwt
186
-
6-13 d: stddxdnjrddhwgdhrfjf
187
-
5-6 w: qcwhnwwk
188
-
2-3 x: mcxfxckptzvw
189
-
12-20 b: lvgvbxsxxlvbhfcxbtzr
190
-
1-2 d: ddbdqd
191
-
5-10 h: mhtnjvhhhs
192
-
2-6 z: ztzzdxzzzqbvg
193
-
2-7 t: ttjkqztr
194
-
3-4 g: bgvggrxrhtlklfj
195
-
4-5 q: qqqvq
196
-
1-3 c: ccpc
197
-
4-6 j: jjrdjj
198
-
8-11 c: ncvshccccccsb
199
-
1-2 z: rzzqxczxbkpvgkxfzgvz
200
-
10-11 f: kffsffffbqf
201
-
18-19 v: vmvvvvvvvvvvvvvvvql
202
-
14-15 m: mmmmmmmmmnmmmpmm
203
-
12-17 z: zzzzzzzzczzdlzzzzz
204
-
4-6 g: zggggg
205
-
12-16 h: hhhfhhrnnkhhmhhtqvh
206
-
3-4 n: hxssbnn
207
-
6-9 m: mmmmmmmmdmmm
208
-
5-6 n: nnwtgn
209
-
6-10 c: lppbvxcmjc
210
-
7-8 d: dpddzddvdzdddzfddd
211
-
1-5 z: xlzmzzz
212
-
6-11 h: hjhhhphhhhf
213
-
1-9 h: hhdghtsmmjhhnnwz
214
-
6-9 t: ctldsstttstrz
215
-
3-4 t: qvktfwnjcjtqtjqtn
216
-
6-7 w: wwwwwwsww
217
-
11-12 m: nphmmmpmmmcm
218
-
8-9 p: ppppdppdp
219
-
12-13 l: cllzzglllbqlll
220
-
2-7 s: sslssssgbssbsssnss
221
-
6-14 j: jvjrxjjrlgvjzmgj
222
-
7-8 p: hxpnjvzqxm
223
-
2-10 g: xgzfgvdsxr
224
-
4-5 t: lttttxdtp
225
-
3-12 c: kkpckmphqfcc
226
-
4-7 v: rbsjcpvwgtfjpv
227
-
2-4 k: swqfkb
228
-
5-9 n: knfdnnnnn
229
-
12-14 t: zgwthtdtrxvvftst
230
-
3-5 v: vlvqtv
231
-
15-19 t: fqwkwbtjdqncnsmnqxr
232
-
3-8 c: mxccchksq
233
-
3-5 v: jtpvr
234
-
5-7 k: kbkkkshkkkzkkkt
235
-
8-9 z: zzzzzzzzzzz
236
-
6-13 k: kkkkkkkkkkkktkkk
237
-
5-7 c: mccchbwc
238
-
7-12 x: gxxxxlgmztwsxxxgj
239
-
3-12 b: ndsbdfdgvxtbmrqcrjhs
240
-
1-3 d: qxdtdt
241
-
3-7 b: qbbdbgb
242
-
12-15 p: ppmplpptppwppppg
243
-
7-8 r: rjrrrrrz
244
-
8-10 p: cppppgspsxpvp
245
-
1-5 w: wwwpwf
246
-
4-8 p: nhqlknppmpplb
247
-
1-6 c: cvccccrc
248
-
7-8 c: cccccctccccccc
249
-
4-12 x: jxrxtnxrxxvsx
250
-
9-15 g: jfgxnznpwhccdggnm
251
-
2-6 h: jphhphlvhgqbwnl
252
-
8-9 f: dfftbfxsxxqfdvlfs
253
-
1-12 t: dtttttttttttttt
254
-
3-7 h: hshhmhh
255
-
3-4 w: wwwj
256
-
5-6 z: zzzzzp
257
-
8-12 m: jmnwmtjmnqvrj
258
-
4-5 f: ffffvff
259
-
8-10 l: llllflllxll
260
-
4-8 x: zcvxtxxkm
261
-
13-15 p: pppppkppppbpppsp
262
-
3-6 h: hhhhphlhhghkt
263
-
2-13 t: tcttttjtttttltttttt
264
-
9-10 b: bbbbbbbbvb
265
-
7-8 w: fwbwwwqw
266
-
6-9 s: jssssssssssssssssw
267
-
13-17 p: pppppppppppppppppp
268
-
5-7 q: lqxcqqqqcmgtbqjrqmjg
269
-
4-17 t: tttpfttttjttttttvt
270
-
13-14 c: cccccccccccccj
271
-
1-2 p: pxrpqpmpp
272
-
3-8 l: rnlxbwwzjdsh
273
-
2-7 w: kwkghnsfcp
274
-
9-11 m: mmdrktmzmrzhmgdmg
275
-
8-11 z: wzxwzzbfznc
276
-
5-7 t: rtbtntt
277
-
2-3 v: nqvv
278
-
2-3 r: krrwb
279
-
10-11 q: qqqqlqqvqqqqqq
280
-
3-5 r: drrhh
281
-
7-9 f: ffffffffhv
282
-
4-13 m: rkmmbjnsjzjcmwmwk
283
-
15-17 s: jrrvwtnklssqshzpss
284
-
12-13 z: fczzpzzzzzzkl
285
-
10-12 z: jshkxzzzrdzj
286
-
6-13 k: kkkkkkkkkkfkgkkkkkk
287
-
14-15 w: wcjjlzkpbspcwcw
288
-
2-5 n: npnnznk
289
-
5-15 b: cgqlmxzqmvqzbvb
290
-
13-15 r: rrrprrrrrrrrlrr
291
-
5-6 z: pgfzxw
292
-
4-17 x: xlgxwsxjxdxxhqhtcj
293
-
11-16 z: zzjhzzlzrzkzwzlzz
294
-
7-8 b: tltbbrbbbkb
295
-
2-14 k: pnkkqfxkkqkkmkkdkjkk
296
-
1-3 f: hjmvjfxvxtgh
297
-
6-8 w: xgrvwwswwxg
298
-
16-18 v: vwvvvvvvvvkvvmvvvtv
299
-
3-10 w: wwwwwwwwwwwww
300
-
2-4 w: zcwwqwtdwj
301
-
3-7 r: ttrrnwszwqsp
302
-
1-7 m: mjjqlgm
303
-
12-15 x: xxxxxxxxxxxlxxnxx
304
-
3-6 z: zzzzzjz
305
-
8-9 s: sssssssvs
306
-
5-7 w: wlwswwd
307
-
17-18 z: zzzdzzzzzzzzzzzzzx
308
-
5-7 j: dchcjfj
309
-
2-5 k: cqpkn
310
-
8-10 x: xxxnxxxxxtx
311
-
1-5 t: tttttttt
312
-
5-6 k: lkkphk
313
-
11-13 c: scdtdcghdmcttcc
314
-
2-5 h: hhhhhh
315
-
4-6 r: clrrrr
316
-
2-13 s: szsssssssssssssv
317
-
3-11 x: krxmwcznvwrlcx
318
-
7-8 m: cmmttmbm
319
-
3-4 c: pdwccbxwfvhcgrx
320
-
5-8 p: ppppvppq
321
-
12-19 l: llfllrllmwlmlllllll
322
-
11-15 p: psplppzglptmppp
323
-
6-14 m: mmvmmgmmmpmmmxm
324
-
5-6 j: jjctdzj
325
-
9-10 k: xnkzkkpplpkkkkk
326
-
10-14 t: crsttgdtzgfqtx
327
-
6-7 j: jbkpsjjjsrzf
328
-
1-4 v: vsvvvvm
329
-
4-5 f: lhbnfgqmbfltqrxzzx
330
-
12-13 q: qrjkxcwqqkdjmsxfnqmf
331
-
18-19 q: qqpqqxzqjnqqbhqkqqv
332
-
16-20 m: nzbmqjwbmmmnhmlmszbf
333
-
5-9 k: kkkkxskkkkk
334
-
1-2 x: txhxx
335
-
9-12 s: sssssssssssr
336
-
3-4 s: qsssssh
337
-
19-20 f: mfffmpfhhffwrlkffvff
338
-
3-15 b: bbpbbbbbbbbbbbbbb
339
-
8-9 h: fbcjphblh
340
-
6-9 p: ppppbnpppfppw
341
-
6-20 n: nsxzcgbcgqvjwfrgtnsr
342
-
5-7 s: cssdjdssr
343
-
3-4 g: gggwgg
344
-
1-6 s: hsspsss
345
-
2-5 z: zlgzb
346
-
5-8 l: jsljljtlpqhjl
347
-
3-10 n: mznwwnvhgbg
348
-
2-3 c: cckcc
349
-
1-10 r: rrpcbdrrrr
350
-
16-17 q: kqjxngwrpqlsqklnq
351
-
2-4 n: mnmnn
352
-
8-9 n: nnnnnnnsrnl
353
-
2-4 r: qrhlrvwpqsvktzcqms
354
-
6-9 v: vbqlvvvhqvqpv
355
-
2-8 b: kngrzdbb
356
-
10-13 d: dddddddddwdddd
357
-
2-6 z: czkzhzqdffh
358
-
8-19 n: kngnjnftdsrnhsnmznn
359
-
8-10 m: rngxfjlmmvtctp
360
-
16-17 k: dlkkxxkkkczkkkkkvs
361
-
3-17 n: wllsknnzckmmsjmqnxc
362
-
11-12 h: csrhwxwdnkhh
363
-
3-7 g: ggggggngg
364
-
1-14 s: sssssssssssssssdl
365
-
8-16 m: mmmmmmmkmmmmmmmpm
366
-
8-9 b: kdbqtknpncbbffd
367
-
14-15 z: zjzzszcgnzczszg
368
-
12-16 g: jdvgrmdczssgtwsq
369
-
2-6 n: lwlklnfxlhwdkn
370
-
1-5 c: bnfbdzc
371
-
14-15 b: bbbbbbbbjbbbbtb
372
-
2-5 v: vnvvvvv
373
-
14-17 s: ssssszssssssssshmsss
374
-
7-9 h: fhmhjkcrhbl
375
-
11-15 g: fwhjldbbprhngcjg
376
-
9-15 m: mdcbhmmjlmfmmtmcmm
377
-
10-13 j: jjjjsjjjjlwjsjjl
378
-
1-5 s: dsssssssssssssssss
379
-
5-15 r: rrxprrrrrrrzvhrrrrr
380
-
5-7 b: svnbkbb
381
-
2-4 w: kwwqws
382
-
13-20 q: slgmkqmkvlqqwjfdhqdq
383
-
8-12 l: llllllljlllkll
384
-
9-20 c: cccccccccccccccccccc
385
-
5-6 n: wlcnnh
386
-
1-4 w: lzwwv
387
-
8-9 h: hhphhhhhhhdhh
388
-
8-10 t: mnsnktzgrn
389
-
11-16 v: bjvcvfrkgkvzvvvxb
390
-
11-18 v: vvvvvvvvvvvvvvvvvxvv
391
-
11-14 l: llllkllllrlqll
392
-
5-11 q: zwlqcqqnnqq
393
-
5-11 p: pftpphptptphtskqp
394
-
4-12 p: pvpwpzppppppppdk
395
-
2-4 h: hhhqhh
396
-
6-12 l: jznsrcnxkllz
397
-
13-15 j: vdjkhxjptxzfjjm
398
-
4-5 t: vzhft
399
-
7-10 m: bmrmztmwxmms
400
-
5-7 h: hswmtbhcb
401
-
13-17 f: vmhffvvfjtffpllftff
402
-
11-16 w: wqntqwmzcwwvhwwsxwlh
403
-
2-4 r: wrbb
404
-
2-10 b: bbbbbbbbbb
405
-
1-11 m: mmmmmmmmmmmmmmmmmmhm
406
-
13-14 r: rrrrrrrrrrrrrwrrrr
407
-
3-6 n: vnsprwznfn
408
-
3-4 v: vvvz
409
-
2-11 p: ppxjqmffgtp
410
-
7-10 s: sslmsssssss
411
-
10-11 j: jjlsjjjjjfjjj
412
-
4-7 b: fbbhggbcmr
413
-
12-13 s: sssssssssssgxs
414
-
8-10 l: lpllllhlcnlllxl
415
-
3-4 l: ljxlml
416
-
2-14 f: ffffffwfffzfcnfffwrf
417
-
7-10 h: kwdcfptcchhhhhgz
418
-
2-9 j: jjjjjsmjzjqjjj
419
-
4-13 w: wwcwwwmrwwwgqwr
420
-
3-5 t: ttmtttt
421
-
5-13 d: whpdqwpvkzsxdmgtnz
422
-
13-14 x: xxtbcxxxwxxxxx
423
-
1-7 t: ttttttdthtttttttt
424
-
6-15 x: pxfnxbnmpxgmwzxkv
425
-
2-11 m: kmcmjlddbwm
426
-
9-14 d: dddddddddddddldd
427
-
6-9 x: nxvkxvxxx
428
-
18-19 x: xsxxxrdxbkjmbdvfrrx
429
-
12-13 j: jnjjjgjjqrjjs
430
-
14-16 r: rrrrrmrrrrqrrxrvrvr
431
-
5-9 h: hhvvhmzjn
432
-
5-6 w: wwgfzt
433
-
10-13 v: vvvvvsvvvtvvxvvrvvv
434
-
2-4 h: hwhh
435
-
4-8 s: ssssssshss
436
-
5-12 n: nnnnnnnnnnncn
437
-
2-3 x: bxxmxcdzlj
438
-
14-16 x: chpxcprsxhxvkxzc
439
-
7-9 b: bbbbbbbbbb
440
-
10-11 x: xxskpxtfhxd
441
-
5-7 w: zwwwrww
442
-
1-8 l: splxkhxw
443
-
8-9 q: llcbqltqh
444
-
2-3 k: kkcckxm
445
-
6-11 c: ccccsccccccccccccccc
446
-
6-14 k: xkbbnkknkttqpb
447
-
12-16 d: dcddddrddnddvprsd
448
-
1-3 p: bpplj
449
-
4-6 n: nntbnpn
450
-
14-15 k: nwcckxptkgrrbkd
451
-
12-14 d: dddddddddddddxd
452
-
1-11 v: vvvvjvvvvvvvvv
453
-
4-6 g: gtgbfg
454
-
5-8 h: hhhhdhhhhhhh
455
-
13-15 n: nwnnpnftnbnknqn
456
-
3-4 m: mpfqmj
457
-
3-6 t: ttmtct
458
-
2-4 s: sssss
459
-
10-16 v: vvszvvgvvvvvvvvcv
460
-
11-13 t: stvdjtwjzftrtprpb
461
-
5-6 p: pppptp
462
-
12-15 d: ddtdjdddxdhxzdcd
463
-
12-16 b: bbbbbbbbbbbxbbbbb
464
-
12-14 n: qnnnnnnnnzlnnnn
465
-
9-11 v: sqkrmzjqvvv
466
-
2-5 d: cdpfdtjdkn
467
-
7-8 p: pppptppppp
468
-
2-4 s: ssszsss
469
-
13-15 d: cpdwdbvqxcffdrd
470
-
4-5 j: hbjjpppm
471
-
5-8 g: gvgmgjgrzz
472
-
6-7 s: sssssqn
473
-
1-11 p: tpstkbpmtbpg
474
-
17-18 m: zmmmsrsrgfpggmmmlgk
475
-
2-3 f: ffkhf
476
-
2-5 f: ftfff
477
-
2-10 m: gqxlmphwcmfc
478
-
6-8 v: bvgwwbvlvvvlrvv
479
-
13-14 n: nnnnnnnnnnnnnxn
480
-
2-7 f: ffffffff
481
-
9-10 x: xxxxxxxxxd
482
-
1-7 s: mssssdsksssdsssz
483
-
11-15 t: jtttttltmttgttthz
484
-
5-12 j: jqjjjjfndzjdjjjjjjjn
485
-
9-13 r: rrrrrrrrrrrrj
486
-
5-9 x: xxjxpcqxxcxznn
487
-
2-9 c: psdddswdcpd
488
-
4-10 f: fsffxffffmr
489
-
7-12 j: jxvjjjrjjhjfc
490
-
4-5 q: bqqhj
491
-
1-4 f: fwbclqb
492
-
1-2 k: skqk
493
-
9-11 b: bbbzbkbbhbb
494
-
1-2 g: nggv
495
-
3-7 m: mmfmmmpm
496
-
2-3 m: vpmr
497
-
7-10 d: ddddddjddm
498
-
2-15 t: hgvsftrbzglvmpwhsmp
499
-
1-5 t: qtttt
500
-
11-13 p: pppppppppppphp
501
-
4-5 p: cvqpzvpppfh
502
-
2-3 f: bbftxfnmb
503
-
2-3 r: rlrr
504
-
1-4 m: mvms
505
-
3-14 m: gfmprfxpvzhmhm
506
-
2-8 j: jdsjjlfl
507
-
8-12 k: kkkkskkvkkkkk
508
-
1-7 p: hpfpmpwp
509
-
5-8 x: xxxxxxxhxxxxxx
510
-
3-10 p: mmctgfppppxplpplppj
511
-
3-4 p: zfmpjbhwppk
512
-
13-16 z: zzzzzzzzzzzzvzzzz
513
-
1-3 d: djddd
514
-
2-7 p: nmplwdp
515
-
7-9 l: lglllllll
516
-
7-8 p: ptvsnpcp
517
-
9-10 m: rjnmxthbmg
518
-
5-6 j: jjccjv
519
-
6-8 t: tvcztdttxzkp
520
-
8-12 p: kmrpqdnppskj
521
-
6-8 j: lsjkhjjhbgj
522
-
11-12 x: hxxxlxmxxxtrxxxxk
523
-
3-6 p: pppppcgtpxpppplp
524
-
8-10 s: nphsvswsrssxmdh
525
-
10-11 p: pppcpptppkp
526
-
14-15 z: zzzzzzzzzzzzzcz
527
-
14-18 f: mffngzbffffznctfff
528
-
6-7 t: tttthhtttq
529
-
12-19 l: shqlqnkzwpplqjrwjcv
530
-
1-4 k: khkx
531
-
9-11 d: ddddddddpdrdddd
532
-
3-4 s: mvsssc
533
-
6-7 h: hhhhhhphh
534
-
8-14 v: vvrvsvwrwmpvlv
535
-
2-6 z: zxjvsn
536
-
9-12 f: ffffffffpfftf
537
-
2-5 s: lssmjh
538
-
11-14 k: kkwkkfkbpnjkbkk
539
-
4-15 x: ppcxmjmxvbrkxlqcthx
540
-
1-2 g: bpggz
541
-
3-5 x: vxjxxxnztm
542
-
7-8 r: rrrrrrrhr
543
-
8-13 n: nnblnxnnrmnnq
544
-
1-4 w: wwtxwwwjwwwwdwl
545
-
1-10 d: cddddddwfhdrdddqnd
546
-
1-8 j: jxmjjjrv
547
-
4-7 x: xfxxxxn
548
-
16-18 v: vvvvvvvvvvvvvvvvvvv
549
-
3-5 h: hhhhhh
550
-
9-11 z: zzztvzzhgzr
551
-
3-5 w: fcjwwjwwv
552
-
6-7 z: hszgzsl
553
-
3-9 l: fldswlflrll
554
-
10-11 n: fqbxpfncbln
555
-
7-14 m: jftmkxqhrmmcqmk
556
-
8-9 h: hhqqhkhmh
557
-
3-5 l: lnlqlhdjtd
558
-
4-11 x: lqjxqzlfsfhzjqqnttp
559
-
4-6 c: fccctcc
560
-
8-11 c: cccccccccckcr
561
-
2-3 k: jkxtkjhnkksksrrzhfkk
562
-
7-9 m: nmmmmmmkmrmmdjjms
563
-
5-12 m: mmmmprmsmbmmmm
564
-
1-2 l: lllll
565
-
3-7 m: gmmtchm
566
-
11-16 t: vddbsztmpttvsktp
567
-
9-13 f: ffffffffffffffffff
568
-
3-8 j: hjhldbcznnsx
569
-
5-7 v: vrfpvswbmbvvzv
570
-
6-15 z: bhlvbzvnlntzzzz
571
-
4-6 x: xzjrxcx
572
-
3-4 q: qqsw
573
-
5-6 r: rrrlrrrrrr
574
-
1-7 b: qbbbbbxbbb
575
-
6-7 b: bfbbjdd
576
-
4-11 f: lfrffpfgzqs
577
-
3-5 c: qccncmjgrczzmcz
578
-
9-15 x: vxxxxxnxxxxxxxxrxxxj
579
-
1-2 s: ssnls
580
-
5-9 z: zzpzzzzzszzzzzz
581
-
5-16 z: pzgzxgpwqmzwwlzz
582
-
6-7 c: ccqxccn
583
-
5-6 b: ngmbbs
584
-
2-19 d: cdmnqfjfxgtdwlrnhcd
585
-
9-12 p: thcvkgpcxptpxpp
586
-
3-6 g: sbstjvnhfgdr
587
-
1-18 f: fsffffffffffffffffff
588
-
2-16 f: rfxzxrjpbvfzcftf
589
-
13-14 v: rvxvvnsfcvvvrvvvqg
590
-
4-10 d: tqlddkdpdv
591
-
12-13 r: rrrrrrrrhrwrjdrlnr
592
-
5-6 x: xxvxgnxxxx
593
-
3-4 d: sddd
594
-
5-11 p: jphgprgjjpp
595
-
1-7 f: fjgfdvb
596
-
3-8 x: rpxvndgxx
597
-
1-17 b: jbbrxbbbtxjbrpbbb
598
-
7-10 h: bhhbzmdrkhhvhjx
599
-
1-5 v: fzdgv
600
-
5-7 f: vfdffftffffhflw
601
-
2-20 c: mcbhcvvxwxfvxqlgxpdc
602
-
5-8 w: vwktjwdsccgj
603
-
3-4 d: nntd
604
-
1-7 n: nnncmhnkgqn
605
-
2-6 r: bdvvbrr
606
-
1-15 b: bbbzwbbbbkbgkbp
607
-
3-8 f: slfvsmvftsstff
608
-
3-4 z: pvzzggdnhwzjzgp
609
-
8-9 n: nnnnvnnfn
610
-
4-10 n: nnnlnngnncnn
611
-
8-10 l: vktfwjrmslbh
612
-
3-6 n: nflmqn
613
-
4-5 s: svggkxz
614
-
3-4 w: wwjt
615
-
5-6 t: nbbbdt
616
-
3-8 d: jrjkdghxqwq
617
-
7-8 q: qqqqqqgq
618
-
7-8 k: qxgnkvckpkchqnmxb
619
-
1-5 v: vvvvvv
620
-
6-16 s: stmjwhvrrkfgrsxs
621
-
3-4 s: sdrswqnsjrnhrlds
622
-
12-15 r: rgdrrrrrrrrrrrgtg
623
-
12-14 g: gggggggggggjgggggggg
624
-
1-7 h: phhhhhdnhj
625
-
3-4 v: tknvv
626
-
10-11 j: jjbvjjxjjjjj
627
-
2-5 c: bcbff
628
-
7-11 r: rrrrrrxrrrdrrrrr
629
-
13-16 p: ppppppppppppdppr
630
-
14-16 t: tttttttvtttttttwttt
631
-
3-6 c: hclhccxhmxtjcbmjc
632
-
1-2 x: gxxxxx
633
-
2-3 w: wrwcqt
634
-
2-6 g: gmblggxgg
635
-
1-4 l: lllxpkml
636
-
1-2 d: mdddddd
637
-
4-8 q: qqqxqqqqq
638
-
3-4 v: mwvfvlqvv
639
-
3-6 w: wswwgc
640
-
2-4 d: bdfd
641
-
17-19 l: llllsldlbllllnlllzr
642
-
10-18 j: tjhgvshtbqjtcfcvlr
643
-
4-9 t: ttttttttttfttttttt
644
-
8-9 g: ngsggnbgqgtgglnjgcg
645
-
9-10 d: dddhdddvgbdbd
646
-
8-9 g: gtggvpgmq
647
-
11-15 j: jjqkjsmjkgfvjns
648
-
6-9 t: tqthttvtnttttttg
649
-
1-7 j: sjjjjjjjjjjjjjj
650
-
15-16 g: gggggggzgghgggqd
651
-
10-16 n: nnnnnjnnngnnnnnnnn
652
-
1-6 p: pppppppp
653
-
1-2 k: kdkk
654
-
1-2 b: bjvzqrgbhmgm
655
-
2-4 x: xvxxx
656
-
1-5 j: zjjjjjjj
657
-
2-5 f: lfnpwfz
658
-
1-12 j: hjjjjjjjjjjj
659
-
7-10 l: lllllqhlllllmmlpllll
660
-
11-12 m: mmmnmnmmmmmmmm
661
-
6-8 z: dzzzzfzzpz
662
-
14-15 c: cshjrbzhmmpckcwf
663
-
3-5 q: qqqqz
664
-
11-12 z: zzzzdzczzkprvztzfrdd
665
-
4-5 t: ttstbt
666
-
14-15 k: kkkkkkqkkkkkksr
667
-
1-12 j: jjjjjjjjjjjwgcjzj
668
-
2-3 k: rhkhkkg
669
-
1-16 z: zrzzzzkkhzzflzzzlzzq
670
-
12-13 h: hhhhhhhhhthgjhh
671
-
1-5 j: qqjjczwttz
672
-
11-12 h: hhhhhhhhhhmk
673
-
1-3 p: qpspbpjfq
674
-
1-3 f: ffzf
675
-
11-16 f: qdfmgnfnfvffflfhff
676
-
12-14 b: btwsgnvvljknbbdf
677
-
7-15 b: wdrgltbgdqscbhh
678
-
3-13 j: vwjpjjwjtcpjk
679
-
2-4 l: clxdsfqfdvkfhcgdswl
680
-
9-13 m: mmmmmmgmmpnmmmzmmk
681
-
4-5 x: hxxxx
682
-
1-4 b: bbbb
683
-
4-5 r: rrrrwfrv
684
-
6-9 n: nnnnnnnnsn
685
-
4-7 m: mvmmmmdmm
686
-
4-12 t: ttttttjtttttjttttt
687
-
1-3 c: bccc
688
-
2-3 m: mmcxbw
689
-
1-4 r: rrrrrr
690
-
8-10 l: lllllllplllllllll
691
-
18-19 h: hbhjdhhnnhfshkhhhgh
692
-
6-8 h: hfhwhwph
693
-
1-4 z: cfmz
694
-
2-3 m: vtmmznmvmrs
695
-
7-8 l: llhlwzlmjll
696
-
1-2 m: mmskncxdc
697
-
1-4 d: ndddd
698
-
1-3 m: mmgmmm
699
-
14-15 r: nzrgmcrrgmrxlbr
700
-
2-13 h: htkhhhhhhqhhlhhhkh
701
-
2-4 w: wkwsw
702
-
3-4 w: wmwr
703
-
2-9 v: kdzkhvnkv
704
-
8-9 t: wltttttkbktftk
705
-
9-14 n: vnhdtndfnsncpnf
706
-
3-10 n: jfnwcngtdz
707
-
13-15 j: nqzdlvnvvgnmhjj
708
-
1-12 q: qqqqqqqqqqqqq
709
-
10-12 c: cccdcmscbhcqccc
710
-
1-3 w: bzwwgg
711
-
2-14 d: pdkrpmxxzgcvqkzvvzqd
712
-
6-11 t: tfqvhtbmdztsnwnt
713
-
5-9 l: xllmllvjdds
714
-
6-14 h: pkhthnhxhhhjnscb
715
-
5-7 m: mmmmrmmm
716
-
8-10 x: xxxxxxxwxkxxx
717
-
4-5 k: lmkkkkkskg
718
-
1-2 d: dtdd
719
-
5-7 f: frfwsfr
720
-
4-5 w: rclww
721
-
4-5 g: gkkmtnlhbkgb
722
-
4-6 q: qqqfqqq
723
-
3-4 d: ddjb
724
-
11-13 n: nnnnnnnnnnnnnnnn
725
-
4-6 f: jvkxcffdgd
726
-
3-4 g: ktsgxzn
727
-
14-15 g: gggggggggggggggg
728
-
2-3 n: nqnnn
729
-
2-12 k: kbkpppkrkkjkkkk
730
-
5-7 c: ccccbcccc
731
-
9-10 l: plmrklsclx
732
-
4-11 m: mmmtmmmmmmqlm
733
-
6-7 b: bbbbbbq
734
-
7-9 g: kcgggklzg
735
-
3-6 p: ptxpppppppppppp
736
-
2-4 s: swsss
737
-
7-10 c: cccccccccpcc
738
-
5-7 d: dbddlddddcsdd
739
-
6-7 k: kkkkkkk
740
-
2-4 h: hwnvcj
741
-
1-9 g: nggggggggg
742
-
9-19 b: dzzpzvgwbdbmthmzfbhb
743
-
1-6 v: vrclmqxpvkhbvrfdmc
744
-
4-7 k: sgwktwtttmktrfjzn
745
-
13-16 x: whxxxxxxxxxxxxxsxx
746
-
4-9 z: zzzpzzzzzz
747
-
7-9 t: mwvtbhtxt
748
-
2-3 j: jfjdj
749
-
3-9 t: nrkffvgmtdstkkhtfpn
750
-
3-4 g: ggggxxdjsgrbf
751
-
4-10 x: kgbxbqnqmc
752
-
7-10 t: ztndqctmtttthxkwtlm
753
-
8-12 h: fbvccdshdvhhh
754
-
9-12 f: ffffsfffffjd
755
-
1-3 q: qkqqrvmmkh
756
-
13-14 r: rrrqrrrrrrrrrrrrrrr
757
-
2-3 g: bmdgkz
758
-
6-7 k: kkkkkkjk
759
-
4-9 q: qgzrflqqqd
760
-
12-13 s: brsswsfsvsfssps
761
-
5-9 q: drjcqnmwqbncmqqvcjgh
762
-
7-9 x: xxpxxgzxxxnx
763
-
2-13 s: ssdsssssjshsjsjswn
764
-
1-11 m: fmmmmmmmmsmmmh
765
-
3-8 f: zffrqqhflhvl
766
-
4-11 l: lqfwlxlllnl
767
-
12-16 k: kkkkkkkkkkkdkkkgkkkk
768
-
1-5 s: sssslss
769
-
3-13 n: ntnnnnpnnlndsnn
770
-
13-16 f: nzpfvhfrxpxjfmcfff
771
-
2-3 f: ffbf
772
-
3-7 r: nxrrrqrqnrrlbj
773
-
1-10 p: mppptppppcpppppppd
774
-
9-11 l: ftmflbbljjf
775
-
6-8 r: rrrrrlrrrr
776
-
10-16 k: zqknmwppdtckmpgk
777
-
10-13 t: dpqxttttttttb
778
-
2-4 f: ftff
779
-
9-14 k: krkkkqkkkkdkkrn
780
-
12-17 b: mbxbczbbbbdbbbbbpbnb
781
-
8-9 j: bjjjjjjjqjvxjfjjjjjj
782
-
1-3 s: lspsh
783
-
2-7 p: zpqlvwpmdp
784
-
6-8 q: qqqqqqqtqq
785
-
15-16 z: cxzmdcdzckrhzxzz
786
-
13-17 v: vvvvvvvvvvvvvvvvzv
787
-
6-8 c: ctcccccc
788
-
6-7 v: xjzvvfvjmnrvtvncjmdv
789
-
3-8 m: sqmfbqlm
790
-
3-9 p: bpqpxpfpzqpjjgv
791
-
8-10 n: clxnnnxvnnxnnnnnn
792
-
8-9 m: mmmmmmmmm
793
-
2-6 s: scssss
794
-
9-10 t: xtttttttftttt
795
-
3-5 c: rksck
796
-
16-17 h: ldhchxlhphlnmhvhh
797
-
3-6 b: bnbvlb
798
-
4-5 j: mjjjx
799
-
2-4 j: sklkmtrjpgprqdn
800
-
3-8 l: nllnlnll
801
-
1-6 g: jgbgpt
802
-
14-17 d: cqddcfsjddddxlcdd
803
-
4-6 h: qcqhwc
804
-
6-14 j: fzrkcjrqjssjdjjjjj
805
-
3-4 j: jdfj
806
-
1-3 k: fkpkkkck
807
-
11-12 w: wwwwbwwwwwfg
808
-
6-7 g: wngnhsg
809
-
4-13 d: bddjdddddddddpdddddd
810
-
7-8 k: kmkfkkkp
811
-
5-9 b: btmlgzbbdb
812
-
4-7 j: dxlzwsjdbjcqjsnwq
813
-
9-13 p: pppppmfhpptppp
814
-
16-17 v: vvvvvvvvvvvvvvvxn
815
-
1-7 m: mmmmmmtmm
816
-
1-8 v: vvvvvvvbv
817
-
9-15 t: tttttttttttttttt
818
-
15-17 r: rwrqrrhdrtvrfszrj
819
-
4-9 m: mfddknmcmqhglr
820
-
7-10 k: kkkkkkkkpkklkk
821
-
18-19 c: hpqwwkgtqbrcjxptwnc
822
-
2-3 p: xwppdp
823
-
5-11 r: vnrhrmknrrr
824
-
10-15 f: ffmfffffcfftfdfff
825
-
10-13 m: mmtsmmmmmmmmhmm
826
-
4-16 j: pjlplfvtgrjhvcdjjdmb
827
-
8-14 v: kxrjvdbbmxvrzdp
828
-
6-7 w: wwwwwwgwww
829
-
9-16 f: hhkvlfrvfvpvlzvcfsg
830
-
1-3 k: kkbk
831
-
9-12 d: ddddddddtdddd
832
-
13-16 w: wwwgwwwwwwwxwwwwwww
833
-
4-5 t: swtttpkkpwdt
834
-
5-7 z: zzfzzzp
835
-
1-5 g: grghg
836
-
3-4 n: wjsnnnwsxrx
837
-
8-10 x: xxxxxxpqxc
838
-
4-13 t: tttbtttttttttttt
839
-
1-3 w: wswwn
840
-
1-6 d: dddtddddd
841
-
12-13 x: xxflxxpxxxxxwgrxxx
842
-
1-2 m: mxghmm
843
-
6-11 j: jjjjjjjjjjxj
844
-
1-3 n: nnfnnnnnnnn
845
-
7-11 w: wxwwwwpwwwww
846
-
1-2 q: nqmqfxql
847
-
9-12 m: mmmmvmnmfmmp
848
-
5-7 m: mmmmmmms
849
-
3-4 s: ssqsssssssj
850
-
6-9 c: ccvcmnccccl
851
-
1-17 b: gbbbbbbbbbbbbbbbqbb
852
-
7-10 q: vqqqqxqqql
853
-
9-12 v: vzvvnvtblzrq
854
-
7-8 q: qqqqqqqs
855
-
4-8 q: qtzqcgbqwq
856
-
7-9 c: ccncdmxsccchcxxj
857
-
3-6 q: qqqjlqqxcqdkzqqj
858
-
3-4 k: qckk
859
-
10-12 c: cccccccccccc
860
-
10-18 g: gggggggggggggbgkggn
861
-
2-3 w: wwww
862
-
1-4 k: kkglkqkgzbn
863
-
6-7 l: lklksztlzllllp
864
-
8-10 x: xxxxltxwxnxdvcg
865
-
1-5 w: tvmjw
866
-
3-9 z: hvqqhmpzz
867
-
6-8 x: qzxxdxnxmlgp
868
-
13-17 s: ssssqsssssssjssssxs
869
-
2-8 f: qfhnhfzc
870
-
3-4 v: vvbv
871
-
4-6 j: jjjmjj
872
-
3-4 q: lqqd
873
-
12-14 j: jjjjmjjjjjjcjjjj
874
-
6-9 c: whjbsclch
875
-
14-15 j: jgjjcjkljjmfpjqjjjk
876
-
2-3 z: jbzt
877
-
12-13 b: bbbbbbbbbbbqj
878
-
3-9 s: jhcsgnsscs
879
-
6-8 h: hhhlhlhf
880
-
3-4 j: jmjjcwjpj
881
-
10-11 c: cccccccccdcccccc
882
-
11-12 w: wswwwwwwvwww
883
-
17-18 k: rmzbkcsxrmdwkksstk
884
-
7-8 h: hhhhhthh
885
-
1-2 n: nnqcqlxdsc
886
-
4-11 l: llllllllldlql
887
-
14-20 h: hhhhhhhhhhhhhhhhhhhh
888
-
4-8 r: bhwrrrrrrgrwcmr
889
-
5-16 m: lmdbtwhnzszltgjmhfcb
890
-
4-12 m: mmmvmmmmmmmmm
891
-
1-5 t: qtwnztcftsqjh
892
-
4-12 s: ssdszsssssvslx
893
-
16-18 w: wwwwwwwwwwwwwwwrwq
894
-
7-8 t: ttttttttt
895
-
8-10 r: mxrrrrrrrc
896
-
10-12 g: gggggtpghggsgvcdpjlg
897
-
7-13 q: qlqqpqdqqqqqnqqqq
898
-
7-9 z: zzzzzgzzd
899
-
13-16 c: ccccccccccccxccb
900
-
4-9 l: jbsssqpjl
901
-
7-12 s: sslsssdksnsssqmrsc
902
-
9-14 w: cwqsssmkbgwmqzrw
903
-
1-5 v: vljdvzqvgjhcgbn
904
-
4-7 w: nxqxgww
905
-
7-9 w: wwwtwlwqxwww
906
-
14-18 q: qwncqqqjmmlzqqqqnq
907
-
2-8 g: ggggggggg
908
-
5-6 g: ggpgkgg
909
-
12-13 r: rrrrrrrrrrrph
910
-
14-15 c: cswccccccvccmcs
911
-
11-15 p: jppxbqzcdzppxjv
912
-
6-9 f: fffnfffdcc
913
-
7-10 x: xnrdxxtwxx
914
-
2-6 s: gdshsbcsssss
915
-
5-9 d: dwtcdddffsdzdzcvbdd
916
-
2-3 l: kqlfjqj
917
-
7-9 s: tmsklsfsp
918
-
2-4 c: lkbck
919
-
2-9 x: jtxslmdpxpkqfjjb
920
-
18-19 v: vvvvvvvvvvvvvvvvvmd
921
-
9-10 x: zgxdjvxqxgxkcm
922
-
11-12 d: dddqddddddvdddd
923
-
1-4 d: ddlvd
924
-
2-4 t: tztfwtjwt
925
-
5-6 j: gjjsfjgvjjcwzjm
926
-
8-11 g: kvsqgmqgdmgxdpg
927
-
6-11 b: bpjbfrrpbvb
928
-
1-10 j: tmjjjjjjbjcjjjjjj
929
-
14-18 t: tttttttttttttttttttt
930
-
11-12 r: rjjvggmpwvrhn
931
-
10-12 t: tttttttttctttt
932
-
1-8 s: lbssjsssgsss
933
-
4-12 h: pchchhtthdhhch
934
-
7-8 m: mhrpkbmdmj
935
-
5-6 f: sffdsf
936
-
4-7 z: zzzkzzkzzzz
937
-
1-5 c: nccjw
938
-
1-2 l: wsgllckll
939
-
1-9 k: mwvhwgvfkvmpwnntjbk
940
-
1-6 v: vvvvvvvvvvv
941
-
2-8 m: ttzhlrrmbt
942
-
3-4 x: xqklgxxx
943
-
12-13 v: rvvvvvvvfvvmvv
944
-
6-13 n: nnnnnnnnnnnnnn
945
-
5-6 s: bpnsssj
946
-
3-9 q: xtddtwfcstjrqbslmjsz
947
-
8-9 g: xxkxxgzgg
948
-
1-12 w: gwwwwwwwwwwtw
949
-
4-5 p: pppppp
950
-
1-2 x: jpxvxxxxxnmkx
951
-
3-4 n: ddnn
952
-
5-6 t: ztkmttmb
953
-
2-5 j: rrcjj
954
-
2-5 s: lccgw
955
-
5-6 f: fffflfff
956
-
3-4 h: ptbh
957
-
2-3 s: sssgm
958
-
6-8 g: gggggpggg
959
-
3-4 d: qrll
960
-
8-15 b: zbxpbbbbbbhbbbpbp
961
-
2-3 r: rrrr
962
-
13-15 c: cdccqkcvckcccvc
963
-
10-15 z: hxctzzvzzzzbfzz
964
-
3-4 q: qwtqqncqcdxq
965
-
1-6 l: jlllsl
966
-
5-6 g: ggggbxggggrggggg
967
-
4-6 m: mmmsmdmpmmmm
968
-
5-9 d: ddddddqdgddd
969
-
2-19 d: dxdddddddddddddddddd
970
-
8-9 z: zzzzztzpzqzzdh
971
-
7-12 j: jjfjsmsxjwjjvtcbjb
972
-
2-10 l: dxkrwjbvlsgpzcmk
973
-
13-14 h: hhhhrqlhhhhhhhh
974
-
2-8 v: jvvvvvvjv
975
-
13-14 q: qqjqqqfjqqqqqz
976
-
5-12 d: pllddwcgctfbkfx
977
-
17-18 f: ffffffffffffffffmjff
978
-
7-17 w: sqmbczwtwpwkhngtw
979
-
15-17 l: lllllllllllzllplllll
980
-
5-8 c: cccqfccccccc
981
-
8-14 k: xnjcftlkvhkmkr
982
-
4-5 q: qqqqqj
983
-
8-11 m: wzxcmwgmmvmgq
984
-
11-15 h: hnhtnhnhhkghhzhh
985
-
11-13 g: rgdgqgvmqjggg
986
-
8-13 v: mtjkbnvvvhvvv
987
-
4-5 v: vcvhv
988
-
5-12 w: fqvwnzcwlntwpcwf
989
-
1-15 j: jjjjjjjzjjjjspwj
990
-
2-4 x: jmrxxkpncwdcftw
991
-
1-2 b: gbbqbf
992
-
8-11 k: kxkkkkzpkkzkkm
993
-
1-4 v: mpqp
994
-
6-7 p: lxdptfp
995
-
3-4 s: sxss
996
-
16-18 d: gxzglqmddffqxqvppr
997
-
4-6 f: fffmfff
998
-
13-16 m: zfmcnzxfvmcmqmhcctv
999
-
1-8 n: nnnnnnnm
1000
-
8-9 v: vvvvvvvvvg
-37
2020/2/solution.exs
-37
2020/2/solution.exs
···
1
-
defmodule Solution do
2
-
def read(path) do
3
-
path
4
-
|> File.stream!()
5
-
|> Enum.map(&String.trim/1)
6
-
|> Enum.map(&parse/1)
7
-
end
8
-
9
-
defp parse(input) do
10
-
[spec, pass] = String.split(input, ": ", parts: 2)
11
-
[range, <<char>>] = String.split(spec, " ", parts: 2)
12
-
[min, max] =
13
-
range
14
-
|> String.split("-", parts: 2)
15
-
|> Enum.map(&String.to_integer/1)
16
-
17
-
{min..max, char, pass}
18
-
end
19
-
20
-
def validate_1({range, char, pass}) do
21
-
count = for <<^char <- pass>>, reduce: 0, do: (n -> n + 1)
22
-
23
-
count in range
24
-
end
25
-
26
-
def validate_2({a..b, char, pass}) do
27
-
<<char_1>> = binary_part(pass, a - 1, 1)
28
-
<<char_2>> = binary_part(pass, b - 1, 1)
29
-
30
-
char_1 != char_2 and char in [char_1, char_2]
31
-
end
32
-
end
33
-
34
-
data = Solution.read("2/input.txt")
35
-
36
-
IO.inspect(Enum.count(data, &Solution.validate_1/1), label: "task 1")
37
-
IO.inspect(Enum.count(data, &Solution.validate_2/1), label: "task 2")
+87
2020/day01.livemd
+87
2020/day01.livemd
···
1
+
<!-- livebook:{"persist_outputs":true} -->
2
+
3
+
# Day 01
4
+
5
+
```elixir
6
+
Mix.install([:kino_aoc])
7
+
```
8
+
9
+
## Section
10
+
11
+
<!-- livebook:{"attrs":"eyJhc3NpZ25fdG8iOiJwdXp6bGVfaW5wdXQiLCJkYXkiOiIxIiwic2Vzc2lvbl9zZWNyZXQiOiJBRFZFTlRfT0ZfQ09ERV9TRVNTSU9OIiwieWVhciI6IjIwMjAifQ","chunks":null,"kind":"Elixir.KinoAOC.HelperCell","livebook_object":"smart_cell"} -->
12
+
13
+
```elixir
14
+
{:ok, puzzle_input} =
15
+
KinoAOC.download_puzzle("2020", "1", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
16
+
```
17
+
18
+
<!-- livebook:{"output":true} -->
19
+
20
+
```
21
+
{:ok,
22
+
"1706\n1466\n1427\n1744\n1684\n1386\n2001\n1750\n1753\n1770\n1559\n1616\n1408\n1860\n1940\n2002\n1862\n1918\n1456\n1209\n1840\n1462\n1783\n1644\n1901\n1791\n1506\n2005\n1338\n1383\n1420\n1631\n1784\n1897\n1771\n1588\n1955\n1937\n1392\n1396\n1803\n1429\n1407\n1698\n1562\n1913\n1678\n1198\n1398\n1703\n1831\n1489\n1782\n1864\n1708\n1397\n1915\n1953\n1395\n1610\n1549\n1564\n1973\n1931\n2009\n1980\n1800\n1443\n1993\n1900\n1964\n1581\n1904\n1665\n1567\n1057\n1805\n1402\n1878\n1729\n1825\n1682\n1719\n1469\n1004\n1591\n1594\n811\n1523\n1424\n1756\n373\n1442\n1718\n1411\n1892\n1820\n1977\n1871\n1890\n1653\n1372\n1475\n1476\n1422\n2004\n1755\n1676\n639\n1425\n1853\n1712\n1525\n1514\n1455\n1658\n1963\n1579\n1861\n1458\n1474\n1613\n1681\n1586\n1441\n1499\n1865\n1735\n1989\n1952\n792\n1669\n1509\n1481\n1893\n1445\n1834\n1779\n1732\n1826\n1595\n1829\n449\n1920\n1707\n1780\n1935\n1867\n1769\n1107\n919\n1382\n1604\n1875\n1453\n1496\n1946\n1659\n1570\n1692\n1630\n1638\n1922\n1691\n1580\n1880\n1482\n1762\n1775\n1376\n1434\n1856\n1971\n1646\n1951\n1416\n1889\n1773\n1814\n1471\n1488\n1736\n1743\n1459\n1389\n1498\n1663\n1611\n1727\n1699\n1624\n1511\n1767\n1754\n1785\n1491\n1235\n1510\n1500\n1485"}
23
+
```
24
+
25
+
```elixir
26
+
input =
27
+
puzzle_input
28
+
|> String.split("\n", trim: true)
29
+
|> Enum.map(&String.to_integer/1)
30
+
|> Enum.sort()
31
+
```
32
+
33
+
<!-- livebook:{"output":true} -->
34
+
35
+
```
36
+
[373, 449, 639, 792, 811, 919, 1004, 1057, 1107, 1198, 1209, 1235, 1338, 1372, 1376, 1382, 1383,
37
+
1386, 1389, 1392, 1395, 1396, 1397, 1398, 1402, 1407, 1408, 1411, 1416, 1420, 1422, 1424, 1425,
38
+
1427, 1429, 1434, 1441, 1442, 1443, 1445, 1453, 1455, 1456, 1458, 1459, 1462, 1466, 1469, 1471,
39
+
1474, ...]
40
+
```
41
+
42
+
```elixir
43
+
defmodule Report do
44
+
def find([], _, _), do: nil
45
+
def find(_, _, sum) when sum < 0, do: nil
46
+
def find([a | _], 1, a), do: [a]
47
+
48
+
def find([a | rest], n, sum) do
49
+
case find(rest, n - 1, sum - a) do
50
+
nil -> find(rest, n, sum)
51
+
nums when is_list(nums) -> [a | nums]
52
+
end
53
+
end
54
+
end
55
+
```
56
+
57
+
<!-- livebook:{"output":true} -->
58
+
59
+
```
60
+
{:module, Report, <<70, 79, 82, 49, 0, 0, 8, ...>>, {:find, 3}}
61
+
```
62
+
63
+
## Part 1
64
+
65
+
```elixir
66
+
Report.find(input, 2, 2020) |> Enum.product()
67
+
```
68
+
69
+
<!-- livebook:{"output":true} -->
70
+
71
+
```
72
+
980499
73
+
```
74
+
75
+
## Part 2
76
+
77
+
```elixir
78
+
Report.find(input, 3, 2020) |> Enum.product()
79
+
```
80
+
81
+
<!-- livebook:{"output":true} -->
82
+
83
+
```
84
+
200637446
85
+
```
86
+
87
+
<!-- livebook:{"offset":2857,"stamp":{"token":"XCP.XnJnYSRQgz2UOQ3-aY4Wm_4ac7Pe55mGzaFCONZvS7KA-jlyVQYcIKjXR6X8BV8b5w148g-6oYynzwJ-it0om0UAWkB3kajGGEYsa5LCmZRmUjW5iuT6zTZ5VoYqHjiwSc0","version":2}} -->
+133
2020/day02.livemd
+133
2020/day02.livemd
···
1
+
<!-- livebook:{"persist_outputs":true} -->
2
+
3
+
# Day 02
4
+
5
+
```elixir
6
+
Mix.install([:kino_aoc])
7
+
```
8
+
9
+
## Section
10
+
11
+
<!-- livebook:{"attrs":"eyJhc3NpZ25fdG8iOiJwdXp6bGVfaW5wdXQiLCJkYXkiOiIyIiwic2Vzc2lvbl9zZWNyZXQiOiJBRFZFTlRfT0ZfQ09ERV9TRVNTSU9OIiwieWVhciI6IjIwMjAifQ","chunks":null,"kind":"Elixir.KinoAOC.HelperCell","livebook_object":"smart_cell"} -->
12
+
13
+
```elixir
14
+
{:ok, puzzle_input} =
15
+
KinoAOC.download_puzzle("2020", "2", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
16
+
```
17
+
18
+
<!-- livebook:{"output":true} -->
19
+
20
+
```
21
+
{:ok,
22
+
"5-10 b: bhbjlkbbbbbbb\n3-4 j: hjvj\n8-9 p: pmljtsttp\n3-4 t: hvtttqhdjmmnbqwbgfs\n4-6 m: mblwtzmvmdjkkmmtsckm\n6-9 f: ffffftfff\n1-3 g: xggg\n3-10 k: rwkhttkxxdpnlkq\n3-11 w: wwmwwwwwwwww\n5-7 f: fffffffff\n1-4 l: lglllbc\n2-5 n: njnnn\n6-8 t: tcjtltttttdttjttbt\n10-20 d: djddddccdbdddddddndd\n2-5 z: gzppzhrhzdthnpcr\n13-14 p: plvppptppppzppbkpk\n11-13 t: jjtjvzfhsrtsmkdhj\n11-12 r: rtrdvrrxrrxrzr\n2-6 x: dxsvxgvk\n7-11 x: hcxxpvxrnmxckkq\n12-17 s: sssssssssssrssssss\n2-4 v: vvpvvvjvvjvvqbvv\n15-18 h: thqhhhgjjqhhnhhznz\n8-11 j: jbmgbtmjtbb\n2-4 d: xxdfvp\n2-7 p: fftlppz\n9-13 d: dfddddddsdddds\n5-7 d: ddddddz\n2-3 h: hfbhhh\n1-4 k: rmkvkkkk\n16-17 w: wwwhwwwwwwwwwwwwq\n5-8 l: gllxllnlqlglrplk\n1-7 p: mhnpspp\n5-13 f: qhwffbtfzmdffztfjs\n2-8 f: fkjhvcbflbwhggtbbcb\n2-3 m: bcmldxmdh\n6-7 p: ppcpppw\n3-10 m: mmmmmmmmmj\n4-12 s: ssjssssssssmsss\n2-5 j: rmjnjtjjjj\n2-3 q: qqdqq\n10-15 v: vvvvvvvvvvvvvvdvvvvv\n1-4 w: wwwc\n4-14 m: mmsmmmvmmmmmqqmmmmm\n7-10 d: ddcdddzdddddd\n4-5 h: hhhhh\n9-17 p: ppppppppqppppppppp\n6-7 m: mqtmnms\n4-5 s: pssss\n2-6 t: tdttttpwttt\n7-8 l: llsxsllzlwl\n7-10 f: fflffffkqffffm\n3-4 f: cdfp\n3-4 z: zzzz\n6-7 s: sbssdvs\n3-4 g: ggdv\n11-16 l: lllllnbsqlfzwrfljkh\n3-4 k: tqkxxfk\n3-17 s: xshmvlmzrjdpnvlssn\n1-16 l: lzzvllgktckllmlltl\n5-6 l: qlltvl\n6-7 p: npvbpcp\n4-6 g: gmgvgn\n12-13 r: rrnlrrwrtvrrrrcrrrv\n11-12 h: hhvxhhhhwjhd\n13-14 p: pdppcsjtppppppvtwpj\n10-14 l: hljjkjxlfwzlllclzq\n18-19 z: zzzzzzzzzzzzzzztzhn\n11-12 p: hpspwrkqbnpp\n16-18 h: hhhhhhghhhhhhhhwhbh\n1-2 p: vpxnqqbgrxprmh\n13-19 m: mmmmmmmmmmmmqmmmmqm\n1-2 n: ncndsnl\n9-10 x: xxxxxxxxxgxxd\n9-12 w: wwwwwwwwwwzwwdfgwwp\n3-5 h: nqhvhzb\n4-5 j: jjjns\n10-12 f: ffffffffffff\n7-10 v: mgvrwvvsjw\n3-5 m: wpmmm\n3-10 s: ffsbvjdslsnshqs\n9-10 z: mgzzbjzqsz\n3-13 d: ddjdddddddddnd\n2-4 l: tqkfhpwvvmc\n1-3 z: zzzzzn\n3-5 l: ctljlckdpnlchrzbc\n6-7 v: hqvcvvv\n11-13 v: vvvvcvvvvvvvvvv\n8-9 t: ztndmlwdb\n5-6 v: fdxxrvwpw\n1-4 n: xnkb\n16-17 v: vvvvvvvvvvvvvvvvnvv\n12-14 b: bbbbbxbbbdbgbcb\n1-7 w: wwwwwwrwwjtwk\n3-10 d: bxnhbhrmgd\n4-5 k: kkknkk\n2-4 n: bndln\n3-10 p: vpkppcppppcplpksp\n9-10 d: fhbzbdzqsdxlhnbt\n11-13 z: zzmzzzzwzpzzz\n12-17 b: hkbcbbhthbrbbdgbl\n11-13 c: cpccnxccxbjtm\n5-6 n: nnrmnfnsnn\n3-8 l: sslkllwljcgl\n1-9 p: fpppzzpppppphtrhppp\n4-11 h: kskbvrqhdjph\n3-9 r: rsrvxnrchtrrrr\n4-5 n: nwbln\n3-4 g: gjgv\n13-14 r: rrrrrrsrtrrrrrrrr\n10-15 m: mmmmmmmmmtmmgmm\n5-6 k: wkpkkqk\n10-11 l: wlbllglkbltblrqlllm\n6-7 d: ddddsrddd\n17-18 v: vvvvvvvvvvvfvgvvsvv\n6-10 n: nngnnnnvnknn\n7-8 t: qdztnrnt\n5-11 d: dfbdxqbmsdd\n1-6 n: znnvqdnx\n7-9 k: kkkkkkkkl\n5-6 m: mmmszmtmmks\n1-5 l: wlllllll\n13-14 m: mcmmmmmlmmmmjmmm\n1-7 k: kklkjvckb\n14-15 d: ddddmddddmddddddd\n18-19 k: kfkkkkkkkkkkkkkkkpkk\n3-4 z: czjzc\n17-18 t: btttttjmltrttxctgt\n1-4 c: cccscqcccc\n9-14 k: tcwcstszkvhjfmrqpkp\n3-8 c: ccccccjcscncp\n10-11 d: dddddddddmdd\n3-5 m: rgmfmkmd\n1-5 k: mfhnk\n4-5 x: cwnxftlt\n1-3 n: flnqmnnhnn\n2-5 f: vwlcnsfd\n4-8 c: cccccccbc\n10-12 v: dhfvlvbvspjldzch\n7-16 f: ffsmffffjffqfpffff\n10-13 n: njtrrnnqntjtn\n13-17 f: frffcfffrjffffdfpff\n5-10 m: mmmmvfmmmmmmmmdm\n5-6 v: vvvvvzvvvvv\n6-12 r: dqrrcrhrhjsrrr\n8-14 z: zzzzzzzlzzzgzsz\n5-9 q: qkwzsvwdg\n12-13 d: vzjfvddgctfdrr\n6-7 f: mgndffb\n2-5 x: nxxmx\n7-9 c: cmxsccccf\n1-7 n: nnnnnnnnnn\n6-8 g: gggglfgp\n2-13 v: kvwxcrfmpfcfdrgv\n5-7 p: tpplpffpccpp\n8-12 m: mmmmmmmmmmmxm\n9-10 v: vvvvvvvvvcv\n4-5 m: mbnmmkknmmwshmkthj\n8-9 t: cltntrtpqwtcsftttf\n8-16 f: ffffrffpffffffffff\n6-8 t: sttcctttdttdwjdndtt\n5-9 k: ckkkkvdkvkk\n1-3 f: ffczfpgmf\n2-4 w: wwlwwd\n1-9 d: lddbhdddmtfdmdzdrdhd\n16-17 h: xfqlbhhpbnclvztzzzx\n2-7 r: rrbntqrrsrkrm\n1-4 r: qwrr\n12-14 b: tvbbzjbbbbbbbn\n5-7 h: hhjvghth\n2-3 d: dndrcx\n8-9 c: ccccscccpc\n5-8 s: srcsszcsp\n13-15 g: gggggggglggggglggggg\n11-13 b: bbbbbfrbfbbgbb\n1-8 b: jbbkqbbbpbbbbbbp\n11-14 n: nnnnnnnnnnmnnnn\n1-4 g: qsggg\n14-15 l: sllslllggllljkdlm\n1-5 s: pvssbspdsshsssssrs\n7-10 c: ccccccmcpgcc\n6-14 m: bcfkpmvmcmmjml\n1-3 n: ncnnnnn\n12-14 j: bjfjxjjpjrjjjxjjk\n10-12 v: vfvvvvvvqjvvvwvwt\n6-13 d: stddxdnjrddhwgdhrfjf\n5-6 w: qcwhnwwk\n2-3 x: mcxfxckptzvw\n12-20 b: lvgvbxsxxlvbhfcxbtzr\n1-2 d: ddbdqd\n5-10 h: mhtnjvhhhs\n2-6 z: ztzzdxzzzqbvg\n2-7 t: ttjkqztr\n3-4 g: bgvggrxrhtlklfj\n4-5 q: qqqvq\n1-3 c: ccpc\n4-6 j: jjrdjj\n8-11 c: ncvshccccccsb\n" <> ...}
23
+
```
24
+
25
+
```elixir
26
+
data =
27
+
puzzle_input
28
+
|> String.split("\n", trim: true)
29
+
|> Enum.map(fn input ->
30
+
[spec, pass] = String.split(input, ": ", parts: 2)
31
+
[range, char] = String.split(spec, " ", parts: 2)
32
+
33
+
[min, max] =
34
+
range
35
+
|> String.split("-", parts: 2)
36
+
|> Enum.map(&String.to_integer/1)
37
+
38
+
{min..max, char, pass}
39
+
end)
40
+
```
41
+
42
+
<!-- livebook:{"output":true} -->
43
+
44
+
```
45
+
[
46
+
{5..10, "b", "bhbjlkbbbbbbb"},
47
+
{3..4, "j", "hjvj"},
48
+
{8..9, "p", "pmljtsttp"},
49
+
{3..4, "t", "hvtttqhdjmmnbqwbgfs"},
50
+
{4..6, "m", "mblwtzmvmdjkkmmtsckm"},
51
+
{6..9, "f", "ffffftfff"},
52
+
{1..3, "g", "xggg"},
53
+
{3..10, "k", "rwkhttkxxdpnlkq"},
54
+
{3..11, "w", "wwmwwwwwwwww"},
55
+
{5..7, "f", "fffffffff"},
56
+
{1..4, "l", "lglllbc"},
57
+
{2..5, "n", "njnnn"},
58
+
{6..8, "t", "tcjtltttttdttjttbt"},
59
+
{10..20, "d", "djddddccdbdddddddndd"},
60
+
{2..5, "z", "gzppzhrhzdthnpcr"},
61
+
{13..14, "p", "plvppptppppzppbkpk"},
62
+
{11..13, "t", "jjtjvzfhsrtsmkdhj"},
63
+
{11..12, "r", "rtrdvrrxrrxrzr"},
64
+
{2..6, "x", "dxsvxgvk"},
65
+
{7..11, "x", "hcxxpvxrnmxckkq"},
66
+
{12..17, "s", "sssssssssssrssssss"},
67
+
{2..4, "v", "vvpvvvjvvjvvqbvv"},
68
+
{15..18, "h", "thqhhhgjjqhhnhhznz"},
69
+
{8..11, "j", "jbmgbtmjtbb"},
70
+
{2..4, "d", "xxdfvp"},
71
+
{2..7, "p", "fftlppz"},
72
+
{9..13, "d", "dfddddddsdddds"},
73
+
{5..7, "d", "ddddddz"},
74
+
{2..3, "h", "hfbhhh"},
75
+
{1..4, "k", "rmkvkkkk"},
76
+
{16..17, "w", "wwwhwwwwwwwwwwwwq"},
77
+
{5..8, "l", "gllxllnlqlglrplk"},
78
+
{1..7, "p", "mhnpspp"},
79
+
{5..13, "f", "qhwffbtfzmdffztfjs"},
80
+
{2..8, "f", "fkjhvcbflbwhggtbbcb"},
81
+
{2..3, "m", "bcmldxmdh"},
82
+
{6..7, "p", "ppcpppw"},
83
+
{3..10, "m", "mmmmmmmmmj"},
84
+
{4..12, "s", "ssjssssssssmsss"},
85
+
{2..5, "j", "rmjnjtjjjj"},
86
+
{2..3, "q", "qqdqq"},
87
+
{10..15, "v", "vvvvvvvvvvvvvvdvvvvv"},
88
+
{1..4, "w", "wwwc"},
89
+
{4..14, "m", "mmsmmmvmmmmmqqmmmmm"},
90
+
{7..10, "d", "ddcdddzdddddd"},
91
+
{4..5, "h", "hhhhh"},
92
+
{9..17, "p", "ppppppppqppppppppp"},
93
+
{6..7, "m", ...},
94
+
{4..5, ...},
95
+
{...},
96
+
...
97
+
]
98
+
```
99
+
100
+
## Part 1
101
+
102
+
```elixir
103
+
Enum.count(data, fn {range, <<char>>, pass} ->
104
+
count = for <<^char <- pass>>, reduce: 0, do: (n -> n + 1)
105
+
106
+
count in range
107
+
end)
108
+
```
109
+
110
+
<!-- livebook:{"output":true} -->
111
+
112
+
```
113
+
439
114
+
```
115
+
116
+
## Part 2
117
+
118
+
```elixir
119
+
Enum.count(data, fn {a..b//1, char, pass} ->
120
+
char_1 = binary_part(pass, a - 1, 1)
121
+
char_2 = binary_part(pass, b - 1, 1)
122
+
123
+
char_1 != char_2 and char in [char_1, char_2]
124
+
end)
125
+
```
126
+
127
+
<!-- livebook:{"output":true} -->
128
+
129
+
```
130
+
584
131
+
```
132
+
133
+
<!-- livebook:{"offset":7223,"stamp":{"token":"XCP.hfrcfr0pT-nj7-j4nWaJo4YFPkw0SkyS5kkbU0031loYsccpQ9B5PfrwwU0eiuPMlC2H5sN-qI3EDIk0RJZEkgYu4EvABNl_2k4g0_4hLnQxFsTtp8-IrIUPuzEQJLdGAJ4","version":2}} -->