this repo has no description

Move 2020 solutions to LiveBook

hauleth.dev 95c8d1da 955b43c0

verified
-200
2020/1/input.txt
···
-
1706
-
1466
-
1427
-
1744
-
1684
-
1386
-
2001
-
1750
-
1753
-
1770
-
1559
-
1616
-
1408
-
1860
-
1940
-
2002
-
1862
-
1918
-
1456
-
1209
-
1840
-
1462
-
1783
-
1644
-
1901
-
1791
-
1506
-
2005
-
1338
-
1383
-
1420
-
1631
-
1784
-
1897
-
1771
-
1588
-
1955
-
1937
-
1392
-
1396
-
1803
-
1429
-
1407
-
1698
-
1562
-
1913
-
1678
-
1198
-
1398
-
1703
-
1831
-
1489
-
1782
-
1864
-
1708
-
1397
-
1915
-
1953
-
1395
-
1610
-
1549
-
1564
-
1973
-
1931
-
2009
-
1980
-
1800
-
1443
-
1993
-
1900
-
1964
-
1581
-
1904
-
1665
-
1567
-
1057
-
1805
-
1402
-
1878
-
1729
-
1825
-
1682
-
1719
-
1469
-
1004
-
1591
-
1594
-
811
-
1523
-
1424
-
1756
-
373
-
1442
-
1718
-
1411
-
1892
-
1820
-
1977
-
1871
-
1890
-
1653
-
1372
-
1475
-
1476
-
1422
-
2004
-
1755
-
1676
-
639
-
1425
-
1853
-
1712
-
1525
-
1514
-
1455
-
1658
-
1963
-
1579
-
1861
-
1458
-
1474
-
1613
-
1681
-
1586
-
1441
-
1499
-
1865
-
1735
-
1989
-
1952
-
792
-
1669
-
1509
-
1481
-
1893
-
1445
-
1834
-
1779
-
1732
-
1826
-
1595
-
1829
-
449
-
1920
-
1707
-
1780
-
1935
-
1867
-
1769
-
1107
-
919
-
1382
-
1604
-
1875
-
1453
-
1496
-
1946
-
1659
-
1570
-
1692
-
1630
-
1638
-
1922
-
1691
-
1580
-
1880
-
1482
-
1762
-
1775
-
1376
-
1434
-
1856
-
1971
-
1646
-
1951
-
1416
-
1889
-
1773
-
1814
-
1471
-
1488
-
1736
-
1743
-
1459
-
1389
-
1498
-
1663
-
1611
-
1727
-
1699
-
1624
-
1511
-
1767
-
1754
-
1785
-
1491
-
1235
-
1510
-
1500
-
1485
-65
2020/1/solution.exs
···
-
defmodule Solution do
-
def load(path) do
-
path
-
|> File.stream!()
-
|> Stream.map(&String.to_integer(String.trim(&1)))
-
|> Enum.to_list()
-
end
-
-
def run([], _, _), do: nil
-
def run(_, _, sum) when sum < 0, do: nil
-
def run([a | _], 1, a), do: [a]
-
-
def run([a | rest], n, sum) do
-
case run(rest, n - 1, sum - a) do
-
nil -> run(rest, n, sum)
-
nums when is_list(nums) -> [a | nums]
-
end
-
end
-
end
-
-
list = Solution.load("./1/input.txt")
-
-
list
-
|> Solution.run(2, 2020)
-
|> Enum.reduce(&*/2)
-
|> IO.inspect(label: "task 1")
-
-
list
-
|> Solution.run(3, 2020)
-
|> Enum.reduce(&*/2)
-
|> IO.inspect(label: "task 2")
-
-
Benchee.run(%{
-
"first solution" => fn ->
-
try do
-
for x <- list, y <- list, z <- list, x + y + z == 2020 do
-
throw(x * y * z)
-
end
-
-
:error
-
catch
-
num -> {:ok, num}
-
end
-
end,
-
"optimized" => fn ->
-
try do
-
for x <- list,
-
rest = 2020 - x,
-
y <- list,
-
y < rest,
-
rest = 2020 - x - y,
-
z <- list,
-
z <= rest,
-
x + y + z == 2020,
-
do: throw(x * y * z)
-
-
:error
-
catch
-
num -> {:ok, num}
-
end
-
end,
-
"mine" => fn ->
-
Solution.run(list, 3, 2020)
-
end
-
})
-1000
2020/2/input.txt
···
-
5-10 b: bhbjlkbbbbbbb
-
3-4 j: hjvj
-
8-9 p: pmljtsttp
-
3-4 t: hvtttqhdjmmnbqwbgfs
-
4-6 m: mblwtzmvmdjkkmmtsckm
-
6-9 f: ffffftfff
-
1-3 g: xggg
-
3-10 k: rwkhttkxxdpnlkq
-
3-11 w: wwmwwwwwwwww
-
5-7 f: fffffffff
-
1-4 l: lglllbc
-
2-5 n: njnnn
-
6-8 t: tcjtltttttdttjttbt
-
10-20 d: djddddccdbdddddddndd
-
2-5 z: gzppzhrhzdthnpcr
-
13-14 p: plvppptppppzppbkpk
-
11-13 t: jjtjvzfhsrtsmkdhj
-
11-12 r: rtrdvrrxrrxrzr
-
2-6 x: dxsvxgvk
-
7-11 x: hcxxpvxrnmxckkq
-
12-17 s: sssssssssssrssssss
-
2-4 v: vvpvvvjvvjvvqbvv
-
15-18 h: thqhhhgjjqhhnhhznz
-
8-11 j: jbmgbtmjtbb
-
2-4 d: xxdfvp
-
2-7 p: fftlppz
-
9-13 d: dfddddddsdddds
-
5-7 d: ddddddz
-
2-3 h: hfbhhh
-
1-4 k: rmkvkkkk
-
16-17 w: wwwhwwwwwwwwwwwwq
-
5-8 l: gllxllnlqlglrplk
-
1-7 p: mhnpspp
-
5-13 f: qhwffbtfzmdffztfjs
-
2-8 f: fkjhvcbflbwhggtbbcb
-
2-3 m: bcmldxmdh
-
6-7 p: ppcpppw
-
3-10 m: mmmmmmmmmj
-
4-12 s: ssjssssssssmsss
-
2-5 j: rmjnjtjjjj
-
2-3 q: qqdqq
-
10-15 v: vvvvvvvvvvvvvvdvvvvv
-
1-4 w: wwwc
-
4-14 m: mmsmmmvmmmmmqqmmmmm
-
7-10 d: ddcdddzdddddd
-
4-5 h: hhhhh
-
9-17 p: ppppppppqppppppppp
-
6-7 m: mqtmnms
-
4-5 s: pssss
-
2-6 t: tdttttpwttt
-
7-8 l: llsxsllzlwl
-
7-10 f: fflffffkqffffm
-
3-4 f: cdfp
-
3-4 z: zzzz
-
6-7 s: sbssdvs
-
3-4 g: ggdv
-
11-16 l: lllllnbsqlfzwrfljkh
-
3-4 k: tqkxxfk
-
3-17 s: xshmvlmzrjdpnvlssn
-
1-16 l: lzzvllgktckllmlltl
-
5-6 l: qlltvl
-
6-7 p: npvbpcp
-
4-6 g: gmgvgn
-
12-13 r: rrnlrrwrtvrrrrcrrrv
-
11-12 h: hhvxhhhhwjhd
-
13-14 p: pdppcsjtppppppvtwpj
-
10-14 l: hljjkjxlfwzlllclzq
-
18-19 z: zzzzzzzzzzzzzzztzhn
-
11-12 p: hpspwrkqbnpp
-
16-18 h: hhhhhhghhhhhhhhwhbh
-
1-2 p: vpxnqqbgrxprmh
-
13-19 m: mmmmmmmmmmmmqmmmmqm
-
1-2 n: ncndsnl
-
9-10 x: xxxxxxxxxgxxd
-
9-12 w: wwwwwwwwwwzwwdfgwwp
-
3-5 h: nqhvhzb
-
4-5 j: jjjns
-
10-12 f: ffffffffffff
-
7-10 v: mgvrwvvsjw
-
3-5 m: wpmmm
-
3-10 s: ffsbvjdslsnshqs
-
9-10 z: mgzzbjzqsz
-
3-13 d: ddjdddddddddnd
-
2-4 l: tqkfhpwvvmc
-
1-3 z: zzzzzn
-
3-5 l: ctljlckdpnlchrzbc
-
6-7 v: hqvcvvv
-
11-13 v: vvvvcvvvvvvvvvv
-
8-9 t: ztndmlwdb
-
5-6 v: fdxxrvwpw
-
1-4 n: xnkb
-
16-17 v: vvvvvvvvvvvvvvvvnvv
-
12-14 b: bbbbbxbbbdbgbcb
-
1-7 w: wwwwwwrwwjtwk
-
3-10 d: bxnhbhrmgd
-
4-5 k: kkknkk
-
2-4 n: bndln
-
3-10 p: vpkppcppppcplpksp
-
9-10 d: fhbzbdzqsdxlhnbt
-
11-13 z: zzmzzzzwzpzzz
-
12-17 b: hkbcbbhthbrbbdgbl
-
11-13 c: cpccnxccxbjtm
-
5-6 n: nnrmnfnsnn
-
3-8 l: sslkllwljcgl
-
1-9 p: fpppzzpppppphtrhppp
-
4-11 h: kskbvrqhdjph
-
3-9 r: rsrvxnrchtrrrr
-
4-5 n: nwbln
-
3-4 g: gjgv
-
13-14 r: rrrrrrsrtrrrrrrrr
-
10-15 m: mmmmmmmmmtmmgmm
-
5-6 k: wkpkkqk
-
10-11 l: wlbllglkbltblrqlllm
-
6-7 d: ddddsrddd
-
17-18 v: vvvvvvvvvvvfvgvvsvv
-
6-10 n: nngnnnnvnknn
-
7-8 t: qdztnrnt
-
5-11 d: dfbdxqbmsdd
-
1-6 n: znnvqdnx
-
7-9 k: kkkkkkkkl
-
5-6 m: mmmszmtmmks
-
1-5 l: wlllllll
-
13-14 m: mcmmmmmlmmmmjmmm
-
1-7 k: kklkjvckb
-
14-15 d: ddddmddddmddddddd
-
18-19 k: kfkkkkkkkkkkkkkkkpkk
-
3-4 z: czjzc
-
17-18 t: btttttjmltrttxctgt
-
1-4 c: cccscqcccc
-
9-14 k: tcwcstszkvhjfmrqpkp
-
3-8 c: ccccccjcscncp
-
10-11 d: dddddddddmdd
-
3-5 m: rgmfmkmd
-
1-5 k: mfhnk
-
4-5 x: cwnxftlt
-
1-3 n: flnqmnnhnn
-
2-5 f: vwlcnsfd
-
4-8 c: cccccccbc
-
10-12 v: dhfvlvbvspjldzch
-
7-16 f: ffsmffffjffqfpffff
-
10-13 n: njtrrnnqntjtn
-
13-17 f: frffcfffrjffffdfpff
-
5-10 m: mmmmvfmmmmmmmmdm
-
5-6 v: vvvvvzvvvvv
-
6-12 r: dqrrcrhrhjsrrr
-
8-14 z: zzzzzzzlzzzgzsz
-
5-9 q: qkwzsvwdg
-
12-13 d: vzjfvddgctfdrr
-
6-7 f: mgndffb
-
2-5 x: nxxmx
-
7-9 c: cmxsccccf
-
1-7 n: nnnnnnnnnn
-
6-8 g: gggglfgp
-
2-13 v: kvwxcrfmpfcfdrgv
-
5-7 p: tpplpffpccpp
-
8-12 m: mmmmmmmmmmmxm
-
9-10 v: vvvvvvvvvcv
-
4-5 m: mbnmmkknmmwshmkthj
-
8-9 t: cltntrtpqwtcsftttf
-
8-16 f: ffffrffpffffffffff
-
6-8 t: sttcctttdttdwjdndtt
-
5-9 k: ckkkkvdkvkk
-
1-3 f: ffczfpgmf
-
2-4 w: wwlwwd
-
1-9 d: lddbhdddmtfdmdzdrdhd
-
16-17 h: xfqlbhhpbnclvztzzzx
-
2-7 r: rrbntqrrsrkrm
-
1-4 r: qwrr
-
12-14 b: tvbbzjbbbbbbbn
-
5-7 h: hhjvghth
-
2-3 d: dndrcx
-
8-9 c: ccccscccpc
-
5-8 s: srcsszcsp
-
13-15 g: gggggggglggggglggggg
-
11-13 b: bbbbbfrbfbbgbb
-
1-8 b: jbbkqbbbpbbbbbbp
-
11-14 n: nnnnnnnnnnmnnnn
-
1-4 g: qsggg
-
14-15 l: sllslllggllljkdlm
-
1-5 s: pvssbspdsshsssssrs
-
7-10 c: ccccccmcpgcc
-
6-14 m: bcfkpmvmcmmjml
-
1-3 n: ncnnnnn
-
12-14 j: bjfjxjjpjrjjjxjjk
-
10-12 v: vfvvvvvvqjvvvwvwt
-
6-13 d: stddxdnjrddhwgdhrfjf
-
5-6 w: qcwhnwwk
-
2-3 x: mcxfxckptzvw
-
12-20 b: lvgvbxsxxlvbhfcxbtzr
-
1-2 d: ddbdqd
-
5-10 h: mhtnjvhhhs
-
2-6 z: ztzzdxzzzqbvg
-
2-7 t: ttjkqztr
-
3-4 g: bgvggrxrhtlklfj
-
4-5 q: qqqvq
-
1-3 c: ccpc
-
4-6 j: jjrdjj
-
8-11 c: ncvshccccccsb
-
1-2 z: rzzqxczxbkpvgkxfzgvz
-
10-11 f: kffsffffbqf
-
18-19 v: vmvvvvvvvvvvvvvvvql
-
14-15 m: mmmmmmmmmnmmmpmm
-
12-17 z: zzzzzzzzczzdlzzzzz
-
4-6 g: zggggg
-
12-16 h: hhhfhhrnnkhhmhhtqvh
-
3-4 n: hxssbnn
-
6-9 m: mmmmmmmmdmmm
-
5-6 n: nnwtgn
-
6-10 c: lppbvxcmjc
-
7-8 d: dpddzddvdzdddzfddd
-
1-5 z: xlzmzzz
-
6-11 h: hjhhhphhhhf
-
1-9 h: hhdghtsmmjhhnnwz
-
6-9 t: ctldsstttstrz
-
3-4 t: qvktfwnjcjtqtjqtn
-
6-7 w: wwwwwwsww
-
11-12 m: nphmmmpmmmcm
-
8-9 p: ppppdppdp
-
12-13 l: cllzzglllbqlll
-
2-7 s: sslssssgbssbsssnss
-
6-14 j: jvjrxjjrlgvjzmgj
-
7-8 p: hxpnjvzqxm
-
2-10 g: xgzfgvdsxr
-
4-5 t: lttttxdtp
-
3-12 c: kkpckmphqfcc
-
4-7 v: rbsjcpvwgtfjpv
-
2-4 k: swqfkb
-
5-9 n: knfdnnnnn
-
12-14 t: zgwthtdtrxvvftst
-
3-5 v: vlvqtv
-
15-19 t: fqwkwbtjdqncnsmnqxr
-
3-8 c: mxccchksq
-
3-5 v: jtpvr
-
5-7 k: kbkkkshkkkzkkkt
-
8-9 z: zzzzzzzzzzz
-
6-13 k: kkkkkkkkkkkktkkk
-
5-7 c: mccchbwc
-
7-12 x: gxxxxlgmztwsxxxgj
-
3-12 b: ndsbdfdgvxtbmrqcrjhs
-
1-3 d: qxdtdt
-
3-7 b: qbbdbgb
-
12-15 p: ppmplpptppwppppg
-
7-8 r: rjrrrrrz
-
8-10 p: cppppgspsxpvp
-
1-5 w: wwwpwf
-
4-8 p: nhqlknppmpplb
-
1-6 c: cvccccrc
-
7-8 c: cccccctccccccc
-
4-12 x: jxrxtnxrxxvsx
-
9-15 g: jfgxnznpwhccdggnm
-
2-6 h: jphhphlvhgqbwnl
-
8-9 f: dfftbfxsxxqfdvlfs
-
1-12 t: dtttttttttttttt
-
3-7 h: hshhmhh
-
3-4 w: wwwj
-
5-6 z: zzzzzp
-
8-12 m: jmnwmtjmnqvrj
-
4-5 f: ffffvff
-
8-10 l: llllflllxll
-
4-8 x: zcvxtxxkm
-
13-15 p: pppppkppppbpppsp
-
3-6 h: hhhhphlhhghkt
-
2-13 t: tcttttjtttttltttttt
-
9-10 b: bbbbbbbbvb
-
7-8 w: fwbwwwqw
-
6-9 s: jssssssssssssssssw
-
13-17 p: pppppppppppppppppp
-
5-7 q: lqxcqqqqcmgtbqjrqmjg
-
4-17 t: tttpfttttjttttttvt
-
13-14 c: cccccccccccccj
-
1-2 p: pxrpqpmpp
-
3-8 l: rnlxbwwzjdsh
-
2-7 w: kwkghnsfcp
-
9-11 m: mmdrktmzmrzhmgdmg
-
8-11 z: wzxwzzbfznc
-
5-7 t: rtbtntt
-
2-3 v: nqvv
-
2-3 r: krrwb
-
10-11 q: qqqqlqqvqqqqqq
-
3-5 r: drrhh
-
7-9 f: ffffffffhv
-
4-13 m: rkmmbjnsjzjcmwmwk
-
15-17 s: jrrvwtnklssqshzpss
-
12-13 z: fczzpzzzzzzkl
-
10-12 z: jshkxzzzrdzj
-
6-13 k: kkkkkkkkkkfkgkkkkkk
-
14-15 w: wcjjlzkpbspcwcw
-
2-5 n: npnnznk
-
5-15 b: cgqlmxzqmvqzbvb
-
13-15 r: rrrprrrrrrrrlrr
-
5-6 z: pgfzxw
-
4-17 x: xlgxwsxjxdxxhqhtcj
-
11-16 z: zzjhzzlzrzkzwzlzz
-
7-8 b: tltbbrbbbkb
-
2-14 k: pnkkqfxkkqkkmkkdkjkk
-
1-3 f: hjmvjfxvxtgh
-
6-8 w: xgrvwwswwxg
-
16-18 v: vwvvvvvvvvkvvmvvvtv
-
3-10 w: wwwwwwwwwwwww
-
2-4 w: zcwwqwtdwj
-
3-7 r: ttrrnwszwqsp
-
1-7 m: mjjqlgm
-
12-15 x: xxxxxxxxxxxlxxnxx
-
3-6 z: zzzzzjz
-
8-9 s: sssssssvs
-
5-7 w: wlwswwd
-
17-18 z: zzzdzzzzzzzzzzzzzx
-
5-7 j: dchcjfj
-
2-5 k: cqpkn
-
8-10 x: xxxnxxxxxtx
-
1-5 t: tttttttt
-
5-6 k: lkkphk
-
11-13 c: scdtdcghdmcttcc
-
2-5 h: hhhhhh
-
4-6 r: clrrrr
-
2-13 s: szsssssssssssssv
-
3-11 x: krxmwcznvwrlcx
-
7-8 m: cmmttmbm
-
3-4 c: pdwccbxwfvhcgrx
-
5-8 p: ppppvppq
-
12-19 l: llfllrllmwlmlllllll
-
11-15 p: psplppzglptmppp
-
6-14 m: mmvmmgmmmpmmmxm
-
5-6 j: jjctdzj
-
9-10 k: xnkzkkpplpkkkkk
-
10-14 t: crsttgdtzgfqtx
-
6-7 j: jbkpsjjjsrzf
-
1-4 v: vsvvvvm
-
4-5 f: lhbnfgqmbfltqrxzzx
-
12-13 q: qrjkxcwqqkdjmsxfnqmf
-
18-19 q: qqpqqxzqjnqqbhqkqqv
-
16-20 m: nzbmqjwbmmmnhmlmszbf
-
5-9 k: kkkkxskkkkk
-
1-2 x: txhxx
-
9-12 s: sssssssssssr
-
3-4 s: qsssssh
-
19-20 f: mfffmpfhhffwrlkffvff
-
3-15 b: bbpbbbbbbbbbbbbbb
-
8-9 h: fbcjphblh
-
6-9 p: ppppbnpppfppw
-
6-20 n: nsxzcgbcgqvjwfrgtnsr
-
5-7 s: cssdjdssr
-
3-4 g: gggwgg
-
1-6 s: hsspsss
-
2-5 z: zlgzb
-
5-8 l: jsljljtlpqhjl
-
3-10 n: mznwwnvhgbg
-
2-3 c: cckcc
-
1-10 r: rrpcbdrrrr
-
16-17 q: kqjxngwrpqlsqklnq
-
2-4 n: mnmnn
-
8-9 n: nnnnnnnsrnl
-
2-4 r: qrhlrvwpqsvktzcqms
-
6-9 v: vbqlvvvhqvqpv
-
2-8 b: kngrzdbb
-
10-13 d: dddddddddwdddd
-
2-6 z: czkzhzqdffh
-
8-19 n: kngnjnftdsrnhsnmznn
-
8-10 m: rngxfjlmmvtctp
-
16-17 k: dlkkxxkkkczkkkkkvs
-
3-17 n: wllsknnzckmmsjmqnxc
-
11-12 h: csrhwxwdnkhh
-
3-7 g: ggggggngg
-
1-14 s: sssssssssssssssdl
-
8-16 m: mmmmmmmkmmmmmmmpm
-
8-9 b: kdbqtknpncbbffd
-
14-15 z: zjzzszcgnzczszg
-
12-16 g: jdvgrmdczssgtwsq
-
2-6 n: lwlklnfxlhwdkn
-
1-5 c: bnfbdzc
-
14-15 b: bbbbbbbbjbbbbtb
-
2-5 v: vnvvvvv
-
14-17 s: ssssszssssssssshmsss
-
7-9 h: fhmhjkcrhbl
-
11-15 g: fwhjldbbprhngcjg
-
9-15 m: mdcbhmmjlmfmmtmcmm
-
10-13 j: jjjjsjjjjlwjsjjl
-
1-5 s: dsssssssssssssssss
-
5-15 r: rrxprrrrrrrzvhrrrrr
-
5-7 b: svnbkbb
-
2-4 w: kwwqws
-
13-20 q: slgmkqmkvlqqwjfdhqdq
-
8-12 l: llllllljlllkll
-
9-20 c: cccccccccccccccccccc
-
5-6 n: wlcnnh
-
1-4 w: lzwwv
-
8-9 h: hhphhhhhhhdhh
-
8-10 t: mnsnktzgrn
-
11-16 v: bjvcvfrkgkvzvvvxb
-
11-18 v: vvvvvvvvvvvvvvvvvxvv
-
11-14 l: llllkllllrlqll
-
5-11 q: zwlqcqqnnqq
-
5-11 p: pftpphptptphtskqp
-
4-12 p: pvpwpzppppppppdk
-
2-4 h: hhhqhh
-
6-12 l: jznsrcnxkllz
-
13-15 j: vdjkhxjptxzfjjm
-
4-5 t: vzhft
-
7-10 m: bmrmztmwxmms
-
5-7 h: hswmtbhcb
-
13-17 f: vmhffvvfjtffpllftff
-
11-16 w: wqntqwmzcwwvhwwsxwlh
-
2-4 r: wrbb
-
2-10 b: bbbbbbbbbb
-
1-11 m: mmmmmmmmmmmmmmmmmmhm
-
13-14 r: rrrrrrrrrrrrrwrrrr
-
3-6 n: vnsprwznfn
-
3-4 v: vvvz
-
2-11 p: ppxjqmffgtp
-
7-10 s: sslmsssssss
-
10-11 j: jjlsjjjjjfjjj
-
4-7 b: fbbhggbcmr
-
12-13 s: sssssssssssgxs
-
8-10 l: lpllllhlcnlllxl
-
3-4 l: ljxlml
-
2-14 f: ffffffwfffzfcnfffwrf
-
7-10 h: kwdcfptcchhhhhgz
-
2-9 j: jjjjjsmjzjqjjj
-
4-13 w: wwcwwwmrwwwgqwr
-
3-5 t: ttmtttt
-
5-13 d: whpdqwpvkzsxdmgtnz
-
13-14 x: xxtbcxxxwxxxxx
-
1-7 t: ttttttdthtttttttt
-
6-15 x: pxfnxbnmpxgmwzxkv
-
2-11 m: kmcmjlddbwm
-
9-14 d: dddddddddddddldd
-
6-9 x: nxvkxvxxx
-
18-19 x: xsxxxrdxbkjmbdvfrrx
-
12-13 j: jnjjjgjjqrjjs
-
14-16 r: rrrrrmrrrrqrrxrvrvr
-
5-9 h: hhvvhmzjn
-
5-6 w: wwgfzt
-
10-13 v: vvvvvsvvvtvvxvvrvvv
-
2-4 h: hwhh
-
4-8 s: ssssssshss
-
5-12 n: nnnnnnnnnnncn
-
2-3 x: bxxmxcdzlj
-
14-16 x: chpxcprsxhxvkxzc
-
7-9 b: bbbbbbbbbb
-
10-11 x: xxskpxtfhxd
-
5-7 w: zwwwrww
-
1-8 l: splxkhxw
-
8-9 q: llcbqltqh
-
2-3 k: kkcckxm
-
6-11 c: ccccsccccccccccccccc
-
6-14 k: xkbbnkknkttqpb
-
12-16 d: dcddddrddnddvprsd
-
1-3 p: bpplj
-
4-6 n: nntbnpn
-
14-15 k: nwcckxptkgrrbkd
-
12-14 d: dddddddddddddxd
-
1-11 v: vvvvjvvvvvvvvv
-
4-6 g: gtgbfg
-
5-8 h: hhhhdhhhhhhh
-
13-15 n: nwnnpnftnbnknqn
-
3-4 m: mpfqmj
-
3-6 t: ttmtct
-
2-4 s: sssss
-
10-16 v: vvszvvgvvvvvvvvcv
-
11-13 t: stvdjtwjzftrtprpb
-
5-6 p: pppptp
-
12-15 d: ddtdjdddxdhxzdcd
-
12-16 b: bbbbbbbbbbbxbbbbb
-
12-14 n: qnnnnnnnnzlnnnn
-
9-11 v: sqkrmzjqvvv
-
2-5 d: cdpfdtjdkn
-
7-8 p: pppptppppp
-
2-4 s: ssszsss
-
13-15 d: cpdwdbvqxcffdrd
-
4-5 j: hbjjpppm
-
5-8 g: gvgmgjgrzz
-
6-7 s: sssssqn
-
1-11 p: tpstkbpmtbpg
-
17-18 m: zmmmsrsrgfpggmmmlgk
-
2-3 f: ffkhf
-
2-5 f: ftfff
-
2-10 m: gqxlmphwcmfc
-
6-8 v: bvgwwbvlvvvlrvv
-
13-14 n: nnnnnnnnnnnnnxn
-
2-7 f: ffffffff
-
9-10 x: xxxxxxxxxd
-
1-7 s: mssssdsksssdsssz
-
11-15 t: jtttttltmttgttthz
-
5-12 j: jqjjjjfndzjdjjjjjjjn
-
9-13 r: rrrrrrrrrrrrj
-
5-9 x: xxjxpcqxxcxznn
-
2-9 c: psdddswdcpd
-
4-10 f: fsffxffffmr
-
7-12 j: jxvjjjrjjhjfc
-
4-5 q: bqqhj
-
1-4 f: fwbclqb
-
1-2 k: skqk
-
9-11 b: bbbzbkbbhbb
-
1-2 g: nggv
-
3-7 m: mmfmmmpm
-
2-3 m: vpmr
-
7-10 d: ddddddjddm
-
2-15 t: hgvsftrbzglvmpwhsmp
-
1-5 t: qtttt
-
11-13 p: pppppppppppphp
-
4-5 p: cvqpzvpppfh
-
2-3 f: bbftxfnmb
-
2-3 r: rlrr
-
1-4 m: mvms
-
3-14 m: gfmprfxpvzhmhm
-
2-8 j: jdsjjlfl
-
8-12 k: kkkkskkvkkkkk
-
1-7 p: hpfpmpwp
-
5-8 x: xxxxxxxhxxxxxx
-
3-10 p: mmctgfppppxplpplppj
-
3-4 p: zfmpjbhwppk
-
13-16 z: zzzzzzzzzzzzvzzzz
-
1-3 d: djddd
-
2-7 p: nmplwdp
-
7-9 l: lglllllll
-
7-8 p: ptvsnpcp
-
9-10 m: rjnmxthbmg
-
5-6 j: jjccjv
-
6-8 t: tvcztdttxzkp
-
8-12 p: kmrpqdnppskj
-
6-8 j: lsjkhjjhbgj
-
11-12 x: hxxxlxmxxxtrxxxxk
-
3-6 p: pppppcgtpxpppplp
-
8-10 s: nphsvswsrssxmdh
-
10-11 p: pppcpptppkp
-
14-15 z: zzzzzzzzzzzzzcz
-
14-18 f: mffngzbffffznctfff
-
6-7 t: tttthhtttq
-
12-19 l: shqlqnkzwpplqjrwjcv
-
1-4 k: khkx
-
9-11 d: ddddddddpdrdddd
-
3-4 s: mvsssc
-
6-7 h: hhhhhhphh
-
8-14 v: vvrvsvwrwmpvlv
-
2-6 z: zxjvsn
-
9-12 f: ffffffffpfftf
-
2-5 s: lssmjh
-
11-14 k: kkwkkfkbpnjkbkk
-
4-15 x: ppcxmjmxvbrkxlqcthx
-
1-2 g: bpggz
-
3-5 x: vxjxxxnztm
-
7-8 r: rrrrrrrhr
-
8-13 n: nnblnxnnrmnnq
-
1-4 w: wwtxwwwjwwwwdwl
-
1-10 d: cddddddwfhdrdddqnd
-
1-8 j: jxmjjjrv
-
4-7 x: xfxxxxn
-
16-18 v: vvvvvvvvvvvvvvvvvvv
-
3-5 h: hhhhhh
-
9-11 z: zzztvzzhgzr
-
3-5 w: fcjwwjwwv
-
6-7 z: hszgzsl
-
3-9 l: fldswlflrll
-
10-11 n: fqbxpfncbln
-
7-14 m: jftmkxqhrmmcqmk
-
8-9 h: hhqqhkhmh
-
3-5 l: lnlqlhdjtd
-
4-11 x: lqjxqzlfsfhzjqqnttp
-
4-6 c: fccctcc
-
8-11 c: cccccccccckcr
-
2-3 k: jkxtkjhnkksksrrzhfkk
-
7-9 m: nmmmmmmkmrmmdjjms
-
5-12 m: mmmmprmsmbmmmm
-
1-2 l: lllll
-
3-7 m: gmmtchm
-
11-16 t: vddbsztmpttvsktp
-
9-13 f: ffffffffffffffffff
-
3-8 j: hjhldbcznnsx
-
5-7 v: vrfpvswbmbvvzv
-
6-15 z: bhlvbzvnlntzzzz
-
4-6 x: xzjrxcx
-
3-4 q: qqsw
-
5-6 r: rrrlrrrrrr
-
1-7 b: qbbbbbxbbb
-
6-7 b: bfbbjdd
-
4-11 f: lfrffpfgzqs
-
3-5 c: qccncmjgrczzmcz
-
9-15 x: vxxxxxnxxxxxxxxrxxxj
-
1-2 s: ssnls
-
5-9 z: zzpzzzzzszzzzzz
-
5-16 z: pzgzxgpwqmzwwlzz
-
6-7 c: ccqxccn
-
5-6 b: ngmbbs
-
2-19 d: cdmnqfjfxgtdwlrnhcd
-
9-12 p: thcvkgpcxptpxpp
-
3-6 g: sbstjvnhfgdr
-
1-18 f: fsffffffffffffffffff
-
2-16 f: rfxzxrjpbvfzcftf
-
13-14 v: rvxvvnsfcvvvrvvvqg
-
4-10 d: tqlddkdpdv
-
12-13 r: rrrrrrrrhrwrjdrlnr
-
5-6 x: xxvxgnxxxx
-
3-4 d: sddd
-
5-11 p: jphgprgjjpp
-
1-7 f: fjgfdvb
-
3-8 x: rpxvndgxx
-
1-17 b: jbbrxbbbtxjbrpbbb
-
7-10 h: bhhbzmdrkhhvhjx
-
1-5 v: fzdgv
-
5-7 f: vfdffftffffhflw
-
2-20 c: mcbhcvvxwxfvxqlgxpdc
-
5-8 w: vwktjwdsccgj
-
3-4 d: nntd
-
1-7 n: nnncmhnkgqn
-
2-6 r: bdvvbrr
-
1-15 b: bbbzwbbbbkbgkbp
-
3-8 f: slfvsmvftsstff
-
3-4 z: pvzzggdnhwzjzgp
-
8-9 n: nnnnvnnfn
-
4-10 n: nnnlnngnncnn
-
8-10 l: vktfwjrmslbh
-
3-6 n: nflmqn
-
4-5 s: svggkxz
-
3-4 w: wwjt
-
5-6 t: nbbbdt
-
3-8 d: jrjkdghxqwq
-
7-8 q: qqqqqqgq
-
7-8 k: qxgnkvckpkchqnmxb
-
1-5 v: vvvvvv
-
6-16 s: stmjwhvrrkfgrsxs
-
3-4 s: sdrswqnsjrnhrlds
-
12-15 r: rgdrrrrrrrrrrrgtg
-
12-14 g: gggggggggggjgggggggg
-
1-7 h: phhhhhdnhj
-
3-4 v: tknvv
-
10-11 j: jjbvjjxjjjjj
-
2-5 c: bcbff
-
7-11 r: rrrrrrxrrrdrrrrr
-
13-16 p: ppppppppppppdppr
-
14-16 t: tttttttvtttttttwttt
-
3-6 c: hclhccxhmxtjcbmjc
-
1-2 x: gxxxxx
-
2-3 w: wrwcqt
-
2-6 g: gmblggxgg
-
1-4 l: lllxpkml
-
1-2 d: mdddddd
-
4-8 q: qqqxqqqqq
-
3-4 v: mwvfvlqvv
-
3-6 w: wswwgc
-
2-4 d: bdfd
-
17-19 l: llllsldlbllllnlllzr
-
10-18 j: tjhgvshtbqjtcfcvlr
-
4-9 t: ttttttttttfttttttt
-
8-9 g: ngsggnbgqgtgglnjgcg
-
9-10 d: dddhdddvgbdbd
-
8-9 g: gtggvpgmq
-
11-15 j: jjqkjsmjkgfvjns
-
6-9 t: tqthttvtnttttttg
-
1-7 j: sjjjjjjjjjjjjjj
-
15-16 g: gggggggzgghgggqd
-
10-16 n: nnnnnjnnngnnnnnnnn
-
1-6 p: pppppppp
-
1-2 k: kdkk
-
1-2 b: bjvzqrgbhmgm
-
2-4 x: xvxxx
-
1-5 j: zjjjjjjj
-
2-5 f: lfnpwfz
-
1-12 j: hjjjjjjjjjjj
-
7-10 l: lllllqhlllllmmlpllll
-
11-12 m: mmmnmnmmmmmmmm
-
6-8 z: dzzzzfzzpz
-
14-15 c: cshjrbzhmmpckcwf
-
3-5 q: qqqqz
-
11-12 z: zzzzdzczzkprvztzfrdd
-
4-5 t: ttstbt
-
14-15 k: kkkkkkqkkkkkksr
-
1-12 j: jjjjjjjjjjjwgcjzj
-
2-3 k: rhkhkkg
-
1-16 z: zrzzzzkkhzzflzzzlzzq
-
12-13 h: hhhhhhhhhthgjhh
-
1-5 j: qqjjczwttz
-
11-12 h: hhhhhhhhhhmk
-
1-3 p: qpspbpjfq
-
1-3 f: ffzf
-
11-16 f: qdfmgnfnfvffflfhff
-
12-14 b: btwsgnvvljknbbdf
-
7-15 b: wdrgltbgdqscbhh
-
3-13 j: vwjpjjwjtcpjk
-
2-4 l: clxdsfqfdvkfhcgdswl
-
9-13 m: mmmmmmgmmpnmmmzmmk
-
4-5 x: hxxxx
-
1-4 b: bbbb
-
4-5 r: rrrrwfrv
-
6-9 n: nnnnnnnnsn
-
4-7 m: mvmmmmdmm
-
4-12 t: ttttttjtttttjttttt
-
1-3 c: bccc
-
2-3 m: mmcxbw
-
1-4 r: rrrrrr
-
8-10 l: lllllllplllllllll
-
18-19 h: hbhjdhhnnhfshkhhhgh
-
6-8 h: hfhwhwph
-
1-4 z: cfmz
-
2-3 m: vtmmznmvmrs
-
7-8 l: llhlwzlmjll
-
1-2 m: mmskncxdc
-
1-4 d: ndddd
-
1-3 m: mmgmmm
-
14-15 r: nzrgmcrrgmrxlbr
-
2-13 h: htkhhhhhhqhhlhhhkh
-
2-4 w: wkwsw
-
3-4 w: wmwr
-
2-9 v: kdzkhvnkv
-
8-9 t: wltttttkbktftk
-
9-14 n: vnhdtndfnsncpnf
-
3-10 n: jfnwcngtdz
-
13-15 j: nqzdlvnvvgnmhjj
-
1-12 q: qqqqqqqqqqqqq
-
10-12 c: cccdcmscbhcqccc
-
1-3 w: bzwwgg
-
2-14 d: pdkrpmxxzgcvqkzvvzqd
-
6-11 t: tfqvhtbmdztsnwnt
-
5-9 l: xllmllvjdds
-
6-14 h: pkhthnhxhhhjnscb
-
5-7 m: mmmmrmmm
-
8-10 x: xxxxxxxwxkxxx
-
4-5 k: lmkkkkkskg
-
1-2 d: dtdd
-
5-7 f: frfwsfr
-
4-5 w: rclww
-
4-5 g: gkkmtnlhbkgb
-
4-6 q: qqqfqqq
-
3-4 d: ddjb
-
11-13 n: nnnnnnnnnnnnnnnn
-
4-6 f: jvkxcffdgd
-
3-4 g: ktsgxzn
-
14-15 g: gggggggggggggggg
-
2-3 n: nqnnn
-
2-12 k: kbkpppkrkkjkkkk
-
5-7 c: ccccbcccc
-
9-10 l: plmrklsclx
-
4-11 m: mmmtmmmmmmqlm
-
6-7 b: bbbbbbq
-
7-9 g: kcgggklzg
-
3-6 p: ptxpppppppppppp
-
2-4 s: swsss
-
7-10 c: cccccccccpcc
-
5-7 d: dbddlddddcsdd
-
6-7 k: kkkkkkk
-
2-4 h: hwnvcj
-
1-9 g: nggggggggg
-
9-19 b: dzzpzvgwbdbmthmzfbhb
-
1-6 v: vrclmqxpvkhbvrfdmc
-
4-7 k: sgwktwtttmktrfjzn
-
13-16 x: whxxxxxxxxxxxxxsxx
-
4-9 z: zzzpzzzzzz
-
7-9 t: mwvtbhtxt
-
2-3 j: jfjdj
-
3-9 t: nrkffvgmtdstkkhtfpn
-
3-4 g: ggggxxdjsgrbf
-
4-10 x: kgbxbqnqmc
-
7-10 t: ztndqctmtttthxkwtlm
-
8-12 h: fbvccdshdvhhh
-
9-12 f: ffffsfffffjd
-
1-3 q: qkqqrvmmkh
-
13-14 r: rrrqrrrrrrrrrrrrrrr
-
2-3 g: bmdgkz
-
6-7 k: kkkkkkjk
-
4-9 q: qgzrflqqqd
-
12-13 s: brsswsfsvsfssps
-
5-9 q: drjcqnmwqbncmqqvcjgh
-
7-9 x: xxpxxgzxxxnx
-
2-13 s: ssdsssssjshsjsjswn
-
1-11 m: fmmmmmmmmsmmmh
-
3-8 f: zffrqqhflhvl
-
4-11 l: lqfwlxlllnl
-
12-16 k: kkkkkkkkkkkdkkkgkkkk
-
1-5 s: sssslss
-
3-13 n: ntnnnnpnnlndsnn
-
13-16 f: nzpfvhfrxpxjfmcfff
-
2-3 f: ffbf
-
3-7 r: nxrrrqrqnrrlbj
-
1-10 p: mppptppppcpppppppd
-
9-11 l: ftmflbbljjf
-
6-8 r: rrrrrlrrrr
-
10-16 k: zqknmwppdtckmpgk
-
10-13 t: dpqxttttttttb
-
2-4 f: ftff
-
9-14 k: krkkkqkkkkdkkrn
-
12-17 b: mbxbczbbbbdbbbbbpbnb
-
8-9 j: bjjjjjjjqjvxjfjjjjjj
-
1-3 s: lspsh
-
2-7 p: zpqlvwpmdp
-
6-8 q: qqqqqqqtqq
-
15-16 z: cxzmdcdzckrhzxzz
-
13-17 v: vvvvvvvvvvvvvvvvzv
-
6-8 c: ctcccccc
-
6-7 v: xjzvvfvjmnrvtvncjmdv
-
3-8 m: sqmfbqlm
-
3-9 p: bpqpxpfpzqpjjgv
-
8-10 n: clxnnnxvnnxnnnnnn
-
8-9 m: mmmmmmmmm
-
2-6 s: scssss
-
9-10 t: xtttttttftttt
-
3-5 c: rksck
-
16-17 h: ldhchxlhphlnmhvhh
-
3-6 b: bnbvlb
-
4-5 j: mjjjx
-
2-4 j: sklkmtrjpgprqdn
-
3-8 l: nllnlnll
-
1-6 g: jgbgpt
-
14-17 d: cqddcfsjddddxlcdd
-
4-6 h: qcqhwc
-
6-14 j: fzrkcjrqjssjdjjjjj
-
3-4 j: jdfj
-
1-3 k: fkpkkkck
-
11-12 w: wwwwbwwwwwfg
-
6-7 g: wngnhsg
-
4-13 d: bddjdddddddddpdddddd
-
7-8 k: kmkfkkkp
-
5-9 b: btmlgzbbdb
-
4-7 j: dxlzwsjdbjcqjsnwq
-
9-13 p: pppppmfhpptppp
-
16-17 v: vvvvvvvvvvvvvvvxn
-
1-7 m: mmmmmmtmm
-
1-8 v: vvvvvvvbv
-
9-15 t: tttttttttttttttt
-
15-17 r: rwrqrrhdrtvrfszrj
-
4-9 m: mfddknmcmqhglr
-
7-10 k: kkkkkkkkpkklkk
-
18-19 c: hpqwwkgtqbrcjxptwnc
-
2-3 p: xwppdp
-
5-11 r: vnrhrmknrrr
-
10-15 f: ffmfffffcfftfdfff
-
10-13 m: mmtsmmmmmmmmhmm
-
4-16 j: pjlplfvtgrjhvcdjjdmb
-
8-14 v: kxrjvdbbmxvrzdp
-
6-7 w: wwwwwwgwww
-
9-16 f: hhkvlfrvfvpvlzvcfsg
-
1-3 k: kkbk
-
9-12 d: ddddddddtdddd
-
13-16 w: wwwgwwwwwwwxwwwwwww
-
4-5 t: swtttpkkpwdt
-
5-7 z: zzfzzzp
-
1-5 g: grghg
-
3-4 n: wjsnnnwsxrx
-
8-10 x: xxxxxxpqxc
-
4-13 t: tttbtttttttttttt
-
1-3 w: wswwn
-
1-6 d: dddtddddd
-
12-13 x: xxflxxpxxxxxwgrxxx
-
1-2 m: mxghmm
-
6-11 j: jjjjjjjjjjxj
-
1-3 n: nnfnnnnnnnn
-
7-11 w: wxwwwwpwwwww
-
1-2 q: nqmqfxql
-
9-12 m: mmmmvmnmfmmp
-
5-7 m: mmmmmmms
-
3-4 s: ssqsssssssj
-
6-9 c: ccvcmnccccl
-
1-17 b: gbbbbbbbbbbbbbbbqbb
-
7-10 q: vqqqqxqqql
-
9-12 v: vzvvnvtblzrq
-
7-8 q: qqqqqqqs
-
4-8 q: qtzqcgbqwq
-
7-9 c: ccncdmxsccchcxxj
-
3-6 q: qqqjlqqxcqdkzqqj
-
3-4 k: qckk
-
10-12 c: cccccccccccc
-
10-18 g: gggggggggggggbgkggn
-
2-3 w: wwww
-
1-4 k: kkglkqkgzbn
-
6-7 l: lklksztlzllllp
-
8-10 x: xxxxltxwxnxdvcg
-
1-5 w: tvmjw
-
3-9 z: hvqqhmpzz
-
6-8 x: qzxxdxnxmlgp
-
13-17 s: ssssqsssssssjssssxs
-
2-8 f: qfhnhfzc
-
3-4 v: vvbv
-
4-6 j: jjjmjj
-
3-4 q: lqqd
-
12-14 j: jjjjmjjjjjjcjjjj
-
6-9 c: whjbsclch
-
14-15 j: jgjjcjkljjmfpjqjjjk
-
2-3 z: jbzt
-
12-13 b: bbbbbbbbbbbqj
-
3-9 s: jhcsgnsscs
-
6-8 h: hhhlhlhf
-
3-4 j: jmjjcwjpj
-
10-11 c: cccccccccdcccccc
-
11-12 w: wswwwwwwvwww
-
17-18 k: rmzbkcsxrmdwkksstk
-
7-8 h: hhhhhthh
-
1-2 n: nnqcqlxdsc
-
4-11 l: llllllllldlql
-
14-20 h: hhhhhhhhhhhhhhhhhhhh
-
4-8 r: bhwrrrrrrgrwcmr
-
5-16 m: lmdbtwhnzszltgjmhfcb
-
4-12 m: mmmvmmmmmmmmm
-
1-5 t: qtwnztcftsqjh
-
4-12 s: ssdszsssssvslx
-
16-18 w: wwwwwwwwwwwwwwwrwq
-
7-8 t: ttttttttt
-
8-10 r: mxrrrrrrrc
-
10-12 g: gggggtpghggsgvcdpjlg
-
7-13 q: qlqqpqdqqqqqnqqqq
-
7-9 z: zzzzzgzzd
-
13-16 c: ccccccccccccxccb
-
4-9 l: jbsssqpjl
-
7-12 s: sslsssdksnsssqmrsc
-
9-14 w: cwqsssmkbgwmqzrw
-
1-5 v: vljdvzqvgjhcgbn
-
4-7 w: nxqxgww
-
7-9 w: wwwtwlwqxwww
-
14-18 q: qwncqqqjmmlzqqqqnq
-
2-8 g: ggggggggg
-
5-6 g: ggpgkgg
-
12-13 r: rrrrrrrrrrrph
-
14-15 c: cswccccccvccmcs
-
11-15 p: jppxbqzcdzppxjv
-
6-9 f: fffnfffdcc
-
7-10 x: xnrdxxtwxx
-
2-6 s: gdshsbcsssss
-
5-9 d: dwtcdddffsdzdzcvbdd
-
2-3 l: kqlfjqj
-
7-9 s: tmsklsfsp
-
2-4 c: lkbck
-
2-9 x: jtxslmdpxpkqfjjb
-
18-19 v: vvvvvvvvvvvvvvvvvmd
-
9-10 x: zgxdjvxqxgxkcm
-
11-12 d: dddqddddddvdddd
-
1-4 d: ddlvd
-
2-4 t: tztfwtjwt
-
5-6 j: gjjsfjgvjjcwzjm
-
8-11 g: kvsqgmqgdmgxdpg
-
6-11 b: bpjbfrrpbvb
-
1-10 j: tmjjjjjjbjcjjjjjj
-
14-18 t: tttttttttttttttttttt
-
11-12 r: rjjvggmpwvrhn
-
10-12 t: tttttttttctttt
-
1-8 s: lbssjsssgsss
-
4-12 h: pchchhtthdhhch
-
7-8 m: mhrpkbmdmj
-
5-6 f: sffdsf
-
4-7 z: zzzkzzkzzzz
-
1-5 c: nccjw
-
1-2 l: wsgllckll
-
1-9 k: mwvhwgvfkvmpwnntjbk
-
1-6 v: vvvvvvvvvvv
-
2-8 m: ttzhlrrmbt
-
3-4 x: xqklgxxx
-
12-13 v: rvvvvvvvfvvmvv
-
6-13 n: nnnnnnnnnnnnnn
-
5-6 s: bpnsssj
-
3-9 q: xtddtwfcstjrqbslmjsz
-
8-9 g: xxkxxgzgg
-
1-12 w: gwwwwwwwwwwtw
-
4-5 p: pppppp
-
1-2 x: jpxvxxxxxnmkx
-
3-4 n: ddnn
-
5-6 t: ztkmttmb
-
2-5 j: rrcjj
-
2-5 s: lccgw
-
5-6 f: fffflfff
-
3-4 h: ptbh
-
2-3 s: sssgm
-
6-8 g: gggggpggg
-
3-4 d: qrll
-
8-15 b: zbxpbbbbbbhbbbpbp
-
2-3 r: rrrr
-
13-15 c: cdccqkcvckcccvc
-
10-15 z: hxctzzvzzzzbfzz
-
3-4 q: qwtqqncqcdxq
-
1-6 l: jlllsl
-
5-6 g: ggggbxggggrggggg
-
4-6 m: mmmsmdmpmmmm
-
5-9 d: ddddddqdgddd
-
2-19 d: dxdddddddddddddddddd
-
8-9 z: zzzzztzpzqzzdh
-
7-12 j: jjfjsmsxjwjjvtcbjb
-
2-10 l: dxkrwjbvlsgpzcmk
-
13-14 h: hhhhrqlhhhhhhhh
-
2-8 v: jvvvvvvjv
-
13-14 q: qqjqqqfjqqqqqz
-
5-12 d: pllddwcgctfbkfx
-
17-18 f: ffffffffffffffffmjff
-
7-17 w: sqmbczwtwpwkhngtw
-
15-17 l: lllllllllllzllplllll
-
5-8 c: cccqfccccccc
-
8-14 k: xnjcftlkvhkmkr
-
4-5 q: qqqqqj
-
8-11 m: wzxcmwgmmvmgq
-
11-15 h: hnhtnhnhhkghhzhh
-
11-13 g: rgdgqgvmqjggg
-
8-13 v: mtjkbnvvvhvvv
-
4-5 v: vcvhv
-
5-12 w: fqvwnzcwlntwpcwf
-
1-15 j: jjjjjjjzjjjjspwj
-
2-4 x: jmrxxkpncwdcftw
-
1-2 b: gbbqbf
-
8-11 k: kxkkkkzpkkzkkm
-
1-4 v: mpqp
-
6-7 p: lxdptfp
-
3-4 s: sxss
-
16-18 d: gxzglqmddffqxqvppr
-
4-6 f: fffmfff
-
13-16 m: zfmcnzxfvmcmqmhcctv
-
1-8 n: nnnnnnnm
-
8-9 v: vvvvvvvvvg
-37
2020/2/solution.exs
···
-
defmodule Solution do
-
def read(path) do
-
path
-
|> File.stream!()
-
|> Enum.map(&String.trim/1)
-
|> Enum.map(&parse/1)
-
end
-
-
defp parse(input) do
-
[spec, pass] = String.split(input, ": ", parts: 2)
-
[range, <<char>>] = String.split(spec, " ", parts: 2)
-
[min, max] =
-
range
-
|> String.split("-", parts: 2)
-
|> Enum.map(&String.to_integer/1)
-
-
{min..max, char, pass}
-
end
-
-
def validate_1({range, char, pass}) do
-
count = for <<^char <- pass>>, reduce: 0, do: (n -> n + 1)
-
-
count in range
-
end
-
-
def validate_2({a..b, char, pass}) do
-
<<char_1>> = binary_part(pass, a - 1, 1)
-
<<char_2>> = binary_part(pass, b - 1, 1)
-
-
char_1 != char_2 and char in [char_1, char_2]
-
end
-
end
-
-
data = Solution.read("2/input.txt")
-
-
IO.inspect(Enum.count(data, &Solution.validate_1/1), label: "task 1")
-
IO.inspect(Enum.count(data, &Solution.validate_2/1), label: "task 2")
+87
2020/day01.livemd
···
+
<!-- livebook:{"persist_outputs":true} -->
+
+
# Day 01
+
+
```elixir
+
Mix.install([:kino_aoc])
+
```
+
+
## Section
+
+
<!-- livebook:{"attrs":"eyJhc3NpZ25fdG8iOiJwdXp6bGVfaW5wdXQiLCJkYXkiOiIxIiwic2Vzc2lvbl9zZWNyZXQiOiJBRFZFTlRfT0ZfQ09ERV9TRVNTSU9OIiwieWVhciI6IjIwMjAifQ","chunks":null,"kind":"Elixir.KinoAOC.HelperCell","livebook_object":"smart_cell"} -->
+
+
```elixir
+
{:ok, puzzle_input} =
+
KinoAOC.download_puzzle("2020", "1", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
{:ok,
+
"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"}
+
```
+
+
```elixir
+
input =
+
puzzle_input
+
|> String.split("\n", trim: true)
+
|> Enum.map(&String.to_integer/1)
+
|> Enum.sort()
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
[373, 449, 639, 792, 811, 919, 1004, 1057, 1107, 1198, 1209, 1235, 1338, 1372, 1376, 1382, 1383,
+
1386, 1389, 1392, 1395, 1396, 1397, 1398, 1402, 1407, 1408, 1411, 1416, 1420, 1422, 1424, 1425,
+
1427, 1429, 1434, 1441, 1442, 1443, 1445, 1453, 1455, 1456, 1458, 1459, 1462, 1466, 1469, 1471,
+
1474, ...]
+
```
+
+
```elixir
+
defmodule Report do
+
def find([], _, _), do: nil
+
def find(_, _, sum) when sum < 0, do: nil
+
def find([a | _], 1, a), do: [a]
+
+
def find([a | rest], n, sum) do
+
case find(rest, n - 1, sum - a) do
+
nil -> find(rest, n, sum)
+
nums when is_list(nums) -> [a | nums]
+
end
+
end
+
end
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
{:module, Report, <<70, 79, 82, 49, 0, 0, 8, ...>>, {:find, 3}}
+
```
+
+
## Part 1
+
+
```elixir
+
Report.find(input, 2, 2020) |> Enum.product()
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
980499
+
```
+
+
## Part 2
+
+
```elixir
+
Report.find(input, 3, 2020) |> Enum.product()
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
200637446
+
```
+
+
<!-- livebook:{"offset":2857,"stamp":{"token":"XCP.XnJnYSRQgz2UOQ3-aY4Wm_4ac7Pe55mGzaFCONZvS7KA-jlyVQYcIKjXR6X8BV8b5w148g-6oYynzwJ-it0om0UAWkB3kajGGEYsa5LCmZRmUjW5iuT6zTZ5VoYqHjiwSc0","version":2}} -->
+133
2020/day02.livemd
···
+
<!-- livebook:{"persist_outputs":true} -->
+
+
# Day 02
+
+
```elixir
+
Mix.install([:kino_aoc])
+
```
+
+
## Section
+
+
<!-- livebook:{"attrs":"eyJhc3NpZ25fdG8iOiJwdXp6bGVfaW5wdXQiLCJkYXkiOiIyIiwic2Vzc2lvbl9zZWNyZXQiOiJBRFZFTlRfT0ZfQ09ERV9TRVNTSU9OIiwieWVhciI6IjIwMjAifQ","chunks":null,"kind":"Elixir.KinoAOC.HelperCell","livebook_object":"smart_cell"} -->
+
+
```elixir
+
{:ok, puzzle_input} =
+
KinoAOC.download_puzzle("2020", "2", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION"))
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
{:ok,
+
"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" <> ...}
+
```
+
+
```elixir
+
data =
+
puzzle_input
+
|> String.split("\n", trim: true)
+
|> Enum.map(fn input ->
+
[spec, pass] = String.split(input, ": ", parts: 2)
+
[range, char] = String.split(spec, " ", parts: 2)
+
+
[min, max] =
+
range
+
|> String.split("-", parts: 2)
+
|> Enum.map(&String.to_integer/1)
+
+
{min..max, char, pass}
+
end)
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
[
+
{5..10, "b", "bhbjlkbbbbbbb"},
+
{3..4, "j", "hjvj"},
+
{8..9, "p", "pmljtsttp"},
+
{3..4, "t", "hvtttqhdjmmnbqwbgfs"},
+
{4..6, "m", "mblwtzmvmdjkkmmtsckm"},
+
{6..9, "f", "ffffftfff"},
+
{1..3, "g", "xggg"},
+
{3..10, "k", "rwkhttkxxdpnlkq"},
+
{3..11, "w", "wwmwwwwwwwww"},
+
{5..7, "f", "fffffffff"},
+
{1..4, "l", "lglllbc"},
+
{2..5, "n", "njnnn"},
+
{6..8, "t", "tcjtltttttdttjttbt"},
+
{10..20, "d", "djddddccdbdddddddndd"},
+
{2..5, "z", "gzppzhrhzdthnpcr"},
+
{13..14, "p", "plvppptppppzppbkpk"},
+
{11..13, "t", "jjtjvzfhsrtsmkdhj"},
+
{11..12, "r", "rtrdvrrxrrxrzr"},
+
{2..6, "x", "dxsvxgvk"},
+
{7..11, "x", "hcxxpvxrnmxckkq"},
+
{12..17, "s", "sssssssssssrssssss"},
+
{2..4, "v", "vvpvvvjvvjvvqbvv"},
+
{15..18, "h", "thqhhhgjjqhhnhhznz"},
+
{8..11, "j", "jbmgbtmjtbb"},
+
{2..4, "d", "xxdfvp"},
+
{2..7, "p", "fftlppz"},
+
{9..13, "d", "dfddddddsdddds"},
+
{5..7, "d", "ddddddz"},
+
{2..3, "h", "hfbhhh"},
+
{1..4, "k", "rmkvkkkk"},
+
{16..17, "w", "wwwhwwwwwwwwwwwwq"},
+
{5..8, "l", "gllxllnlqlglrplk"},
+
{1..7, "p", "mhnpspp"},
+
{5..13, "f", "qhwffbtfzmdffztfjs"},
+
{2..8, "f", "fkjhvcbflbwhggtbbcb"},
+
{2..3, "m", "bcmldxmdh"},
+
{6..7, "p", "ppcpppw"},
+
{3..10, "m", "mmmmmmmmmj"},
+
{4..12, "s", "ssjssssssssmsss"},
+
{2..5, "j", "rmjnjtjjjj"},
+
{2..3, "q", "qqdqq"},
+
{10..15, "v", "vvvvvvvvvvvvvvdvvvvv"},
+
{1..4, "w", "wwwc"},
+
{4..14, "m", "mmsmmmvmmmmmqqmmmmm"},
+
{7..10, "d", "ddcdddzdddddd"},
+
{4..5, "h", "hhhhh"},
+
{9..17, "p", "ppppppppqppppppppp"},
+
{6..7, "m", ...},
+
{4..5, ...},
+
{...},
+
...
+
]
+
```
+
+
## Part 1
+
+
```elixir
+
Enum.count(data, fn {range, <<char>>, pass} ->
+
count = for <<^char <- pass>>, reduce: 0, do: (n -> n + 1)
+
+
count in range
+
end)
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
439
+
```
+
+
## Part 2
+
+
```elixir
+
Enum.count(data, fn {a..b//1, char, pass} ->
+
char_1 = binary_part(pass, a - 1, 1)
+
char_2 = binary_part(pass, b - 1, 1)
+
+
char_1 != char_2 and char in [char_1, char_2]
+
end)
+
```
+
+
<!-- livebook:{"output":true} -->
+
+
```
+
584
+
```
+
+
<!-- livebook:{"offset":7223,"stamp":{"token":"XCP.hfrcfr0pT-nj7-j4nWaJo4YFPkw0SkyS5kkbU0031loYsccpQ9B5PfrwwU0eiuPMlC2H5sN-qI3EDIk0RJZEkgYu4EvABNl_2k4g0_4hLnQxFsTtp8-IrIUPuzEQJLdGAJ4","version":2}} -->