From 5cf45c0a8f4f4b9c8128264c15091a62b18813f7 Mon Sep 17 00:00:00 2001 From: kalle Date: Fri, 4 Dec 2020 10:05:00 +0100 Subject: [PATCH] Initial commit --- Day 1/One/input | 200 ++++++++ Day 1/One/solution.py | 10 + Day 1/Two/input | 200 ++++++++ Day 1/Two/solution.py | 12 + Day 2/One/input | 1000 ++++++++++++++++++++++++++++++++++++ Day 2/One/main.py | 18 + Day 2/Two/input | 1000 ++++++++++++++++++++++++++++++++++++ Day 2/Two/main.py | 17 + Day 3/One/input | 323 ++++++++++++ Day 3/One/main.py | 22 + Day 3/Two/input | 323 ++++++++++++ Day 3/Two/main.py | 28 + Day 4/One/input | 1133 +++++++++++++++++++++++++++++++++++++++++ Day 4/One/main.py | 25 + Day 4/Two/input | 1133 +++++++++++++++++++++++++++++++++++++++++ Day 4/Two/main.py | 77 +++ 16 files changed, 5521 insertions(+) create mode 100644 Day 1/One/input create mode 100755 Day 1/One/solution.py create mode 100644 Day 1/Two/input create mode 100755 Day 1/Two/solution.py create mode 100644 Day 2/One/input create mode 100755 Day 2/One/main.py create mode 100644 Day 2/Two/input create mode 100755 Day 2/Two/main.py create mode 100644 Day 3/One/input create mode 100755 Day 3/One/main.py create mode 100644 Day 3/Two/input create mode 100755 Day 3/Two/main.py create mode 100644 Day 4/One/input create mode 100755 Day 4/One/main.py create mode 100644 Day 4/Two/input create mode 100755 Day 4/Two/main.py diff --git a/Day 1/One/input b/Day 1/One/input new file mode 100644 index 0000000..f0f6d00 --- /dev/null +++ b/Day 1/One/input @@ -0,0 +1,200 @@ +1429 +1368 +1661 +1687 +1593 +1495 +1565 +1500 +1635 +1845 +1645 +1999 +1415 +1054 +1930 +1774 +1405 +1993 +1757 +1623 +1675 +1665 +631 +1950 +1702 +1311 +1509 +1790 +1643 +1884 +226 +1455 +1679 +1746 +1284 +1342 +1684 +1543 +1396 +1806 +1523 +1363 +1011 +1577 +1767 +1287 +1885 +1517 +1556 +1722 +1260 +1624 +1466 +1263 +1162 +1688 +1202 +1913 +1964 +1385 +1970 +1976 +1431 +858 +1748 +1544 +1438 +1300 +1926 +1587 +1376 +1939 +1039 +1639 +1539 +1491 +1631 +1521 +1564 +1507 +1637 +1534 +1713 +1533 +1118 +1356 +2003 +282 +1079 +1837 +1259 +1941 +1836 +1903 +1433 +1467 +1027 +1441 +1048 +1742 +1087 +1872 +1476 +1657 +1361 +1182 +1494 +1529 +1822 +1444 +1330 +1514 +1723 +1432 +1683 +1997 +1443 +1474 +1932 +1504 +1313 +1765 +19 +1784 +1619 +992 +1560 +1680 +1626 +1558 +1899 +1293 +1676 +1161 +1140 +1341 +1597 +1628 +1611 +1302 +1269 +1241 +1952 +1591 +1726 +428 +1703 +1289 +1109 +1478 +1002 +1817 +1849 +1838 +1319 +1641 +583 +1920 +1453 +1411 +1870 +1763 +1469 +1646 +1719 +1213 +1462 +1545 +1682 +1711 +18 +2004 +1252 +1620 +1559 +1315 +781 +1656 +1987 +1436 +1630 +1985 +1897 +1551 +1296 +1282 +1735 +1320 +1659 +1271 +1380 +1274 +1876 +1492 +1298 +1399 +1692 +1265 +1555 +1337 diff --git a/Day 1/One/solution.py b/Day 1/One/solution.py new file mode 100755 index 0000000..a09564a --- /dev/null +++ b/Day 1/One/solution.py @@ -0,0 +1,10 @@ +#!/bin/python + +with open("input", 'r') as input: + lines = [x.strip() for x in input.readlines()] + for x in lines: + x = int(x) + for y in lines: + y = int(y) + if x + y == 2020: + print(f"Found solution: x: {x}, y: {y}, result: {x*y}") diff --git a/Day 1/Two/input b/Day 1/Two/input new file mode 100644 index 0000000..f0f6d00 --- /dev/null +++ b/Day 1/Two/input @@ -0,0 +1,200 @@ +1429 +1368 +1661 +1687 +1593 +1495 +1565 +1500 +1635 +1845 +1645 +1999 +1415 +1054 +1930 +1774 +1405 +1993 +1757 +1623 +1675 +1665 +631 +1950 +1702 +1311 +1509 +1790 +1643 +1884 +226 +1455 +1679 +1746 +1284 +1342 +1684 +1543 +1396 +1806 +1523 +1363 +1011 +1577 +1767 +1287 +1885 +1517 +1556 +1722 +1260 +1624 +1466 +1263 +1162 +1688 +1202 +1913 +1964 +1385 +1970 +1976 +1431 +858 +1748 +1544 +1438 +1300 +1926 +1587 +1376 +1939 +1039 +1639 +1539 +1491 +1631 +1521 +1564 +1507 +1637 +1534 +1713 +1533 +1118 +1356 +2003 +282 +1079 +1837 +1259 +1941 +1836 +1903 +1433 +1467 +1027 +1441 +1048 +1742 +1087 +1872 +1476 +1657 +1361 +1182 +1494 +1529 +1822 +1444 +1330 +1514 +1723 +1432 +1683 +1997 +1443 +1474 +1932 +1504 +1313 +1765 +19 +1784 +1619 +992 +1560 +1680 +1626 +1558 +1899 +1293 +1676 +1161 +1140 +1341 +1597 +1628 +1611 +1302 +1269 +1241 +1952 +1591 +1726 +428 +1703 +1289 +1109 +1478 +1002 +1817 +1849 +1838 +1319 +1641 +583 +1920 +1453 +1411 +1870 +1763 +1469 +1646 +1719 +1213 +1462 +1545 +1682 +1711 +18 +2004 +1252 +1620 +1559 +1315 +781 +1656 +1987 +1436 +1630 +1985 +1897 +1551 +1296 +1282 +1735 +1320 +1659 +1271 +1380 +1274 +1876 +1492 +1298 +1399 +1692 +1265 +1555 +1337 diff --git a/Day 1/Two/solution.py b/Day 1/Two/solution.py new file mode 100755 index 0000000..e6e1a7f --- /dev/null +++ b/Day 1/Two/solution.py @@ -0,0 +1,12 @@ +#!/bin/python + +with open("input", 'r') as input: + lines = [x.strip() for x in input.readlines()] + for x in lines: + x = int(x) + for y in lines: + y = int(y) + for z in lines: + z = int(z) + if x + y + z == 2020: + print(f"Found solution: x: {x}, y: {y}, z: {z}, result: {x*y*z}") diff --git a/Day 2/One/input b/Day 2/One/input new file mode 100644 index 0000000..6158f52 --- /dev/null +++ b/Day 2/One/input @@ -0,0 +1,1000 @@ +13-15 c: cqbhncccjsncqcc +2-3 v: zvdvfd +9-14 b: rbrbnbbbqdfrht +11-12 k: kkkkkkkkkkxqk +4-5 b: bqbbdm +10-12 w: kwwkwwwrwzzwwwwzwswx +1-11 g: grrmgmqgghw +4-5 m: mbmhmvmwdvxmvpw +1-13 n: ndnnnnnnnnnns +11-18 l: lllllllllllllllllll +4-5 c: cccscc +2-4 k: bkfr +9-13 k: lcmsvkknrxtkkksgvkjg +1-2 b: bhwgb +1-4 j: zjjcjj +7-11 g: nnffggdmggr +3-4 z: zzhzz +4-10 g: mggkgvgggmggkggmqg +4-5 n: dcmnl +11-15 s: gzpdvsmnzsshswzs +10-14 x: xmvpxjtlxxhxtpdhsnx +5-15 v: zzhjdpgxlsvphzv +4-8 k: dsfktqchpkk +6-7 j: jzjgjqld +12-16 r: rrrrrrrrrrrhrrrrhrr +1-2 l: lllllll +2-3 q: jqxwtggmgqmzpljdvkt +8-11 p: xpmcppppwvzp +7-8 c: vwcvkcct +4-10 d: lsmdffzdsrk +2-3 p: sxpg +4-11 p: rzlgxshhpbp +1-4 b: qbbbbbbbbbbb +6-11 m: zwmzmmlbmxgphkks +1-4 n: lnnnn +15-16 h: hhbdmbhchhhkhhrw +10-11 k: kkkqtwkkkkkkkkn +2-13 m: mggmmxmrzmwglbmmm +12-14 g: ggggrggggxgwhggggd +7-11 l: llbqsqlkvll +1-3 f: ffff +4-9 h: qvnhvcmpmfdbqhkdsg +3-8 d: ddsdddddd +14-15 j: qjjjzjjjjjbxmjs +3-5 j: jjjjtctjjjs +12-13 q: qqqqqqqqqqqqgqqq +1-8 p: xpppzdpp +13-15 f: lnlnlkcwgnfqgmfhlwm +12-17 g: gfgtgrvcxggggtggjg +6-8 r: rrrrtwrqrrr +9-12 r: ctldssjlrzhvpmqrtxd +1-6 k: qkkkdkkkkkk +17-18 x: bxrxxbxxzpbxnqxcsmn +2-4 c: ccmr +1-7 m: mmmmfrdmmmhl +9-12 d: ddddddddxddhd +13-14 f: ffffffffjffbbff +4-6 c: ccchcc +6-7 r: rrsrrrrcrrjbrrrr +9-15 w: wzfbtqrwwgtmbxn +6-7 q: qqqqqqrq +1-7 l: lgpqzhlkb +6-8 d: dhddkndp +2-5 m: bjxmmmmm +5-16 t: nbgjntfhpwtbrcftxt +5-7 k: kkkkkhbkkkkk +8-19 t: dsdstttfjhnttttvgttt +3-4 t: ttltttt +1-5 l: flfllllllllbhldll +7-10 x: xxxxxxcxxxx +2-7 t: ttttttctttt +3-12 x: vlxfwpdncxzkmkxt +1-5 b: mbbbbbdbbbtbwbhpbt +3-16 q: fpqkkkqfkqdbrxlq +5-6 p: lpcbtppjpt +6-7 w: wcwwhwv +9-13 v: vvvvvvvvvvvvvvv +1-4 g: vgggtggghgggggggg +2-9 p: mppsrrzwxdt +4-5 f: ffffdfffffdf +2-5 x: xkjss +13-14 z: zzzzzzzzzzzzbhzz +2-10 p: xmtkzpbrrj +17-18 t: ttttttttttttttttttt +2-8 j: cjjqbzpd +4-12 z: zzzkzzhzzpzzdzz +1-2 d: rdcdt +2-3 j: wnltj +7-9 r: rlrfbrdrqrbdr +3-4 s: bcsss +12-14 h: hhhhhhhhhhhbhhh +3-5 h: rfhlc +8-15 f: ffffffflffffffff +3-15 s: ssxsssssssssssss +2-4 h: hlbhshhmhhhg +12-13 r: rrrrrrrrmrvrnrr +3-5 p: ppppjp +1-2 z: zqhdkgqqzfsxkjjzg +6-8 k: kkkkkkzd +1-12 h: qhhhhhhhhxhhhhh +9-14 p: ppppppppqppppfp +2-4 t: tsttt +18-19 t: cttttllttttwxtttttt +10-11 t: rkdbpntntttfw +4-14 m: mdmmgtlmmwmbmmmk +4-6 n: xxhnpmnfnn +15-16 g: ggggggsggggggggng +14-15 k: kpjxmkrksskpbwk +15-18 f: fffffsffffffffnfffff +18-19 p: gwpplnpndvpxgzjvhbpp +8-12 l: ldclrkllbgpwllllcxms +14-19 w: pxsjbtwwhdkptwcxwvr +2-17 m: mtmmmmmmmmmmmmmmmm +12-15 b: nbcsplrmvbjbqlc +1-4 z: bzzszzzzz +1-13 t: tttttttttttttttttt +6-7 j: jjjjjmvjjjjjjjjjjj +10-13 l: llclllllljllllll +11-12 c: mzckxzsbbxcq +2-14 k: kkckkkkbkkkkkrkkkkkk +3-5 s: msssvqszssprssss +7-10 f: fffffffffrf +2-4 l: dlwrl +3-7 v: slqgljmrqrwv +4-6 d: pdddddnddddddd +6-9 f: cnfffpfzfffffff +4-17 v: vvvnvvvvvvvvvvvvvv +7-9 q: qqqqqqqqkqqqqqnqq +15-16 q: qqqqqqqqqqqqqqqqqq +10-11 g: cgtrgggggggggg +10-12 x: xxsxxsjxfxxlx +3-12 j: jjljjjjjjjjjjjj +8-9 c: ccbccczccthcc +4-17 h: hhhfhhshhhhhhhhhhhh +1-2 p: prppr +4-12 q: qqqdqqqqqqqqqqq +7-11 b: bbmbqbrtlwb +4-7 l: lllhlllllz +3-4 r: rrqc +5-14 r: rrrrcrrrrrrqrrrrrrr +10-11 d: pxdcxxjsddd +9-11 s: sssssssspssssssss +1-2 j: jfjljjjjjjjjjjjjjj +3-4 v: vqnvvv +2-3 c: wlcntvmsshxcgzc +9-14 t: rbbljpttwwjtbj +10-11 s: gnrdtfzttks +1-4 x: xpxjxhdxx +9-12 c: chccccccmpfccc +14-16 j: jjjjjjjjjjjjjxjjj +5-6 d: rpdndsbddwdd +9-13 x: thpdhlcwxcxxvxbv +4-6 g: nfsgqnvbntgwvlzlmmxg +3-4 d: dttdcdtq +2-4 n: wnntzbr +2-10 j: jtpszbpjfjcgdjg +6-7 b: bdspbvb +10-14 z: vzznzzzwzlzzqzj +7-8 c: cccccccc +7-11 h: hklhdhssfbz +7-8 h: hhhhhhqzhhhhhs +3-5 b: bcgbwbbbbbdb +5-6 q: qqlxqbgtqpkqt +8-9 q: qqqqqhqkq +2-4 q: qshp +8-13 g: gggggggrgggbgghg +1-5 k: ktcpgpk +2-13 v: mvvwnvfkjrhvvdvvtsvk +12-13 k: kxpkkkckjtkkj +12-18 h: xhqngjkxqqzqhnhhhh +11-12 k: kkkkkkkkkkkjk +2-4 r: rdgrrr +3-4 x: xwjx +2-6 c: lcqzflc +13-14 t: smlkctgbsqpftx +4-5 b: fxtdbzbqbd +4-7 s: wmsssznjzsdkgvdsxhd +2-6 z: wpptkhk +14-16 p: pppppzpppppbprppppp +6-7 c: cccccbw +1-6 h: mhhhhhh +2-3 k: cwkgk +3-4 l: llcl +3-4 m: kmmx +14-20 h: hhhhhhhhhhhrhhhhhhhh +8-12 b: bcmbpbffwghcvjb +10-15 f: fffdfqwmzfdfrfdbpf +1-2 l: hlllljl +1-3 g: vgbgg +2-4 n: zgfn +18-20 w: gmbwtzgzpmdwstsffqzw +9-19 j: jjjjjjjjkjjjjjjjjjjj +16-19 f: fffffffffffffrffffzf +8-20 l: htdlzwsllllccwlflstf +3-4 w: wwww +2-4 b: sbbz +4-6 n: nnrzbbnlcrnsbk +7-8 c: wmzjtbvw +5-7 l: cldlljlzzz +5-6 h: hhzhbhhg +4-5 f: scmrfftkc +11-12 m: flfrbmdpdkpm +6-7 v: xvvvcvkbnvvq +4-11 h: qkjphjpfllhpqnbm +2-5 b: bqbwbbwsb +1-8 c: cqcscccbccrccq +1-13 c: cccccccccccckccc +7-8 h: hhhhhhhs +1-3 l: llxl +6-8 h: hhhhsnkv +6-13 m: mmmmmmmmmmhmpmmm +6-9 n: nrnmmnbnmn +7-14 k: whkpphhkxlnnmkbhtnt +4-10 n: nnnnnnnnnhkn +3-4 c: mcnw +8-13 b: bbbbbbbgbbbbbbbbb +8-9 c: lcccdkjcjrqwck +3-13 w: szmnhsmzwpdbkhtbf +4-5 r: prrrz +9-14 m: mmmmmmmmgmmmmmm +7-8 q: kqpgrqqp +16-17 p: fzxxpcpdhmvmrnvjp +7-9 v: vvvvvvqzxs +3-4 w: qwxw +1-2 x: xqkx +9-10 v: vccmlrlhvdtttfvcxwm +11-14 h: mhvthqhvhhgmfhhhkhch +3-4 n: nqzw +2-5 j: jbjjjjjjjjjjjjjj +11-15 g: bcxggqfmgzgfrdg +3-5 v: gvwvvvrzf +6-7 t: ttzdttr +4-9 j: cgqjqdjvjbfjwdlvdgj +5-6 s: hfflrzksshjqsbvsps +1-4 p: pppn +4-5 g: dprggmpfggbkpg +2-3 k: kbhkkkk +13-15 r: srrrtstrwwxzrrzr +2-4 b: lbbnbzbb +1-4 g: fvgz +5-11 q: hxdhqrqqprpq +2-4 z: zzgm +1-13 w: wwwwhwwwwwwwwwwwww +2-3 k: kkkkk +4-8 g: nlgmhplgcv +1-2 j: zncllmvgjnj +11-13 f: fffffffffffflff +2-8 p: bphqpxkr +2-9 b: bbbbbbfbdbhjpbbbjbbb +9-10 s: zpxnstzwsw +7-16 c: ccccccccccccncsvccc +6-8 r: rrwbrqgr +6-12 v: vvvvvvvqvpvvvvzdd +8-9 z: zzzzbzzmzzz +15-16 t: tfttttntxttqtttc +9-16 b: btbrbfplbbbmbbbbkbb +7-8 q: qrqxrlqg +8-12 q: qqqqqqqpqqqw +5-8 v: jrrlpvvcvkjzjvvvv +11-14 d: dddddddddddddq +5-6 f: rfxmfzf +3-4 t: tttqt +10-14 c: bcccccccccrccfc +3-7 n: snnqplvl +5-6 z: kshzfzhlcsbqwqb +6-11 s: sssssssssmsjsgssss +3-7 v: qgcxvxvg +12-17 v: vkvbsvxkvvnjvvrvvvx +2-4 d: ddrrxbd +8-10 x: tvxxtmgbsxpxbl +7-9 r: rzrbgbrrrrrrmhm +2-4 t: ttttt +5-9 x: xxtwxxnssxlxx +3-4 p: ppdp +3-7 g: ggtgggtg +1-2 k: kbbhjdkfvjqffcss +1-2 l: lrlvlll +10-12 x: xjkbqxkxzxxq +7-9 d: dddhdkpdfdf +5-8 m: mmmmmmmwm +3-9 l: sfrjlzhcll +7-18 m: mmmmmmcmmmmmmmmmmmm +1-3 w: mwplxwwww +7-8 t: tgtctbtrtdtttt +3-6 p: lfpbbgfbpdhnqz +5-6 d: ddddrd +1-3 b: llbbbbb +4-7 r: ktbrncrrnnsrr +8-10 r: rrrrrrrfrrbrr +1-8 l: wlklvlllnljlgtzll +2-4 m: mmhmmxsm +10-12 c: cmwkcnczsxmcrmjtc +2-8 q: qmqqqqqzqq +7-9 v: xvvvvwdnzzv +3-7 j: lsjvmbrjjmpcwqnvvdgc +3-9 l: bgmllldjrzhllsclc +1-6 p: ptppfjpqpp +7-8 r: mctrrstrrxrqtmrr +7-8 d: qddddddxddddddddd +4-11 r: rrrrrrrrrrbr +4-8 s: lsfvtfss +4-9 c: zcccccccj +11-12 v: vvvvvvvvvvvm +4-8 g: rggzlfgtm +3-8 j: jjjjjjfhjsgj +3-4 m: fmhmm +15-16 l: ltllhlljtllllbtlllgl +12-13 c: cccccvcccccqccccc +6-7 q: qqnlqqhqqq +1-8 z: znjqzxpz +10-13 k: kxzmkbxnkbkktmkk +8-15 k: bskzvggzsnlnxzz +9-10 v: vbvvgvcwvs +5-8 h: qhsnhhlhwpvzfb +15-16 g: gdcgggggggtgcgtg +8-9 z: fbgdnrzfb +6-7 d: ddkdddh +4-6 w: xzgfwwlbxft +1-3 h: hkjhh +1-3 p: pwprlp +8-12 j: jdjjjjjdjjcjvjjjjjj +11-14 m: bdsfwddfkgxsmrmm +3-10 m: tmmcmfmmjmm +3-4 b: dwhbzfjxl +2-5 n: nnnnjcnnn +16-17 v: vvvfnvvvltsxhrvvm +1-7 v: qvvvvvwvvvdvv +2-14 k: nxqblwwqmhqzkm +3-4 t: ttts +5-6 c: clnnfk +12-13 s: sssssssssssts +7-14 d: ddqdnwdkdmhddg +3-4 t: tmsttm +9-11 x: xxxtxxxxxxqxwntxj +8-14 l: lllqklwlvlllmbslzlln +9-12 n: sdsnnfncxnwnrn +1-5 f: qfffff +6-9 r: rzmphlrgrr +1-4 m: grdm +4-5 s: ssxsg +1-4 n: xhnznnxnnn +2-6 r: mcwldgbqlqsckgzlrd +1-3 l: llmllll +3-4 p: pjtgdnfjfcjtcnpgxpzq +6-7 m: mmvmmmtn +17-19 h: qgmhhhwwwhqhmhhthhch +3-14 s: lhmnsfdrvnngrsfhxd +1-6 p: pppppwp +4-6 l: lzllltrl +3-4 c: rpxccsc +13-16 h: qsdznfqmsftqqthh +2-4 k: wsvkm +1-18 h: chhhhhhhlhhhhhhhhhhh +17-18 d: xddddddddddddddddddd +2-3 t: jtbrhpzjfpzhcmjql +10-11 n: gjngnnncncnn +7-13 r: rrrrrsrrrrrrlwrrr +10-12 l: llldllslbldllwl +17-19 m: mmmmmmmmmmmmmmmmfmm +10-14 n: nnnnnnnnnbnnnnn +17-18 x: xrxcxxxxxxxxxxxxxxwx +3-4 b: lvxb +5-6 r: rrrrrrr +13-18 l: lllllllllllllllllpl +8-12 m: mmmmmmmqmmmmmmmm +7-8 l: llhqlllh +3-8 p: nmrppdvpxcphxgmkpbsl +9-10 v: hvsbttgsdvvj +5-9 k: kgmvzzzckkgldk +15-20 x: xqxxxjxxxxxxxxxxxxxl +5-6 t: bbwpwtwbhwgqttzjv +6-13 n: klzcfnnjqxrhjwpjfxnk +5-8 d: pcnndzddddnsdqh +5-14 k: kblbtvkwltfklk +4-11 q: zxwdkqqkvqq +10-12 s: tsssssssssssss +3-5 r: rddsrrdksfqfrgr +7-16 h: vdvhlsjxgvrbrxnhns +3-4 z: zxtz +4-8 x: xmnxdwmh +11-12 r: gwsnfrnckrrxrx +3-9 q: qqqqqqqqwqb +9-14 f: bfnfffffvfpfffff +6-9 p: pvpppkppcpp +3-4 m: mmmz +3-5 j: jjjjmjsjjrlkjjjjj +4-6 p: jpbpjs +6-9 r: bswdsrksdrzrgrfmjr +8-10 l: lllllllxll +3-7 v: vvhvvvvv +4-11 n: mnjpbldngrrkbthhmdp +2-4 r: frlrfblsrfzrhtpk +16-17 h: nbghhnzshclxhhmkr +2-5 z: zfzvzzzzzzzq +1-5 l: lllzlfl +9-10 d: dddddddddzd +11-12 p: pspppppppbzp +5-9 t: thzttpxrdhttdwqjsg +7-10 w: tfdfwlwwzdvpnww +4-6 z: fvcljzllwhbzscx +14-15 m: mmmmmmmmmmmmmcd +8-11 d: hgdmwgsdkdbghb +13-15 v: vmvdvvqvvvkvqvvv +13-14 f: fffffffclffffffmf +2-5 s: ssscn +11-13 w: wwwwwwwwwwwwww +7-9 l: xnwrlkskll +8-14 g: vggglvcrgscpgggt +4-5 w: wwwww +5-11 w: wwwwswwwwwwwwwww +6-7 g: gggbvjg +14-18 q: wqfqqqqqqnqsqrqqqq +6-7 z: zzzztzqczzzzz +6-12 n: wnnnnnnxftnkznpvvl +10-16 j: jjjjjdjjjrhjjjjj +1-10 l: lllllllllrll +9-13 g: gdgggggggggkggn +6-8 r: rrrrrrrs +16-17 k: kkkkkxkkkkkkkkkck +11-14 b: bbbjbxbfmqscqbdmgg +3-8 d: sjdkmjppbdddhdxd +6-7 g: xhkhwgqpbg +11-12 x: xxxxnxxwgxxbdl +6-8 c: cccscccwcccccccccc +9-16 h: vhhhhhchwnghmkzhr +5-9 v: vvvdnvvvvv +4-16 n: nmqncgnbfhqnnpnbxwrl +3-5 f: fljrf +13-14 m: mmmmmmmmmmmmgfmmmmmm +5-6 g: ggnggd +2-6 w: wlvhvw +13-18 h: hhhhhhhhhhhhhhhhhvh +7-19 m: mmmmmmmmmmmmmmmmmmwm +4-12 k: mcvtrtsdkvkkfjrmkn +1-8 t: qvmrtttn +6-7 f: fffffsf +10-11 m: mmmmmmmmmjl +15-17 v: mvrhvvvvnvrvzrvvfv +10-14 m: mmtmmmnmmmmmmxm +4-16 b: vcscdqcbcxswjfdbrqbx +8-9 z: zzzzzzznzvz +4-6 g: ggnggdpgggg +2-4 d: hddxxnzzw +9-10 g: gggggggggj +4-7 k: kkkvkkkkkk +1-3 r: rrrrj +14-15 w: wwwwwwwwwwwwwwwww +2-4 n: brfmln +18-19 b: bxbbbbbghbbbbbbbbwb +10-12 q: dqqqrqwcqgqqf +2-5 g: sxfzgtrxkrmstdzfmw +3-4 d: pcddq +11-16 w: sbqwlwzwwwwwtwww +2-12 c: wrccqxtccccchcccjcj +16-17 b: bbbtbbbbbbbbbbbqb +3-13 t: tttttttmgktdthtp +1-3 t: ttcg +13-14 z: zczzzzzzdwkzqz +5-6 n: bnjhnjhnnq +2-9 b: bjbgbzmlbbklbwt +4-5 b: dtlbbwtjbkzzbghbghzk +10-16 p: ppppppqpppwnpppppppp +5-6 b: cbbwtbjkm +15-16 p: ppppppppppppppqd +4-8 m: lgmmhgktslzhbvw +2-4 h: hhdlhhhhhhhhhhh +14-18 k: ktmkkkkkwkklkjrkklfk +5-7 x: sfxxsxx +8-9 v: lkvxdpvjv +7-8 r: rrrrrrsr +4-6 b: btcbbv +7-13 n: zhnhjhnmkzdbt +7-9 j: jvjjjjjjjjjjjjxjj +1-4 v: hdvfv +2-5 f: rznpnxqwncmtkwfxcxqh +16-17 x: zxgbhltrdhxkvvxsxf +1-2 h: hkhhh +3-4 h: zhxc +4-9 z: vsmzhzwgjxfg +11-13 x: xxxxxxxtzxxxc +11-12 d: dddddddgddqj +4-11 f: zkdhqnpgbff +2-3 q: qqlqgqqqv +4-9 b: bvnblwhbbkswmrhtf +7-13 t: cztskdtqdtrkt +4-5 f: fffcsf +4-9 f: ctblqrflf +1-2 l: lmllqhlnll +3-6 v: vvqvvvvr +7-9 b: bbrhbkjbb +1-8 p: xpppppppp +7-10 k: ckkpmktkqksgkkk +1-7 m: lmmmmmmmmmmmmmm +11-15 v: vvfvvmvvvvdvkvv +10-11 b: kbbbbbbzbhbb +11-12 l: jltgggtlcggllt +10-13 q: kqnqqqqqqqqqq +6-7 c: cjcccczc +5-11 t: kdtstshrhfkcx +3-12 v: vlvfzvwvxvvhvvsvvcvm +9-10 t: xttttttttttt +8-10 z: hctlkgjzvzh +3-5 g: gtkwgk +16-17 w: wwswwwwwwwwwwwwwwqww +4-11 j: lbmwjzjxjpjhzjjpbj +4-5 c: klbxc +3-5 w: wlhvb +4-8 x: xgxxxxxxxxxxxxdxnxx +2-5 n: nnnkhn +1-2 d: dxfd +11-12 w: wjcqszwqwkcb +6-11 v: sqpgzhnvndtmvvwl +3-4 m: mmmqmmm +1-3 d: mddb +6-7 w: wwwwwnwwwwwwww +12-14 z: zzzzzxzczzzrzzz +5-10 f: mtcmmhfftft +10-14 x: hhgvmxbwgxdcnz +10-16 z: wzfzzmlmxxfhzqcbsnl +3-4 p: ppvkppp +8-11 h: hhhkhhhjhpbhhhh +6-12 f: ffffdwffrsfffrffnfpk +5-11 z: xqwzzzzbzpwk +7-9 c: crccccccscccccc +4-5 b: qpcnz +2-13 m: lmnrrzfhmbwtmqbsg +12-13 k: kkkkkkdkkkkkmk +10-14 q: sdqfbqszdjhqfq +8-13 h: hhhhhjhhhhhhbhh +2-4 g: gfdb +12-19 n: wtrhndnnnbwnnnnjnnn +5-6 n: zdwnpn +3-5 f: ffsffffff +11-16 r: rrrvrrrrrrwrrrrrlrrr +6-8 n: nnnnnfnnn +10-13 b: brnlbblbkbbbjbbhx +7-8 q: ftrfnqgqc +11-12 c: ncccccccccgcccn +3-4 z: tzzctzwzzvz +3-5 t: tzrqg +7-10 m: mmmmmmrmmqmmm +1-2 c: cdccfcccc +10-11 k: kkkkkkkkkwkk +6-18 x: qndxdgmjvpppddwkbt +8-17 c: pxhszsccndlbzkwgvx +3-4 p: qlrvwdxpqtgwjrtqcc +2-4 q: lkjq +17-19 f: pffgflzxrxfdxffffnz +3-11 x: kzsvmhcxnwj +6-7 x: lxxxxxxcm +1-8 n: nnnnnnnrn +2-5 r: rtrrnr +2-4 n: csvhrvhlp +7-8 b: lbbpdbkb +2-8 t: ztcrbvmst +3-4 r: rwrr +7-15 b: tbtrrbbpwsrvklqb +9-13 d: dcfsgddmdsjgg +2-7 d: mvdzscd +6-8 d: jrjjdndq +1-3 m: mhmvhtmmlbztvmsvmtmb +10-12 c: ctwjbpkchccmbqw +2-3 z: jvzwcrbgqbhvzbf +2-7 g: qbwsdbg +4-7 s: jsxpbmsmkhktfdq +11-13 r: rrrrrrrrrrhrqr +9-14 d: zddcdgddddxddntddm +1-15 x: jgrxxxxfxkgbmsxzx +2-17 p: kcppppkppppppppwm +12-19 k: kkkkkkkkkkkmkkkkkkkk +1-4 x: nzpxg +5-12 p: xcbppqnppqgtrm +11-14 h: dlhzhhhsbllcwhh +13-14 q: qqqqqqqqqqqqqcq +11-16 t: ttgnswrltltttjtj +14-15 t: ttttvtttftttttjtc +3-5 s: xssns +9-11 q: mlqqtqnjqfl +3-4 z: nzzhz +2-5 k: skwbwkwgzj +1-3 p: pppppcppppbpp +5-10 r: rrrrlrrrrrr +2-3 l: jlffrztcckl +3-5 t: ttftttttr +3-6 q: qtqtmnlqck +1-4 v: vxfvmvxwvvjbxp +1-5 z: tzzzzszvzzrmzmz +10-11 l: lllllblllcx +1-4 p: vppppp +6-12 v: zvrwvvvrvhzb +2-4 x: xxnv +1-7 w: hwwwwwgwgwwbwqw +3-7 w: wwwwwlfw +5-6 l: kkpltd +4-5 d: ddnrdk +3-6 c: cncvkt +8-9 j: vblczlfjjkj +7-15 d: ddddxdgdddddddjddd +4-7 z: vvmzdspzwptz +5-7 t: cdrtfqt +6-9 j: jjjjjdjjjjjjjj +2-5 j: ljptkvvfl +6-7 l: vhhnllgx +5-6 g: gpcxwvgpvvgg +5-12 q: plzqqnqzrhqgljj +8-13 k: zkckdknkxkgkvmmkd +4-10 s: jkvstssfcsrckjnzzbsl +9-11 n: nlknnnnggnvnnnnn +8-9 s: ssssrsgstk +16-18 r: rrrrrrrrrrtrrrrbrrrr +4-5 f: qxrzfcgfqfp +2-10 p: pphtppppppplwpsp +2-5 q: qqqqsq +6-15 j: xjkxkjxxkjznjjj +9-13 f: fvfvjlfmltfgf +3-6 j: jnsrcj +1-7 h: vhhhhhhh +4-5 q: qrqqqf +2-3 v: mvxb +4-11 l: lllllllllldl +7-17 k: mkcxhcmbcpjckkqznh +7-9 v: vvpgvvvvs +7-11 j: jjjjjjjjjjjs +2-12 v: mlxjljvffxgv +3-4 t: hhfn +14-16 w: kwfwwqwcfcwwfmww +5-6 j: jjjjjg +11-12 n: nnnnnnrdnnmnn +8-9 b: dsbbbfbbbb +3-4 j: jjcjjj +1-3 r: wrnr +10-11 p: pppppppppqppp +12-13 v: vvvvvvvvvwvvvv +7-9 v: vvvqvvxvdvxv +9-14 r: mmrrrrnrrxrrrwrrrrrr +5-6 k: kkkkbkkr +13-17 v: dbvgrchdpnzvxrdfv +4-9 c: ccjbccqcpcclcc +6-8 m: mbjmmxnb +2-6 h: hhdhnvcc +9-16 t: tttttttttttttttgt +12-16 n: nnnnnnnnnnnnnnnwn +3-14 z: zzdzzzzzzzzzzzz +3-8 k: pmktwckzn +9-13 q: gqqqqqqqrqqqqq +3-6 l: lllllddll +7-8 x: slxxzplxsxkcxlxxx +2-5 v: vwvvd +6-7 n: xxnnnmnnn +2-4 z: zczz +2-12 p: pppppppppppvp +2-4 h: bqwhv +5-7 t: btzttjg +4-9 c: sxcskxxbcv +1-6 c: cccccpc +9-13 l: bcsllbvbjhrflt +5-9 c: zprfctdnt +1-5 z: zzzzz +4-8 h: bpshnhxhrbk +4-7 l: bqclvxf +5-6 m: mmmmmgwcmgjj +13-18 m: mmmnmmmmmmmmpmtmmgm +1-5 w: cwwgwwwwwww +14-16 h: hhhhhhhhhhhhhqhhh +6-7 v: bvvjvvbvvv +5-13 b: pbcbbqmbcsfblc +17-18 j: jjjwjsrjjmkjjqjjjj +4-6 t: ntttpt +6-7 v: mvvnvvc +11-12 v: vclgnzbvtvvjvs +8-13 r: rlrzkjkrrxmdvzgt +5-7 n: nnnnnnsnnnnn +3-6 q: qpkjpq +2-7 v: hvgnjfrkvx +6-10 g: xgmrggggpbggfqgdpm +9-10 s: ssssssswfszsdssszss +5-6 p: pppjppwpp +2-5 d: ddddddd +9-13 p: ppjhpbppxpxxt +10-15 t: cgtcnlltzdkbcjtvxs +8-11 m: dkmmvtdmkbhmk +3-4 z: rzzqzw +4-8 z: zcxzswbzzqzxwkzz +3-4 s: jsts +2-7 b: bsbbbbbbbbbbb +11-15 l: jjkslsltvfbqshl +3-14 c: cqtxcgmcgvgfcccmg +1-8 f: fbfwffhfbxffhlx +4-11 r: drrmrrrzcfrj +5-6 p: pwpvjp +11-14 d: pnrddqwdlpdbddwg +9-10 r: rrrwrrrznrrgqsr +3-12 v: vsvvbvvkvvpdrvvv +2-5 t: mtfqjrjlthk +13-17 r: rrrrrrrrrrrrrrrrtr +7-8 n: nnnnnnhnn +3-4 r: wrpr +1-14 p: ppppppppppppppppp +8-9 m: vzkbzwnmwfqmmmmcmmnd +11-14 p: pppnpvpwppvpppppppp +17-19 h: lzhxlhhchxhbxhwvhsx +10-11 n: nnnnznnnnlp +3-12 f: kwflsfqflxpzbgxzdhzv +8-10 x: xxvxxxxvxsxxlxxxx +1-2 c: dclflczlj +4-9 w: wwwtwwwwwww +2-8 t: pfvtlbtxt +4-9 f: pnfkffkfnh +8-10 v: vjvvvvvvvvvvvv +3-13 s: mfshscgmmrvzw +6-10 g: gzggggpggkggzggggg +13-14 n: fnnnnnnnnnwnrnnn +4-14 k: lbvkwrkjkxjskg +9-11 q: qqqqqqqqsqgq +17-18 q: qqqqqqqqqqqqqqqqqd +6-9 s: spsssgsrrssss +8-14 m: qmmqjmmmmtpmnzgmm +1-7 m: bmsrmmmmmmm +14-17 k: kskdbkkkkdkkkktkqkkk +4-5 c: ccccgfc +2-5 k: kkkkzk +2-11 q: qqwqlnqqqhtdvxqrc +4-6 m: fdxkmmd +7-10 j: mjgftcmjmjj +17-18 m: mmmmmmmmmmmmmmmmnm +2-4 v: svvv +6-8 x: jxxhrxlp +4-10 s: dsvdbsssmscs +18-19 k: zwdgknqvqkgdhdhktkmr +2-7 h: jdflgfh +6-8 z: zmpzzzzzzzzgz +3-6 m: mmrmmm +4-8 w: wwtwktws +4-10 k: dkjkqkkzvk +3-7 b: bbbbbbfbbb +4-12 z: zzzzzzzzzzzzz +5-9 z: nmqdzzkzzzbj +4-11 z: fzzgzzzzzztzz +1-7 w: whwwwzrw +5-6 t: tjtttv +9-11 v: vzvhvxvvnvwvvv +2-4 t: pkjtpp +14-15 n: njpwjnsbnnnnngnnvnnn +5-15 k: qtmvkkdjkslkqvk +2-4 s: skszs +2-3 g: zggjhgxzn +16-17 p: ppppmppppppppppnppp +4-10 z: zzzzzzzzzzz +17-18 s: sssgsssskssssssssbs +5-8 m: mmmmmmmbm +1-5 l: llllmlql +3-13 z: bmdwpgvzfdlgzgl +1-4 p: pjplgjr +1-9 v: vvvzvrvvk +6-18 w: whwpwwflbcwwvwwwwst +19-20 n: nnsnnjnnnnnnnnnnnnkx +9-10 m: rlmxrnqrmkmmwmmmmm +15-17 s: lvssssslssfsssksfb +3-4 q: qqqpq +7-13 h: hhhhhhhhhhhhdhhhhhhh +2-6 h: dvkfhhmk +4-6 s: nczssv +10-12 p: pppppppppppdpprp +16-18 s: sssssssssssssssgsg +7-12 h: hhhhhhvhhhhhh +4-12 f: ffftfffffffwff +4-7 s: csqcpssbgvvmwdb +6-10 p: ppppvppppdppd +6-8 h: hxjhthhgzh +3-10 f: fffffffffsf +4-11 g: trggxlrnqrgh +2-15 w: wjxwtvkwwpgwwww +1-4 v: zjxv +7-10 f: fffffflqff +4-6 g: mgwgpbg +1-10 z: vvzzzzzvzz +6-7 f: ffffffnf +11-15 w: wxzwwqdnnwwxjlwplcl +10-11 s: hsslzjgsssvxsshnsc +4-12 n: tlxdnpznjbknt +7-8 k: mkhcvjxk +10-12 j: jjjjjjjjjjnm +2-7 c: fckckdpcksjckwcc +3-8 s: sssdxssw +12-14 t: ttttttttqttxttttpttt +6-7 g: gggggggg +5-10 f: fqffzffffffffgf +6-7 t: ztqhpbt +5-12 w: swwfwwwwwpwbwj +2-4 w: qmww +5-8 v: vvjnvvpv +7-8 p: bcbtnppbxnnwpr +4-12 z: zzkzdxntzlfbkkzzzw +8-9 s: sssssssss +15-18 h: jhvhhhcxwhhhhmhhhj +6-10 w: bwwwwwwwwwwwww +5-9 l: mtqlhlwlh +5-7 l: ljllnllblpl +15-17 h: hpgdkhsjwfnsjmhqxf +3-4 g: gggxgggg +1-2 q: qdqm +6-10 n: hnnnqknnnnnlnnnnp +13-17 q: djstfsmmqlshqqbqnf +6-7 z: qzlzxzw +7-12 g: qhghvbwdcvkgjl +7-15 z: zzzzzznzzzzzzzzzzzzh +3-6 w: zchpwvw +3-4 c: wmbjp +6-9 k: tckbvkkxkkqk +11-13 p: pcppppppppppppbp +5-7 r: rrrrsrxrr +6-10 c: ccccczcccccccccc +7-8 j: jjpjjplj +5-7 m: mjmmmjrmfmmmmmmmm +1-7 t: ttttttnttvpt +6-12 t: tttfwtttttttttttttt +7-17 x: hxwgrqqlxmrxrcwsx +3-8 g: vjcgqrjhlq +13-18 n: nnnfnnngnnnnjnnnhln +13-15 f: ffffffffffffrbff +13-15 x: xmswzjhtthggslslgx +12-13 g: ggggggggggggggg +3-9 f: cxfskjcbmhmmcpwn +5-7 h: jxzbhbh +2-3 m: mhmlmq +1-3 m: rmmmgmzvcghdtgmsmnm +14-15 s: wzssphxtsskpssr +8-14 p: kppjppgfpprftj +2-7 r: prnmlrrbm +2-5 v: vvvvtvv +1-5 n: nnnnzn +2-5 t: xtlnfwhgvltx +3-4 v: gvtv +2-8 k: kvkstkfz +2-6 j: jdjjjnjjjjzjjjj +3-4 s: sshwsssss +2-10 w: mnhkdtwdzwvsq +6-8 b: bbbbkxbbtbbkbt +14-19 h: hhhhhhhhhhhhhhhhhhhh +6-10 d: ddddddddddddddd +10-13 t: ttttttttthttjttt +4-5 c: ctscw +8-9 b: bbbvbbgmb +10-12 s: sxssshsssswsscsx +3-7 r: rdhrrkrkrrrrcrhrrr +8-10 j: wjsslzjjntjjwjs +1-4 q: gqqw +4-6 t: tjlhvrt +2-10 s: ssssssnssssssssx +7-8 x: xxxxxxfw +6-13 r: sxtcgrffrpdprnklbxbw +1-3 p: ppbppppppp +2-3 b: jbfr +1-7 m: cmmmmqm +4-5 t: tttzt +7-9 s: zwbbbssvl +10-13 w: wwwwwwwwwwwwdw +13-14 n: nnnnnnnnnnnnnmkn +5-11 q: jpbzqwqbwttgzn +4-5 k: kkkwkkk +10-17 w: sgtklkflsrfqxfwhjm +6-12 w: wwjqwwlmphwkwwwwwjw +2-13 p: ppppppppppppzp +2-16 h: tslcwztxxtchgqlxsbx +2-9 p: slptvtljpxdkf +10-12 z: tnzzghzzgzfn +3-18 f: ffxfffffffffffffff +1-2 p: prdpdghkckdgpl +6-8 x: fxxnbwrx +7-9 z: zmzkzdpgjzzz +7-14 p: pppppppppppppppb +7-10 l: xltlzllllljzxlll +18-20 n: nnnnnnnqnnnnnnnnnmnb +15-18 p: pxmqxpmqwfntrpppmf +1-15 v: kgmvwvrvmcvtrvvwv +2-8 g: gxggggggg +4-5 f: clfjfqmpffjfff +3-5 r: rpjkf +2-9 h: hhhhhshhrhh +2-5 z: zxzzz +5-11 k: kkkkkkkkkkkk +8-9 n: nnddcfntnrgnnrnnc +1-11 f: dfffffffffff +2-4 x: dzphvg +4-5 w: mnzlr +2-6 f: jhrkfmg +2-17 z: czzvvzzczznzhwzbzz +2-5 r: xrjrg +2-3 g: gggg +7-9 s: ssssssbsssss +17-19 k: kcwktkxkkbkqnwkkkkdz +1-16 f: zmxdffmfgffxrffffqf +7-8 q: qtmrkbqjq +8-9 q: qqqqqqqqx +10-18 n: nnnnnnnnnznnnnnnnnnn +16-18 x: xwxxxxxxxxxxxxxxxrxx +15-18 t: tttttftptttttttcttt +10-11 h: hfxnlbsqxphtmstbhdn +7-13 z: vdzdzmzxvfzzz +2-5 n: nnpqgnnqnb +12-16 v: pvjvvnbqzjnvvvvpjv +4-5 d: ddddk +4-8 l: lxvhlbclhgd +3-12 v: vvkvvvvvvvvvvvvvvvvv +17-18 j: jjjjjjjjjjjjjjjjdj +6-7 b: ckbdbcsbb +9-11 q: qrhxpcjjqbqt +8-14 h: hhhhhhhhhhhhklhhhhn +2-3 b: bzbjb +2-15 w: nnmdgzhsvhpvswltvt +1-5 l: lbclz +15-17 d: wlddgdxsdcdfdcgdd +18-20 q: dqsldgqqfqwsstqlmqtz +1-6 q: qqqqqdq +2-6 j: jpjjjjjj +13-15 p: ztjlhtnsgphgxccpfsp +6-13 m: ghvvmrglmmmcm +3-6 b: nbbrmrfdlbs +1-3 j: fwhjsr +7-10 p: gcppcppzpppp +4-12 r: rrrrrrrrrrrrrr +16-20 d: djdddvdsddddlmddddpm +14-19 x: xzxjxxxxxxxxxxxxxxj +11-16 w: kwclzxjjwxlwkcnwkwv +3-11 b: zhhxsgqxqbbg +10-11 q: trbhqqzhdqw +9-13 l: vcvlvqlwrlfvll +7-9 x: xxxxxxxxgx +5-6 n: nnnngnn +2-5 p: pqpppppppqpxp +4-17 z: zxrmzwwxwhqxxmqrv +5-9 v: vvvvvvvvrvvvj +6-7 x: qkhbxxkxs +3-4 d: fcmd +5-9 f: nsnlxstff +6-9 x: hrtzmhrxxbmcc +3-7 w: wwwwwwsww +5-8 g: ngkdxggg +8-13 r: rrrrphrrrrrrrrrrdrt +2-6 f: rckzvzfrnp +4-6 k: bfrpttcfbwmvhgn +7-9 w: wwwwwwswww +13-15 n: nnnnnnnnnnnnnnn +4-8 j: jjjjjjjwjjj +9-11 h: hhhhhhrhhhhhh +4-7 h: thmhwrhss +1-3 d: ddddddddddddd +10-11 c: ckrcxwcdpqc +2-4 g: kgghg +3-12 s: ssssvwssssgqs +2-7 s: sssssszs +2-10 v: wvpbjqxvzsdpgmq +12-15 n: nnnnnnbnqvrkfnn +3-5 w: wlvdw +11-14 t: pfrbxgcrwndttj +6-7 w: qnnwwpfwwhw +7-10 n: nnnvnnhnnx +3-12 c: mmfcwvxqwpcclwlxfx +2-3 p: lgpxpppp +17-19 k: rfxvmnmfzrnktfpckpr +2-9 k: kkkknkkkkkkk +15-16 t: ttjmtttmttttttwt +9-10 r: rrrrrrrrmrrrr +3-4 p: jppppxf +7-8 k: nkqbvkkt +6-8 d: dddddrdddd +6-7 q: czbqdgnc +3-5 p: rxpppsx +4-6 t: thvtwv +2-13 d: dmdddddddddddd +16-18 n: nnnnnnnnnnnnnnnnnnn +11-12 s: ssfsdsmssswssh +3-5 v: kxnvvvmvrvdvvssvvv +5-8 x: nxxxxbxxxzx +3-5 t: ctttftt +5-7 s: hssvsgj +5-8 r: rrrrrrrcrx +1-13 v: vvvvvvvvvvvvpvvvvvv +5-9 h: gxlrhsgswhchfxbwjd +2-4 w: wgwb +6-12 v: pmxnjtfsvvxvv +1-4 n: vnntn +2-3 w: wwww +3-7 f: xmfbmnvnfkkmsd +10-12 x: xxxxxxjgxxxxx +2-3 l: cllvpbtmgzmrfmq +2-4 l: llrlllnlxll +5-10 h: hdhhhzhvtchhh +8-10 q: lhqmdwcfhqngq +1-5 t: twtfvcmktthtjltqvpwc +6-8 s: sxsghtbs +3-4 m: mmmmmmmmmmmmmmmm +16-17 l: rjdpxhtblvllgvwhl +5-13 s: brhsssnfcndsh +7-13 v: swkfswvmkvjbnsgvwp +1-3 k: wlfpzk +2-4 t: tpttt +2-9 t: cntttttcgtttt +5-6 r: rrrrbh +10-12 j: jjjjjjjjjzjjdj diff --git a/Day 2/One/main.py b/Day 2/One/main.py new file mode 100755 index 0000000..33a87d9 --- /dev/null +++ b/Day 2/One/main.py @@ -0,0 +1,18 @@ +#!/bin/python + +with open("input", 'r') as input: + counter = 0 + for line in input: + parts = line.split(": ") + policy = parts[0].split(" ") + policy_amount = policy[0].split("-") + min_amount = int(policy_amount[0]) + max_amount = int(policy_amount[1]) + char = policy[1] + password = parts[1] + + amount = password.count(char) + if amount >= min_amount and amount <= max_amount: + counter += 1 + + print(f"Counter: {counter}") diff --git a/Day 2/Two/input b/Day 2/Two/input new file mode 100644 index 0000000..6158f52 --- /dev/null +++ b/Day 2/Two/input @@ -0,0 +1,1000 @@ +13-15 c: cqbhncccjsncqcc +2-3 v: zvdvfd +9-14 b: rbrbnbbbqdfrht +11-12 k: kkkkkkkkkkxqk +4-5 b: bqbbdm +10-12 w: kwwkwwwrwzzwwwwzwswx +1-11 g: grrmgmqgghw +4-5 m: mbmhmvmwdvxmvpw +1-13 n: ndnnnnnnnnnns +11-18 l: lllllllllllllllllll +4-5 c: cccscc +2-4 k: bkfr +9-13 k: lcmsvkknrxtkkksgvkjg +1-2 b: bhwgb +1-4 j: zjjcjj +7-11 g: nnffggdmggr +3-4 z: zzhzz +4-10 g: mggkgvgggmggkggmqg +4-5 n: dcmnl +11-15 s: gzpdvsmnzsshswzs +10-14 x: xmvpxjtlxxhxtpdhsnx +5-15 v: zzhjdpgxlsvphzv +4-8 k: dsfktqchpkk +6-7 j: jzjgjqld +12-16 r: rrrrrrrrrrrhrrrrhrr +1-2 l: lllllll +2-3 q: jqxwtggmgqmzpljdvkt +8-11 p: xpmcppppwvzp +7-8 c: vwcvkcct +4-10 d: lsmdffzdsrk +2-3 p: sxpg +4-11 p: rzlgxshhpbp +1-4 b: qbbbbbbbbbbb +6-11 m: zwmzmmlbmxgphkks +1-4 n: lnnnn +15-16 h: hhbdmbhchhhkhhrw +10-11 k: kkkqtwkkkkkkkkn +2-13 m: mggmmxmrzmwglbmmm +12-14 g: ggggrggggxgwhggggd +7-11 l: llbqsqlkvll +1-3 f: ffff +4-9 h: qvnhvcmpmfdbqhkdsg +3-8 d: ddsdddddd +14-15 j: qjjjzjjjjjbxmjs +3-5 j: jjjjtctjjjs +12-13 q: qqqqqqqqqqqqgqqq +1-8 p: xpppzdpp +13-15 f: lnlnlkcwgnfqgmfhlwm +12-17 g: gfgtgrvcxggggtggjg +6-8 r: rrrrtwrqrrr +9-12 r: ctldssjlrzhvpmqrtxd +1-6 k: qkkkdkkkkkk +17-18 x: bxrxxbxxzpbxnqxcsmn +2-4 c: ccmr +1-7 m: mmmmfrdmmmhl +9-12 d: ddddddddxddhd +13-14 f: ffffffffjffbbff +4-6 c: ccchcc +6-7 r: rrsrrrrcrrjbrrrr +9-15 w: wzfbtqrwwgtmbxn +6-7 q: qqqqqqrq +1-7 l: lgpqzhlkb +6-8 d: dhddkndp +2-5 m: bjxmmmmm +5-16 t: nbgjntfhpwtbrcftxt +5-7 k: kkkkkhbkkkkk +8-19 t: dsdstttfjhnttttvgttt +3-4 t: ttltttt +1-5 l: flfllllllllbhldll +7-10 x: xxxxxxcxxxx +2-7 t: ttttttctttt +3-12 x: vlxfwpdncxzkmkxt +1-5 b: mbbbbbdbbbtbwbhpbt +3-16 q: fpqkkkqfkqdbrxlq +5-6 p: lpcbtppjpt +6-7 w: wcwwhwv +9-13 v: vvvvvvvvvvvvvvv +1-4 g: vgggtggghgggggggg +2-9 p: mppsrrzwxdt +4-5 f: ffffdfffffdf +2-5 x: xkjss +13-14 z: zzzzzzzzzzzzbhzz +2-10 p: xmtkzpbrrj +17-18 t: ttttttttttttttttttt +2-8 j: cjjqbzpd +4-12 z: zzzkzzhzzpzzdzz +1-2 d: rdcdt +2-3 j: wnltj +7-9 r: rlrfbrdrqrbdr +3-4 s: bcsss +12-14 h: hhhhhhhhhhhbhhh +3-5 h: rfhlc +8-15 f: ffffffflffffffff +3-15 s: ssxsssssssssssss +2-4 h: hlbhshhmhhhg +12-13 r: rrrrrrrrmrvrnrr +3-5 p: ppppjp +1-2 z: zqhdkgqqzfsxkjjzg +6-8 k: kkkkkkzd +1-12 h: qhhhhhhhhxhhhhh +9-14 p: ppppppppqppppfp +2-4 t: tsttt +18-19 t: cttttllttttwxtttttt +10-11 t: rkdbpntntttfw +4-14 m: mdmmgtlmmwmbmmmk +4-6 n: xxhnpmnfnn +15-16 g: ggggggsggggggggng +14-15 k: kpjxmkrksskpbwk +15-18 f: fffffsffffffffnfffff +18-19 p: gwpplnpndvpxgzjvhbpp +8-12 l: ldclrkllbgpwllllcxms +14-19 w: pxsjbtwwhdkptwcxwvr +2-17 m: mtmmmmmmmmmmmmmmmm +12-15 b: nbcsplrmvbjbqlc +1-4 z: bzzszzzzz +1-13 t: tttttttttttttttttt +6-7 j: jjjjjmvjjjjjjjjjjj +10-13 l: llclllllljllllll +11-12 c: mzckxzsbbxcq +2-14 k: kkckkkkbkkkkkrkkkkkk +3-5 s: msssvqszssprssss +7-10 f: fffffffffrf +2-4 l: dlwrl +3-7 v: slqgljmrqrwv +4-6 d: pdddddnddddddd +6-9 f: cnfffpfzfffffff +4-17 v: vvvnvvvvvvvvvvvvvv +7-9 q: qqqqqqqqkqqqqqnqq +15-16 q: qqqqqqqqqqqqqqqqqq +10-11 g: cgtrgggggggggg +10-12 x: xxsxxsjxfxxlx +3-12 j: jjljjjjjjjjjjjj +8-9 c: ccbccczccthcc +4-17 h: hhhfhhshhhhhhhhhhhh +1-2 p: prppr +4-12 q: qqqdqqqqqqqqqqq +7-11 b: bbmbqbrtlwb +4-7 l: lllhlllllz +3-4 r: rrqc +5-14 r: rrrrcrrrrrrqrrrrrrr +10-11 d: pxdcxxjsddd +9-11 s: sssssssspssssssss +1-2 j: jfjljjjjjjjjjjjjjj +3-4 v: vqnvvv +2-3 c: wlcntvmsshxcgzc +9-14 t: rbbljpttwwjtbj +10-11 s: gnrdtfzttks +1-4 x: xpxjxhdxx +9-12 c: chccccccmpfccc +14-16 j: jjjjjjjjjjjjjxjjj +5-6 d: rpdndsbddwdd +9-13 x: thpdhlcwxcxxvxbv +4-6 g: nfsgqnvbntgwvlzlmmxg +3-4 d: dttdcdtq +2-4 n: wnntzbr +2-10 j: jtpszbpjfjcgdjg +6-7 b: bdspbvb +10-14 z: vzznzzzwzlzzqzj +7-8 c: cccccccc +7-11 h: hklhdhssfbz +7-8 h: hhhhhhqzhhhhhs +3-5 b: bcgbwbbbbbdb +5-6 q: qqlxqbgtqpkqt +8-9 q: qqqqqhqkq +2-4 q: qshp +8-13 g: gggggggrgggbgghg +1-5 k: ktcpgpk +2-13 v: mvvwnvfkjrhvvdvvtsvk +12-13 k: kxpkkkckjtkkj +12-18 h: xhqngjkxqqzqhnhhhh +11-12 k: kkkkkkkkkkkjk +2-4 r: rdgrrr +3-4 x: xwjx +2-6 c: lcqzflc +13-14 t: smlkctgbsqpftx +4-5 b: fxtdbzbqbd +4-7 s: wmsssznjzsdkgvdsxhd +2-6 z: wpptkhk +14-16 p: pppppzpppppbprppppp +6-7 c: cccccbw +1-6 h: mhhhhhh +2-3 k: cwkgk +3-4 l: llcl +3-4 m: kmmx +14-20 h: hhhhhhhhhhhrhhhhhhhh +8-12 b: bcmbpbffwghcvjb +10-15 f: fffdfqwmzfdfrfdbpf +1-2 l: hlllljl +1-3 g: vgbgg +2-4 n: zgfn +18-20 w: gmbwtzgzpmdwstsffqzw +9-19 j: jjjjjjjjkjjjjjjjjjjj +16-19 f: fffffffffffffrffffzf +8-20 l: htdlzwsllllccwlflstf +3-4 w: wwww +2-4 b: sbbz +4-6 n: nnrzbbnlcrnsbk +7-8 c: wmzjtbvw +5-7 l: cldlljlzzz +5-6 h: hhzhbhhg +4-5 f: scmrfftkc +11-12 m: flfrbmdpdkpm +6-7 v: xvvvcvkbnvvq +4-11 h: qkjphjpfllhpqnbm +2-5 b: bqbwbbwsb +1-8 c: cqcscccbccrccq +1-13 c: cccccccccccckccc +7-8 h: hhhhhhhs +1-3 l: llxl +6-8 h: hhhhsnkv +6-13 m: mmmmmmmmmmhmpmmm +6-9 n: nrnmmnbnmn +7-14 k: whkpphhkxlnnmkbhtnt +4-10 n: nnnnnnnnnhkn +3-4 c: mcnw +8-13 b: bbbbbbbgbbbbbbbbb +8-9 c: lcccdkjcjrqwck +3-13 w: szmnhsmzwpdbkhtbf +4-5 r: prrrz +9-14 m: mmmmmmmmgmmmmmm +7-8 q: kqpgrqqp +16-17 p: fzxxpcpdhmvmrnvjp +7-9 v: vvvvvvqzxs +3-4 w: qwxw +1-2 x: xqkx +9-10 v: vccmlrlhvdtttfvcxwm +11-14 h: mhvthqhvhhgmfhhhkhch +3-4 n: nqzw +2-5 j: jbjjjjjjjjjjjjjj +11-15 g: bcxggqfmgzgfrdg +3-5 v: gvwvvvrzf +6-7 t: ttzdttr +4-9 j: cgqjqdjvjbfjwdlvdgj +5-6 s: hfflrzksshjqsbvsps +1-4 p: pppn +4-5 g: dprggmpfggbkpg +2-3 k: kbhkkkk +13-15 r: srrrtstrwwxzrrzr +2-4 b: lbbnbzbb +1-4 g: fvgz +5-11 q: hxdhqrqqprpq +2-4 z: zzgm +1-13 w: wwwwhwwwwwwwwwwwww +2-3 k: kkkkk +4-8 g: nlgmhplgcv +1-2 j: zncllmvgjnj +11-13 f: fffffffffffflff +2-8 p: bphqpxkr +2-9 b: bbbbbbfbdbhjpbbbjbbb +9-10 s: zpxnstzwsw +7-16 c: ccccccccccccncsvccc +6-8 r: rrwbrqgr +6-12 v: vvvvvvvqvpvvvvzdd +8-9 z: zzzzbzzmzzz +15-16 t: tfttttntxttqtttc +9-16 b: btbrbfplbbbmbbbbkbb +7-8 q: qrqxrlqg +8-12 q: qqqqqqqpqqqw +5-8 v: jrrlpvvcvkjzjvvvv +11-14 d: dddddddddddddq +5-6 f: rfxmfzf +3-4 t: tttqt +10-14 c: bcccccccccrccfc +3-7 n: snnqplvl +5-6 z: kshzfzhlcsbqwqb +6-11 s: sssssssssmsjsgssss +3-7 v: qgcxvxvg +12-17 v: vkvbsvxkvvnjvvrvvvx +2-4 d: ddrrxbd +8-10 x: tvxxtmgbsxpxbl +7-9 r: rzrbgbrrrrrrmhm +2-4 t: ttttt +5-9 x: xxtwxxnssxlxx +3-4 p: ppdp +3-7 g: ggtgggtg +1-2 k: kbbhjdkfvjqffcss +1-2 l: lrlvlll +10-12 x: xjkbqxkxzxxq +7-9 d: dddhdkpdfdf +5-8 m: mmmmmmmwm +3-9 l: sfrjlzhcll +7-18 m: mmmmmmcmmmmmmmmmmmm +1-3 w: mwplxwwww +7-8 t: tgtctbtrtdtttt +3-6 p: lfpbbgfbpdhnqz +5-6 d: ddddrd +1-3 b: llbbbbb +4-7 r: ktbrncrrnnsrr +8-10 r: rrrrrrrfrrbrr +1-8 l: wlklvlllnljlgtzll +2-4 m: mmhmmxsm +10-12 c: cmwkcnczsxmcrmjtc +2-8 q: qmqqqqqzqq +7-9 v: xvvvvwdnzzv +3-7 j: lsjvmbrjjmpcwqnvvdgc +3-9 l: bgmllldjrzhllsclc +1-6 p: ptppfjpqpp +7-8 r: mctrrstrrxrqtmrr +7-8 d: qddddddxddddddddd +4-11 r: rrrrrrrrrrbr +4-8 s: lsfvtfss +4-9 c: zcccccccj +11-12 v: vvvvvvvvvvvm +4-8 g: rggzlfgtm +3-8 j: jjjjjjfhjsgj +3-4 m: fmhmm +15-16 l: ltllhlljtllllbtlllgl +12-13 c: cccccvcccccqccccc +6-7 q: qqnlqqhqqq +1-8 z: znjqzxpz +10-13 k: kxzmkbxnkbkktmkk +8-15 k: bskzvggzsnlnxzz +9-10 v: vbvvgvcwvs +5-8 h: qhsnhhlhwpvzfb +15-16 g: gdcgggggggtgcgtg +8-9 z: fbgdnrzfb +6-7 d: ddkdddh +4-6 w: xzgfwwlbxft +1-3 h: hkjhh +1-3 p: pwprlp +8-12 j: jdjjjjjdjjcjvjjjjjj +11-14 m: bdsfwddfkgxsmrmm +3-10 m: tmmcmfmmjmm +3-4 b: dwhbzfjxl +2-5 n: nnnnjcnnn +16-17 v: vvvfnvvvltsxhrvvm +1-7 v: qvvvvvwvvvdvv +2-14 k: nxqblwwqmhqzkm +3-4 t: ttts +5-6 c: clnnfk +12-13 s: sssssssssssts +7-14 d: ddqdnwdkdmhddg +3-4 t: tmsttm +9-11 x: xxxtxxxxxxqxwntxj +8-14 l: lllqklwlvlllmbslzlln +9-12 n: sdsnnfncxnwnrn +1-5 f: qfffff +6-9 r: rzmphlrgrr +1-4 m: grdm +4-5 s: ssxsg +1-4 n: xhnznnxnnn +2-6 r: mcwldgbqlqsckgzlrd +1-3 l: llmllll +3-4 p: pjtgdnfjfcjtcnpgxpzq +6-7 m: mmvmmmtn +17-19 h: qgmhhhwwwhqhmhhthhch +3-14 s: lhmnsfdrvnngrsfhxd +1-6 p: pppppwp +4-6 l: lzllltrl +3-4 c: rpxccsc +13-16 h: qsdznfqmsftqqthh +2-4 k: wsvkm +1-18 h: chhhhhhhlhhhhhhhhhhh +17-18 d: xddddddddddddddddddd +2-3 t: jtbrhpzjfpzhcmjql +10-11 n: gjngnnncncnn +7-13 r: rrrrrsrrrrrrlwrrr +10-12 l: llldllslbldllwl +17-19 m: mmmmmmmmmmmmmmmmfmm +10-14 n: nnnnnnnnnbnnnnn +17-18 x: xrxcxxxxxxxxxxxxxxwx +3-4 b: lvxb +5-6 r: rrrrrrr +13-18 l: lllllllllllllllllpl +8-12 m: mmmmmmmqmmmmmmmm +7-8 l: llhqlllh +3-8 p: nmrppdvpxcphxgmkpbsl +9-10 v: hvsbttgsdvvj +5-9 k: kgmvzzzckkgldk +15-20 x: xqxxxjxxxxxxxxxxxxxl +5-6 t: bbwpwtwbhwgqttzjv +6-13 n: klzcfnnjqxrhjwpjfxnk +5-8 d: pcnndzddddnsdqh +5-14 k: kblbtvkwltfklk +4-11 q: zxwdkqqkvqq +10-12 s: tsssssssssssss +3-5 r: rddsrrdksfqfrgr +7-16 h: vdvhlsjxgvrbrxnhns +3-4 z: zxtz +4-8 x: xmnxdwmh +11-12 r: gwsnfrnckrrxrx +3-9 q: qqqqqqqqwqb +9-14 f: bfnfffffvfpfffff +6-9 p: pvpppkppcpp +3-4 m: mmmz +3-5 j: jjjjmjsjjrlkjjjjj +4-6 p: jpbpjs +6-9 r: bswdsrksdrzrgrfmjr +8-10 l: lllllllxll +3-7 v: vvhvvvvv +4-11 n: mnjpbldngrrkbthhmdp +2-4 r: frlrfblsrfzrhtpk +16-17 h: nbghhnzshclxhhmkr +2-5 z: zfzvzzzzzzzq +1-5 l: lllzlfl +9-10 d: dddddddddzd +11-12 p: pspppppppbzp +5-9 t: thzttpxrdhttdwqjsg +7-10 w: tfdfwlwwzdvpnww +4-6 z: fvcljzllwhbzscx +14-15 m: mmmmmmmmmmmmmcd +8-11 d: hgdmwgsdkdbghb +13-15 v: vmvdvvqvvvkvqvvv +13-14 f: fffffffclffffffmf +2-5 s: ssscn +11-13 w: wwwwwwwwwwwwww +7-9 l: xnwrlkskll +8-14 g: vggglvcrgscpgggt +4-5 w: wwwww +5-11 w: wwwwswwwwwwwwwww +6-7 g: gggbvjg +14-18 q: wqfqqqqqqnqsqrqqqq +6-7 z: zzzztzqczzzzz +6-12 n: wnnnnnnxftnkznpvvl +10-16 j: jjjjjdjjjrhjjjjj +1-10 l: lllllllllrll +9-13 g: gdgggggggggkggn +6-8 r: rrrrrrrs +16-17 k: kkkkkxkkkkkkkkkck +11-14 b: bbbjbxbfmqscqbdmgg +3-8 d: sjdkmjppbdddhdxd +6-7 g: xhkhwgqpbg +11-12 x: xxxxnxxwgxxbdl +6-8 c: cccscccwcccccccccc +9-16 h: vhhhhhchwnghmkzhr +5-9 v: vvvdnvvvvv +4-16 n: nmqncgnbfhqnnpnbxwrl +3-5 f: fljrf +13-14 m: mmmmmmmmmmmmgfmmmmmm +5-6 g: ggnggd +2-6 w: wlvhvw +13-18 h: hhhhhhhhhhhhhhhhhvh +7-19 m: mmmmmmmmmmmmmmmmmmwm +4-12 k: mcvtrtsdkvkkfjrmkn +1-8 t: qvmrtttn +6-7 f: fffffsf +10-11 m: mmmmmmmmmjl +15-17 v: mvrhvvvvnvrvzrvvfv +10-14 m: mmtmmmnmmmmmmxm +4-16 b: vcscdqcbcxswjfdbrqbx +8-9 z: zzzzzzznzvz +4-6 g: ggnggdpgggg +2-4 d: hddxxnzzw +9-10 g: gggggggggj +4-7 k: kkkvkkkkkk +1-3 r: rrrrj +14-15 w: wwwwwwwwwwwwwwwww +2-4 n: brfmln +18-19 b: bxbbbbbghbbbbbbbbwb +10-12 q: dqqqrqwcqgqqf +2-5 g: sxfzgtrxkrmstdzfmw +3-4 d: pcddq +11-16 w: sbqwlwzwwwwwtwww +2-12 c: wrccqxtccccchcccjcj +16-17 b: bbbtbbbbbbbbbbbqb +3-13 t: tttttttmgktdthtp +1-3 t: ttcg +13-14 z: zczzzzzzdwkzqz +5-6 n: bnjhnjhnnq +2-9 b: bjbgbzmlbbklbwt +4-5 b: dtlbbwtjbkzzbghbghzk +10-16 p: ppppppqpppwnpppppppp +5-6 b: cbbwtbjkm +15-16 p: ppppppppppppppqd +4-8 m: lgmmhgktslzhbvw +2-4 h: hhdlhhhhhhhhhhh +14-18 k: ktmkkkkkwkklkjrkklfk +5-7 x: sfxxsxx +8-9 v: lkvxdpvjv +7-8 r: rrrrrrsr +4-6 b: btcbbv +7-13 n: zhnhjhnmkzdbt +7-9 j: jvjjjjjjjjjjjjxjj +1-4 v: hdvfv +2-5 f: rznpnxqwncmtkwfxcxqh +16-17 x: zxgbhltrdhxkvvxsxf +1-2 h: hkhhh +3-4 h: zhxc +4-9 z: vsmzhzwgjxfg +11-13 x: xxxxxxxtzxxxc +11-12 d: dddddddgddqj +4-11 f: zkdhqnpgbff +2-3 q: qqlqgqqqv +4-9 b: bvnblwhbbkswmrhtf +7-13 t: cztskdtqdtrkt +4-5 f: fffcsf +4-9 f: ctblqrflf +1-2 l: lmllqhlnll +3-6 v: vvqvvvvr +7-9 b: bbrhbkjbb +1-8 p: xpppppppp +7-10 k: ckkpmktkqksgkkk +1-7 m: lmmmmmmmmmmmmmm +11-15 v: vvfvvmvvvvdvkvv +10-11 b: kbbbbbbzbhbb +11-12 l: jltgggtlcggllt +10-13 q: kqnqqqqqqqqqq +6-7 c: cjcccczc +5-11 t: kdtstshrhfkcx +3-12 v: vlvfzvwvxvvhvvsvvcvm +9-10 t: xttttttttttt +8-10 z: hctlkgjzvzh +3-5 g: gtkwgk +16-17 w: wwswwwwwwwwwwwwwwqww +4-11 j: lbmwjzjxjpjhzjjpbj +4-5 c: klbxc +3-5 w: wlhvb +4-8 x: xgxxxxxxxxxxxxdxnxx +2-5 n: nnnkhn +1-2 d: dxfd +11-12 w: wjcqszwqwkcb +6-11 v: sqpgzhnvndtmvvwl +3-4 m: mmmqmmm +1-3 d: mddb +6-7 w: wwwwwnwwwwwwww +12-14 z: zzzzzxzczzzrzzz +5-10 f: mtcmmhfftft +10-14 x: hhgvmxbwgxdcnz +10-16 z: wzfzzmlmxxfhzqcbsnl +3-4 p: ppvkppp +8-11 h: hhhkhhhjhpbhhhh +6-12 f: ffffdwffrsfffrffnfpk +5-11 z: xqwzzzzbzpwk +7-9 c: crccccccscccccc +4-5 b: qpcnz +2-13 m: lmnrrzfhmbwtmqbsg +12-13 k: kkkkkkdkkkkkmk +10-14 q: sdqfbqszdjhqfq +8-13 h: hhhhhjhhhhhhbhh +2-4 g: gfdb +12-19 n: wtrhndnnnbwnnnnjnnn +5-6 n: zdwnpn +3-5 f: ffsffffff +11-16 r: rrrvrrrrrrwrrrrrlrrr +6-8 n: nnnnnfnnn +10-13 b: brnlbblbkbbbjbbhx +7-8 q: ftrfnqgqc +11-12 c: ncccccccccgcccn +3-4 z: tzzctzwzzvz +3-5 t: tzrqg +7-10 m: mmmmmmrmmqmmm +1-2 c: cdccfcccc +10-11 k: kkkkkkkkkwkk +6-18 x: qndxdgmjvpppddwkbt +8-17 c: pxhszsccndlbzkwgvx +3-4 p: qlrvwdxpqtgwjrtqcc +2-4 q: lkjq +17-19 f: pffgflzxrxfdxffffnz +3-11 x: kzsvmhcxnwj +6-7 x: lxxxxxxcm +1-8 n: nnnnnnnrn +2-5 r: rtrrnr +2-4 n: csvhrvhlp +7-8 b: lbbpdbkb +2-8 t: ztcrbvmst +3-4 r: rwrr +7-15 b: tbtrrbbpwsrvklqb +9-13 d: dcfsgddmdsjgg +2-7 d: mvdzscd +6-8 d: jrjjdndq +1-3 m: mhmvhtmmlbztvmsvmtmb +10-12 c: ctwjbpkchccmbqw +2-3 z: jvzwcrbgqbhvzbf +2-7 g: qbwsdbg +4-7 s: jsxpbmsmkhktfdq +11-13 r: rrrrrrrrrrhrqr +9-14 d: zddcdgddddxddntddm +1-15 x: jgrxxxxfxkgbmsxzx +2-17 p: kcppppkppppppppwm +12-19 k: kkkkkkkkkkkmkkkkkkkk +1-4 x: nzpxg +5-12 p: xcbppqnppqgtrm +11-14 h: dlhzhhhsbllcwhh +13-14 q: qqqqqqqqqqqqqcq +11-16 t: ttgnswrltltttjtj +14-15 t: ttttvtttftttttjtc +3-5 s: xssns +9-11 q: mlqqtqnjqfl +3-4 z: nzzhz +2-5 k: skwbwkwgzj +1-3 p: pppppcppppbpp +5-10 r: rrrrlrrrrrr +2-3 l: jlffrztcckl +3-5 t: ttftttttr +3-6 q: qtqtmnlqck +1-4 v: vxfvmvxwvvjbxp +1-5 z: tzzzzszvzzrmzmz +10-11 l: lllllblllcx +1-4 p: vppppp +6-12 v: zvrwvvvrvhzb +2-4 x: xxnv +1-7 w: hwwwwwgwgwwbwqw +3-7 w: wwwwwlfw +5-6 l: kkpltd +4-5 d: ddnrdk +3-6 c: cncvkt +8-9 j: vblczlfjjkj +7-15 d: ddddxdgdddddddjddd +4-7 z: vvmzdspzwptz +5-7 t: cdrtfqt +6-9 j: jjjjjdjjjjjjjj +2-5 j: ljptkvvfl +6-7 l: vhhnllgx +5-6 g: gpcxwvgpvvgg +5-12 q: plzqqnqzrhqgljj +8-13 k: zkckdknkxkgkvmmkd +4-10 s: jkvstssfcsrckjnzzbsl +9-11 n: nlknnnnggnvnnnnn +8-9 s: ssssrsgstk +16-18 r: rrrrrrrrrrtrrrrbrrrr +4-5 f: qxrzfcgfqfp +2-10 p: pphtppppppplwpsp +2-5 q: qqqqsq +6-15 j: xjkxkjxxkjznjjj +9-13 f: fvfvjlfmltfgf +3-6 j: jnsrcj +1-7 h: vhhhhhhh +4-5 q: qrqqqf +2-3 v: mvxb +4-11 l: lllllllllldl +7-17 k: mkcxhcmbcpjckkqznh +7-9 v: vvpgvvvvs +7-11 j: jjjjjjjjjjjs +2-12 v: mlxjljvffxgv +3-4 t: hhfn +14-16 w: kwfwwqwcfcwwfmww +5-6 j: jjjjjg +11-12 n: nnnnnnrdnnmnn +8-9 b: dsbbbfbbbb +3-4 j: jjcjjj +1-3 r: wrnr +10-11 p: pppppppppqppp +12-13 v: vvvvvvvvvwvvvv +7-9 v: vvvqvvxvdvxv +9-14 r: mmrrrrnrrxrrrwrrrrrr +5-6 k: kkkkbkkr +13-17 v: dbvgrchdpnzvxrdfv +4-9 c: ccjbccqcpcclcc +6-8 m: mbjmmxnb +2-6 h: hhdhnvcc +9-16 t: tttttttttttttttgt +12-16 n: nnnnnnnnnnnnnnnwn +3-14 z: zzdzzzzzzzzzzzz +3-8 k: pmktwckzn +9-13 q: gqqqqqqqrqqqqq +3-6 l: lllllddll +7-8 x: slxxzplxsxkcxlxxx +2-5 v: vwvvd +6-7 n: xxnnnmnnn +2-4 z: zczz +2-12 p: pppppppppppvp +2-4 h: bqwhv +5-7 t: btzttjg +4-9 c: sxcskxxbcv +1-6 c: cccccpc +9-13 l: bcsllbvbjhrflt +5-9 c: zprfctdnt +1-5 z: zzzzz +4-8 h: bpshnhxhrbk +4-7 l: bqclvxf +5-6 m: mmmmmgwcmgjj +13-18 m: mmmnmmmmmmmmpmtmmgm +1-5 w: cwwgwwwwwww +14-16 h: hhhhhhhhhhhhhqhhh +6-7 v: bvvjvvbvvv +5-13 b: pbcbbqmbcsfblc +17-18 j: jjjwjsrjjmkjjqjjjj +4-6 t: ntttpt +6-7 v: mvvnvvc +11-12 v: vclgnzbvtvvjvs +8-13 r: rlrzkjkrrxmdvzgt +5-7 n: nnnnnnsnnnnn +3-6 q: qpkjpq +2-7 v: hvgnjfrkvx +6-10 g: xgmrggggpbggfqgdpm +9-10 s: ssssssswfszsdssszss +5-6 p: pppjppwpp +2-5 d: ddddddd +9-13 p: ppjhpbppxpxxt +10-15 t: cgtcnlltzdkbcjtvxs +8-11 m: dkmmvtdmkbhmk +3-4 z: rzzqzw +4-8 z: zcxzswbzzqzxwkzz +3-4 s: jsts +2-7 b: bsbbbbbbbbbbb +11-15 l: jjkslsltvfbqshl +3-14 c: cqtxcgmcgvgfcccmg +1-8 f: fbfwffhfbxffhlx +4-11 r: drrmrrrzcfrj +5-6 p: pwpvjp +11-14 d: pnrddqwdlpdbddwg +9-10 r: rrrwrrrznrrgqsr +3-12 v: vsvvbvvkvvpdrvvv +2-5 t: mtfqjrjlthk +13-17 r: rrrrrrrrrrrrrrrrtr +7-8 n: nnnnnnhnn +3-4 r: wrpr +1-14 p: ppppppppppppppppp +8-9 m: vzkbzwnmwfqmmmmcmmnd +11-14 p: pppnpvpwppvpppppppp +17-19 h: lzhxlhhchxhbxhwvhsx +10-11 n: nnnnznnnnlp +3-12 f: kwflsfqflxpzbgxzdhzv +8-10 x: xxvxxxxvxsxxlxxxx +1-2 c: dclflczlj +4-9 w: wwwtwwwwwww +2-8 t: pfvtlbtxt +4-9 f: pnfkffkfnh +8-10 v: vjvvvvvvvvvvvv +3-13 s: mfshscgmmrvzw +6-10 g: gzggggpggkggzggggg +13-14 n: fnnnnnnnnnwnrnnn +4-14 k: lbvkwrkjkxjskg +9-11 q: qqqqqqqqsqgq +17-18 q: qqqqqqqqqqqqqqqqqd +6-9 s: spsssgsrrssss +8-14 m: qmmqjmmmmtpmnzgmm +1-7 m: bmsrmmmmmmm +14-17 k: kskdbkkkkdkkkktkqkkk +4-5 c: ccccgfc +2-5 k: kkkkzk +2-11 q: qqwqlnqqqhtdvxqrc +4-6 m: fdxkmmd +7-10 j: mjgftcmjmjj +17-18 m: mmmmmmmmmmmmmmmmnm +2-4 v: svvv +6-8 x: jxxhrxlp +4-10 s: dsvdbsssmscs +18-19 k: zwdgknqvqkgdhdhktkmr +2-7 h: jdflgfh +6-8 z: zmpzzzzzzzzgz +3-6 m: mmrmmm +4-8 w: wwtwktws +4-10 k: dkjkqkkzvk +3-7 b: bbbbbbfbbb +4-12 z: zzzzzzzzzzzzz +5-9 z: nmqdzzkzzzbj +4-11 z: fzzgzzzzzztzz +1-7 w: whwwwzrw +5-6 t: tjtttv +9-11 v: vzvhvxvvnvwvvv +2-4 t: pkjtpp +14-15 n: njpwjnsbnnnnngnnvnnn +5-15 k: qtmvkkdjkslkqvk +2-4 s: skszs +2-3 g: zggjhgxzn +16-17 p: ppppmppppppppppnppp +4-10 z: zzzzzzzzzzz +17-18 s: sssgsssskssssssssbs +5-8 m: mmmmmmmbm +1-5 l: llllmlql +3-13 z: bmdwpgvzfdlgzgl +1-4 p: pjplgjr +1-9 v: vvvzvrvvk +6-18 w: whwpwwflbcwwvwwwwst +19-20 n: nnsnnjnnnnnnnnnnnnkx +9-10 m: rlmxrnqrmkmmwmmmmm +15-17 s: lvssssslssfsssksfb +3-4 q: qqqpq +7-13 h: hhhhhhhhhhhhdhhhhhhh +2-6 h: dvkfhhmk +4-6 s: nczssv +10-12 p: pppppppppppdpprp +16-18 s: sssssssssssssssgsg +7-12 h: hhhhhhvhhhhhh +4-12 f: ffftfffffffwff +4-7 s: csqcpssbgvvmwdb +6-10 p: ppppvppppdppd +6-8 h: hxjhthhgzh +3-10 f: fffffffffsf +4-11 g: trggxlrnqrgh +2-15 w: wjxwtvkwwpgwwww +1-4 v: zjxv +7-10 f: fffffflqff +4-6 g: mgwgpbg +1-10 z: vvzzzzzvzz +6-7 f: ffffffnf +11-15 w: wxzwwqdnnwwxjlwplcl +10-11 s: hsslzjgsssvxsshnsc +4-12 n: tlxdnpznjbknt +7-8 k: mkhcvjxk +10-12 j: jjjjjjjjjjnm +2-7 c: fckckdpcksjckwcc +3-8 s: sssdxssw +12-14 t: ttttttttqttxttttpttt +6-7 g: gggggggg +5-10 f: fqffzffffffffgf +6-7 t: ztqhpbt +5-12 w: swwfwwwwwpwbwj +2-4 w: qmww +5-8 v: vvjnvvpv +7-8 p: bcbtnppbxnnwpr +4-12 z: zzkzdxntzlfbkkzzzw +8-9 s: sssssssss +15-18 h: jhvhhhcxwhhhhmhhhj +6-10 w: bwwwwwwwwwwwww +5-9 l: mtqlhlwlh +5-7 l: ljllnllblpl +15-17 h: hpgdkhsjwfnsjmhqxf +3-4 g: gggxgggg +1-2 q: qdqm +6-10 n: hnnnqknnnnnlnnnnp +13-17 q: djstfsmmqlshqqbqnf +6-7 z: qzlzxzw +7-12 g: qhghvbwdcvkgjl +7-15 z: zzzzzznzzzzzzzzzzzzh +3-6 w: zchpwvw +3-4 c: wmbjp +6-9 k: tckbvkkxkkqk +11-13 p: pcppppppppppppbp +5-7 r: rrrrsrxrr +6-10 c: ccccczcccccccccc +7-8 j: jjpjjplj +5-7 m: mjmmmjrmfmmmmmmmm +1-7 t: ttttttnttvpt +6-12 t: tttfwtttttttttttttt +7-17 x: hxwgrqqlxmrxrcwsx +3-8 g: vjcgqrjhlq +13-18 n: nnnfnnngnnnnjnnnhln +13-15 f: ffffffffffffrbff +13-15 x: xmswzjhtthggslslgx +12-13 g: ggggggggggggggg +3-9 f: cxfskjcbmhmmcpwn +5-7 h: jxzbhbh +2-3 m: mhmlmq +1-3 m: rmmmgmzvcghdtgmsmnm +14-15 s: wzssphxtsskpssr +8-14 p: kppjppgfpprftj +2-7 r: prnmlrrbm +2-5 v: vvvvtvv +1-5 n: nnnnzn +2-5 t: xtlnfwhgvltx +3-4 v: gvtv +2-8 k: kvkstkfz +2-6 j: jdjjjnjjjjzjjjj +3-4 s: sshwsssss +2-10 w: mnhkdtwdzwvsq +6-8 b: bbbbkxbbtbbkbt +14-19 h: hhhhhhhhhhhhhhhhhhhh +6-10 d: ddddddddddddddd +10-13 t: ttttttttthttjttt +4-5 c: ctscw +8-9 b: bbbvbbgmb +10-12 s: sxssshsssswsscsx +3-7 r: rdhrrkrkrrrrcrhrrr +8-10 j: wjsslzjjntjjwjs +1-4 q: gqqw +4-6 t: tjlhvrt +2-10 s: ssssssnssssssssx +7-8 x: xxxxxxfw +6-13 r: sxtcgrffrpdprnklbxbw +1-3 p: ppbppppppp +2-3 b: jbfr +1-7 m: cmmmmqm +4-5 t: tttzt +7-9 s: zwbbbssvl +10-13 w: wwwwwwwwwwwwdw +13-14 n: nnnnnnnnnnnnnmkn +5-11 q: jpbzqwqbwttgzn +4-5 k: kkkwkkk +10-17 w: sgtklkflsrfqxfwhjm +6-12 w: wwjqwwlmphwkwwwwwjw +2-13 p: ppppppppppppzp +2-16 h: tslcwztxxtchgqlxsbx +2-9 p: slptvtljpxdkf +10-12 z: tnzzghzzgzfn +3-18 f: ffxfffffffffffffff +1-2 p: prdpdghkckdgpl +6-8 x: fxxnbwrx +7-9 z: zmzkzdpgjzzz +7-14 p: pppppppppppppppb +7-10 l: xltlzllllljzxlll +18-20 n: nnnnnnnqnnnnnnnnnmnb +15-18 p: pxmqxpmqwfntrpppmf +1-15 v: kgmvwvrvmcvtrvvwv +2-8 g: gxggggggg +4-5 f: clfjfqmpffjfff +3-5 r: rpjkf +2-9 h: hhhhhshhrhh +2-5 z: zxzzz +5-11 k: kkkkkkkkkkkk +8-9 n: nnddcfntnrgnnrnnc +1-11 f: dfffffffffff +2-4 x: dzphvg +4-5 w: mnzlr +2-6 f: jhrkfmg +2-17 z: czzvvzzczznzhwzbzz +2-5 r: xrjrg +2-3 g: gggg +7-9 s: ssssssbsssss +17-19 k: kcwktkxkkbkqnwkkkkdz +1-16 f: zmxdffmfgffxrffffqf +7-8 q: qtmrkbqjq +8-9 q: qqqqqqqqx +10-18 n: nnnnnnnnnznnnnnnnnnn +16-18 x: xwxxxxxxxxxxxxxxxrxx +15-18 t: tttttftptttttttcttt +10-11 h: hfxnlbsqxphtmstbhdn +7-13 z: vdzdzmzxvfzzz +2-5 n: nnpqgnnqnb +12-16 v: pvjvvnbqzjnvvvvpjv +4-5 d: ddddk +4-8 l: lxvhlbclhgd +3-12 v: vvkvvvvvvvvvvvvvvvvv +17-18 j: jjjjjjjjjjjjjjjjdj +6-7 b: ckbdbcsbb +9-11 q: qrhxpcjjqbqt +8-14 h: hhhhhhhhhhhhklhhhhn +2-3 b: bzbjb +2-15 w: nnmdgzhsvhpvswltvt +1-5 l: lbclz +15-17 d: wlddgdxsdcdfdcgdd +18-20 q: dqsldgqqfqwsstqlmqtz +1-6 q: qqqqqdq +2-6 j: jpjjjjjj +13-15 p: ztjlhtnsgphgxccpfsp +6-13 m: ghvvmrglmmmcm +3-6 b: nbbrmrfdlbs +1-3 j: fwhjsr +7-10 p: gcppcppzpppp +4-12 r: rrrrrrrrrrrrrr +16-20 d: djdddvdsddddlmddddpm +14-19 x: xzxjxxxxxxxxxxxxxxj +11-16 w: kwclzxjjwxlwkcnwkwv +3-11 b: zhhxsgqxqbbg +10-11 q: trbhqqzhdqw +9-13 l: vcvlvqlwrlfvll +7-9 x: xxxxxxxxgx +5-6 n: nnnngnn +2-5 p: pqpppppppqpxp +4-17 z: zxrmzwwxwhqxxmqrv +5-9 v: vvvvvvvvrvvvj +6-7 x: qkhbxxkxs +3-4 d: fcmd +5-9 f: nsnlxstff +6-9 x: hrtzmhrxxbmcc +3-7 w: wwwwwwsww +5-8 g: ngkdxggg +8-13 r: rrrrphrrrrrrrrrrdrt +2-6 f: rckzvzfrnp +4-6 k: bfrpttcfbwmvhgn +7-9 w: wwwwwwswww +13-15 n: nnnnnnnnnnnnnnn +4-8 j: jjjjjjjwjjj +9-11 h: hhhhhhrhhhhhh +4-7 h: thmhwrhss +1-3 d: ddddddddddddd +10-11 c: ckrcxwcdpqc +2-4 g: kgghg +3-12 s: ssssvwssssgqs +2-7 s: sssssszs +2-10 v: wvpbjqxvzsdpgmq +12-15 n: nnnnnnbnqvrkfnn +3-5 w: wlvdw +11-14 t: pfrbxgcrwndttj +6-7 w: qnnwwpfwwhw +7-10 n: nnnvnnhnnx +3-12 c: mmfcwvxqwpcclwlxfx +2-3 p: lgpxpppp +17-19 k: rfxvmnmfzrnktfpckpr +2-9 k: kkkknkkkkkkk +15-16 t: ttjmtttmttttttwt +9-10 r: rrrrrrrrmrrrr +3-4 p: jppppxf +7-8 k: nkqbvkkt +6-8 d: dddddrdddd +6-7 q: czbqdgnc +3-5 p: rxpppsx +4-6 t: thvtwv +2-13 d: dmdddddddddddd +16-18 n: nnnnnnnnnnnnnnnnnnn +11-12 s: ssfsdsmssswssh +3-5 v: kxnvvvmvrvdvvssvvv +5-8 x: nxxxxbxxxzx +3-5 t: ctttftt +5-7 s: hssvsgj +5-8 r: rrrrrrrcrx +1-13 v: vvvvvvvvvvvvpvvvvvv +5-9 h: gxlrhsgswhchfxbwjd +2-4 w: wgwb +6-12 v: pmxnjtfsvvxvv +1-4 n: vnntn +2-3 w: wwww +3-7 f: xmfbmnvnfkkmsd +10-12 x: xxxxxxjgxxxxx +2-3 l: cllvpbtmgzmrfmq +2-4 l: llrlllnlxll +5-10 h: hdhhhzhvtchhh +8-10 q: lhqmdwcfhqngq +1-5 t: twtfvcmktthtjltqvpwc +6-8 s: sxsghtbs +3-4 m: mmmmmmmmmmmmmmmm +16-17 l: rjdpxhtblvllgvwhl +5-13 s: brhsssnfcndsh +7-13 v: swkfswvmkvjbnsgvwp +1-3 k: wlfpzk +2-4 t: tpttt +2-9 t: cntttttcgtttt +5-6 r: rrrrbh +10-12 j: jjjjjjjjjzjjdj diff --git a/Day 2/Two/main.py b/Day 2/Two/main.py new file mode 100755 index 0000000..79dbcce --- /dev/null +++ b/Day 2/Two/main.py @@ -0,0 +1,17 @@ +#!/bin/python + +with open("input", 'r') as input: + counter = 0 + for line in input: + parts = line.split(": ") + policy = parts[0].split(" ") + policy_pos = policy[0].split("-") + pos_one = int(policy_pos[0]) - 1 + pos_two = int(policy_pos[1]) - 1 + char = policy[1] + password = parts[1] + + if (password[pos_one] == char and not password[pos_two] == char) or (password[pos_two] == char and not password[pos_one] == char): + counter += 1 + + print(f"Counter: {counter}") diff --git a/Day 3/One/input b/Day 3/One/input new file mode 100644 index 0000000..c538ab1 --- /dev/null +++ b/Day 3/One/input @@ -0,0 +1,323 @@ +...#....#.#...##......#.#...##. +.#..#...##..#....##........##.. +..##.##...##.#.#....#..#......# +....#....#..#..#.#....#..###... +####.....##.#.##...##..#....#.. +#........##...#..###..#.#.#.##. +.......###........##...#...#... +#.#...#..#..#...#...##.##...... +..#...........#......##.#.#.... +#..#.#......##.#...#..#.#..#... +.#....#....#..#.....#..###..#.# +.##....................#.###.#. +..#......#.#......#..###....... +#.###..##..###....#........#..# +.....#...#.......#.#.#...#....# +....##..#.##..#.##..#.#....#... +.#..#..#......#..##.#.#....##.# +.....#.....#.##...#.#.##.#..... +.#...#..##.....#.........#.#... +.....#........#........#..#..#. +#......##....#..#.#...#...#.... +#......#.#.......##.#..#.#.#... +...###...##.#..........#...#... +...#.##...#......#.##....#.#... +#...#.....#........#..#....##.# +##.#....##...##.####.##.......# +..#..#...#.#.......#.##.#...... +##.........#.##....#.#...#..... +##..#......#....#.....#...#.... +......##.#.#.....#.#.###...#... +##.......#......#.#..#...#.##.. +#....#....#..#.#..#.#.......... +...#....#.#.#.#.....##.#..#.##. +......#.#.#....#...##.#..#..... +..##..#.##....#...#.....#..#.## +.#...#.#.##..##........#.#...#. +##.##.##....#.#....##.###...... +#...........#....##..#......#.. +...##..#.....#....#....#.#..##. +.#..#.##..##..#.........#.....# +.##......##.#.#......##....#... +.....##.#....#...#...........## +..#.....#..##...#.#..#......... +...#.####..#.###.....#.....##.. +.....#..##..#.###........#.#... +#..#.#.....#.....#...#...#....# +.#...........#..#.........##... +...#.#.#.......#..............# +.##.#..#...#........#.##.#.#.#. +....#....#.......#......#.#.... +##.#..##.....##..#...#....#..#. +#.........#.#..###...#....#..#. +....##.###...#........##...#.## +.#...#..##.##...........##...## +.....#.##........#.#.......##.. +.....#......#..#..#...#.#...#.. +.....#.....#.#..#.###......#### +........#.......#...........#.. +...#.##..#....######..#.#...#.. +#...##...####..##.....##...#... +.#.......#.###..#.##..#..#.#.#. +....#..#....##.....#........#.# +.#..#....##..#........#...#...# +#.#..#.#...##...#..........#.#. +##.####....##....#...##.####... +..##......##....#.....#...#..#. +...#......#..#...#..#.#....#.#. +......#...#....##....#.##...... +.##...#.........####..#....#..# +...#..#.#......#.....#.#.#.#... +...........#.......#........##. +#.#....#....#.##.#...#...#.#... +#..#.....#..#..#.#...#........# +.....#.#.##...#............#.## +..#.#.#...#...#..###.#.....#... +....#.....##.......#......#.... +.#.#....#.##......##.#.#.....#. +.....#.##.....#.#...#....#....# +...#.......#..#.#.###.#.###.... +.#...#..#..#....#...###.#.##... +.#....#........#..........##... +##.#......#..#.#..........#.#.. +...#..#.......#.##..###....#.#. +.#.....#..........#..#......... +...##...##.#.......#..#....#... +.....#.##....#.#.#...#.......#. +...#.#..#.#.......#.....##..#.. +.#.#.......#.#..........#...#.# +#........#...#....###.#...#.... +..##....#.#.#.....###.#.#...... +..#.....#.#...#.#.....#.#...... +.#.....##......#....##.#.#....# +...##..........#.#####...#..#.. +#....#......##.............#... +......#.....#...##..#.#....#..# +..###.#.###.#.##.#.##..#.....#. +#...#....#.#....#..##...#...#.# +...#....#...#.#......#......#.. +#......#.....#.#..#........#... +...##...##...##..###...###.#... +#..#...#...#.....#..###...##... +.#.....#.......#....#....##.... +......#......##.#.#......#.#... +..#....#.#..........#..#...#..# +###...#..............#......... +.###.##..#.#..#.....#.#.##....# +..#......#.##....##......#....# +.##....###.#..#.#.............# +..##..#..#.#.#....#..##.#..#..# +##.#.....##...#..#...#..#.#.#.. +.#.#..............#.#...#...... +#....##...#....#..#...#........ +...#..#..#.#........#..#..#..## +...##.#.#.#....#.......#....#.. +.##.#......#.##........#...##.. +.#.##..#.....###..#.#......#..# +#....#..#......#....##...#..#.# +..##....#.##...#..#.##....##..# +#....#..#...#.......#...#...... +#.#......#....#.#.............. +..##..#..#.#.......#.#.#...##.. +...##.##......#..#.##.#.......# +.##.........#............#.#... +........#...#.....#....#....#.. +#....##...#........#......##... +.###....#..#.#......#....#.#... +#.#...........#...#....#..#.#.# +.#....##.###...#.##....##..#..# +........#.............#.#...#.# +#.##..#.##....##.......#....... +.#.....#..#.##..##.....#....... +....#.#......#.#.............#. +..#.#.......#...#......##..#... +......##..###....##.#.###..##.# +..#..#.##...#...#....#.##..#..# +#.##...##.##.#.#........#...... +...#.#.......##....#.......#... +.#....#.##.#..#.......#.....##. +#..#...##.####..###.....#...... +..#...##...#...#.#......#...#.# +.##.##.#...#.....#.##..##...... +.#...#.#.##.###..#...#...#..... +.#..##..#....##.##....##....##. +..#...##....#..###........##... +.#..#..#.#....#.#...#.#......#. +.##.....#...#..#..#..#...###... +.#...#....#..#...........###... +.....#...........##.#......#... +.....#....##......##..#.#...... +.#.#..#..#...#.#..#..##..#.#... +..#..#####.#..#.#.#.....#.#.... +#......#.##.#......#.#......#.. +.#...............#..#.#.......# +...##...##.....##.##......#..## +#.......##.#...........#....#.. +#...##.#...#.#..#..###...##.... +#..##..#..#......#.#...###..#.# +.#.#..###.##..##.....#......... +##.#..##.#..........#.......#.. +.###..##....##..#..#...##...... +........#..##.##....#....#..... +.....#.#.#........#...#....#.#. +..#..#.#.....#.##....##........ +...#....................#....#. +..#....#..###.##......#..#.#.## +.....#.#....#......#...#......# +###...##.......#.#.#.....#....# +..#..###.##..#..#....##.......# +#...#.###..#...#.##..##........ +..#..#....#...........##..#.... +.#............##..#...##.#..#.. +.#.......#.#.........##..#..#.. +....#.###.#...##....#.#.##..... +#.......#........#..#.##......# +#.....###....#....#..#....#.... +...........#...#........#.....# +..##...#...#.##...##.#.#..#...# +##.##..#.......##..........#..# +............#.....#...#..#....# +.....#.#......#...#..#.#...#..# +............##.##.....##...#..# +##.#..#..#.#......#......#..##. +..#..#.........#...#..#.#.#.... +#..#........#.......###.#...... +...#.#.#....#......#.#...#..... +#...............#...#......##.. +###.#...#......##.....#..##.##. +#.##...##.......###.##......... +.#.#.........#..#.....#........ +..##..#............#.....#...## +......###...#.#...#..#...##.... +#.........#.#.##.........##.... +.#....##....#....##....#.##.... +.#...##.#...#.......#...#....## +#................#......##..... +##..#......#.#.........##...##. +...#.#.#...#..#..##..#....#.#.. +.##........#.#......##...#..#.. +...##....#.#.....##..#......... +........###.#.#....###.##.#.... +.............#....###.#..#.#... +.#...........##....#...#....... +#..#.......#.....##..#......... +..#.#..#....##...##.#.......#.# +#.###.#.........#..#.........#. +.......#.........##....##.#..## +.##...###..........#....#.#..## +.#.....#......##..#...#........ +##..#..###........#.......#.... +........#...#.##...........#.#. +.....#..#..###.............#..# +...######.##.....#...#......#.. +.#...#....###...###......#.##.. +...##.####.........#...#...##.. +..##....#.......#.....#..#..... +#.##....#.#........#.....##.... +.....#.#.###...........#...##.# +.............###........#...... +...#..#...##.#....#..##.#.....# +....#.#.....#...#......###..##. +........#.......#..#........... +....#.#...#......#.#.....###... +..#.............####.##.....#.. +..........#...#.#.............. +..#.#...........#.#..##...##..# +.......#...#........#..##....## +#...#.....#.#.##...#.#.#...#..# +.....#..#....#.###.#.....#.#..# +....#.#.#...#.................# +#..#........##.###....#....#... +..##...##..............##....#. +...#.#...#.#...##........#...#. +##..##.#..#.#.#..#.#...#.#.#.## +..#.#..#....#..#.###.........#. +..#.....#..#..#........#....... +...#...#......##...###.....##.. +#....#.##.....#.##..##..#..#... +......##..#.#.#..#.###...#...#. +.##.....##............#.#...... +..#.#........##....#..#.####.#. +.#....###..#.......#........... +##...........#..#...#.....#.#.. +.#..#....#..#....#.#.........#. +.#.###....#.....##.....##...... +.#.#.......#.......#.###.#...#. +...###..#..#....#..####.##....# +..........##...#...#........... +.#.....#.#..##..##...##..#..... +##.......#.#...#..###..#..##... +..#.##......###..#........#..## +....###...#..........#.#..#.#.. +#..#.#..##.......##....#.#..##. +.#...#...#..#....#...###....... +.##.#.#.#.....#.....#.#.#.....# +...##.#.....#..#.#...#.####.#.. +#...##.....####..#.###.##..#.## +..###..##....#####......##..... +###..............#.#..........# +#...##......##....#...#..##..#. +.#..#...#....##.##.....#....##. +...#.#...#..#..#.......#.##.... +.#...#..#.......#.##.#..#...#.# +.#..#.##...#...#.............#. +.#.#.#....##..#.#.#.#.#......## +..#....#.#...##.##.#...#.#.#.#. +...#..#..##.........##..#.....# +....#..........#.#.......#..... +........#....#.#..#.....#.#.#.. +.#...#.......#..#.##.........#. +##......#.....#...........#.#.. +....#....##...#..#####.####...# +.....##....#....#..#.....#..##. +.#...#.#..###....#......#...#.. +.#.#.#.#.....##..........#....# +...#.....#.....#..#............ +...#.#..#.....#.............#.. +......#....#.#.....#.##...#..#. +...#....#.#...##..#....###..... +...#..#............##...##.##.. +..#....#..............#.....#.. +.#..#.......#.#.##......#.###.. +..#...#.........#..#.....#..... +#..........#.....##............ +##.#.#.#....##......#..#....#.# +.#..#.....#.#..#.....#..##..... +...#.#.....#..#..#..#.##.###... +...##.#.....#.....#.......#.... +.....................##.#...#.. +...#.#...#...#...###..#..#.#... +#....##..###.#...##.#......#..# +.##...##..##...##......##.#.... +............#.....#.##.#.##.#.# +.#...##.#..........###......#.. +.....##.....##....#.#....##..#. +...#....#.....#....#.....#.#... +................##.#...#....##. +#..###.......#......###......#. +###..#.........#.#.#.....#....# +..#.#......#....#.#......##...# +#...#......#.#.#.#..#...#..###. +.#...#..#...##..#...##....###.. +#.#.#.#..###................#.# +...#.####....##.#.....#..#..... +#.#...##..#.#...###.#..#...#... +#..####........#.#..#...##..##. +..#..###..#..........##.###...# +.....#..###.#.#....#....##....# +.###..#.#.#....#...##.......##. +#..#..........#...............# +.#.#...#.....#.###..##......##. +#...#...#...##...##.....##..#.. +.....##..###...........#....... +........###..##........#..##..# +#....#...##..##..#.#.#.###...#. +.#..#......##.#..#...#......... +.#....#.##..................... +#.##.##...........#.####..#.... +......##....#..#.....#.#....#.. +....##.#........#.#.#.#.#..#..# +.#..##..##..#.....#...#.#.....# +...#..#.#.....#..#..##....##..# +..#....#.....#........#.....#.. +#.#.#..#..#.#..#...###.#.#....# diff --git a/Day 3/One/main.py b/Day 3/One/main.py new file mode 100755 index 0000000..e2d8a30 --- /dev/null +++ b/Day 3/One/main.py @@ -0,0 +1,22 @@ +#!/bin/python + +slope_x = 3 +slope_y = 1 + +with open("input", 'r') as input: + lines = input.readlines() + wrapping_point = len(lines[0].strip()) + trees = 0 + for i in range(1, int(len(lines) / slope_y) - 1): + line = lines[i].strip() + index = (i*slope_x) % wrapping_point + char = line[index] + if char == "#": + print(line[:index] + "X" + line[index+1:]) + trees += 1 + else: + print(line[:index] + "O" + line[index+1:]) + + + print(trees) + diff --git a/Day 3/Two/input b/Day 3/Two/input new file mode 100644 index 0000000..c538ab1 --- /dev/null +++ b/Day 3/Two/input @@ -0,0 +1,323 @@ +...#....#.#...##......#.#...##. +.#..#...##..#....##........##.. +..##.##...##.#.#....#..#......# +....#....#..#..#.#....#..###... +####.....##.#.##...##..#....#.. +#........##...#..###..#.#.#.##. +.......###........##...#...#... +#.#...#..#..#...#...##.##...... +..#...........#......##.#.#.... +#..#.#......##.#...#..#.#..#... +.#....#....#..#.....#..###..#.# +.##....................#.###.#. +..#......#.#......#..###....... +#.###..##..###....#........#..# +.....#...#.......#.#.#...#....# +....##..#.##..#.##..#.#....#... +.#..#..#......#..##.#.#....##.# +.....#.....#.##...#.#.##.#..... +.#...#..##.....#.........#.#... +.....#........#........#..#..#. +#......##....#..#.#...#...#.... +#......#.#.......##.#..#.#.#... +...###...##.#..........#...#... +...#.##...#......#.##....#.#... +#...#.....#........#..#....##.# +##.#....##...##.####.##.......# +..#..#...#.#.......#.##.#...... +##.........#.##....#.#...#..... +##..#......#....#.....#...#.... +......##.#.#.....#.#.###...#... +##.......#......#.#..#...#.##.. +#....#....#..#.#..#.#.......... +...#....#.#.#.#.....##.#..#.##. +......#.#.#....#...##.#..#..... +..##..#.##....#...#.....#..#.## +.#...#.#.##..##........#.#...#. +##.##.##....#.#....##.###...... +#...........#....##..#......#.. +...##..#.....#....#....#.#..##. +.#..#.##..##..#.........#.....# +.##......##.#.#......##....#... +.....##.#....#...#...........## +..#.....#..##...#.#..#......... +...#.####..#.###.....#.....##.. +.....#..##..#.###........#.#... +#..#.#.....#.....#...#...#....# +.#...........#..#.........##... +...#.#.#.......#..............# +.##.#..#...#........#.##.#.#.#. +....#....#.......#......#.#.... +##.#..##.....##..#...#....#..#. +#.........#.#..###...#....#..#. +....##.###...#........##...#.## +.#...#..##.##...........##...## +.....#.##........#.#.......##.. +.....#......#..#..#...#.#...#.. +.....#.....#.#..#.###......#### +........#.......#...........#.. +...#.##..#....######..#.#...#.. +#...##...####..##.....##...#... +.#.......#.###..#.##..#..#.#.#. +....#..#....##.....#........#.# +.#..#....##..#........#...#...# +#.#..#.#...##...#..........#.#. +##.####....##....#...##.####... +..##......##....#.....#...#..#. +...#......#..#...#..#.#....#.#. +......#...#....##....#.##...... +.##...#.........####..#....#..# +...#..#.#......#.....#.#.#.#... +...........#.......#........##. +#.#....#....#.##.#...#...#.#... +#..#.....#..#..#.#...#........# +.....#.#.##...#............#.## +..#.#.#...#...#..###.#.....#... +....#.....##.......#......#.... +.#.#....#.##......##.#.#.....#. +.....#.##.....#.#...#....#....# +...#.......#..#.#.###.#.###.... +.#...#..#..#....#...###.#.##... +.#....#........#..........##... +##.#......#..#.#..........#.#.. +...#..#.......#.##..###....#.#. +.#.....#..........#..#......... +...##...##.#.......#..#....#... +.....#.##....#.#.#...#.......#. +...#.#..#.#.......#.....##..#.. +.#.#.......#.#..........#...#.# +#........#...#....###.#...#.... +..##....#.#.#.....###.#.#...... +..#.....#.#...#.#.....#.#...... +.#.....##......#....##.#.#....# +...##..........#.#####...#..#.. +#....#......##.............#... +......#.....#...##..#.#....#..# +..###.#.###.#.##.#.##..#.....#. +#...#....#.#....#..##...#...#.# +...#....#...#.#......#......#.. +#......#.....#.#..#........#... +...##...##...##..###...###.#... +#..#...#...#.....#..###...##... +.#.....#.......#....#....##.... +......#......##.#.#......#.#... +..#....#.#..........#..#...#..# +###...#..............#......... +.###.##..#.#..#.....#.#.##....# +..#......#.##....##......#....# +.##....###.#..#.#.............# +..##..#..#.#.#....#..##.#..#..# +##.#.....##...#..#...#..#.#.#.. +.#.#..............#.#...#...... +#....##...#....#..#...#........ +...#..#..#.#........#..#..#..## +...##.#.#.#....#.......#....#.. +.##.#......#.##........#...##.. +.#.##..#.....###..#.#......#..# +#....#..#......#....##...#..#.# +..##....#.##...#..#.##....##..# +#....#..#...#.......#...#...... +#.#......#....#.#.............. +..##..#..#.#.......#.#.#...##.. +...##.##......#..#.##.#.......# +.##.........#............#.#... +........#...#.....#....#....#.. +#....##...#........#......##... +.###....#..#.#......#....#.#... +#.#...........#...#....#..#.#.# +.#....##.###...#.##....##..#..# +........#.............#.#...#.# +#.##..#.##....##.......#....... +.#.....#..#.##..##.....#....... +....#.#......#.#.............#. +..#.#.......#...#......##..#... +......##..###....##.#.###..##.# +..#..#.##...#...#....#.##..#..# +#.##...##.##.#.#........#...... +...#.#.......##....#.......#... +.#....#.##.#..#.......#.....##. +#..#...##.####..###.....#...... +..#...##...#...#.#......#...#.# +.##.##.#...#.....#.##..##...... +.#...#.#.##.###..#...#...#..... +.#..##..#....##.##....##....##. +..#...##....#..###........##... +.#..#..#.#....#.#...#.#......#. +.##.....#...#..#..#..#...###... +.#...#....#..#...........###... +.....#...........##.#......#... +.....#....##......##..#.#...... +.#.#..#..#...#.#..#..##..#.#... +..#..#####.#..#.#.#.....#.#.... +#......#.##.#......#.#......#.. +.#...............#..#.#.......# +...##...##.....##.##......#..## +#.......##.#...........#....#.. +#...##.#...#.#..#..###...##.... +#..##..#..#......#.#...###..#.# +.#.#..###.##..##.....#......... +##.#..##.#..........#.......#.. +.###..##....##..#..#...##...... +........#..##.##....#....#..... +.....#.#.#........#...#....#.#. +..#..#.#.....#.##....##........ +...#....................#....#. +..#....#..###.##......#..#.#.## +.....#.#....#......#...#......# +###...##.......#.#.#.....#....# +..#..###.##..#..#....##.......# +#...#.###..#...#.##..##........ +..#..#....#...........##..#.... +.#............##..#...##.#..#.. +.#.......#.#.........##..#..#.. +....#.###.#...##....#.#.##..... +#.......#........#..#.##......# +#.....###....#....#..#....#.... +...........#...#........#.....# +..##...#...#.##...##.#.#..#...# +##.##..#.......##..........#..# +............#.....#...#..#....# +.....#.#......#...#..#.#...#..# +............##.##.....##...#..# +##.#..#..#.#......#......#..##. +..#..#.........#...#..#.#.#.... +#..#........#.......###.#...... +...#.#.#....#......#.#...#..... +#...............#...#......##.. +###.#...#......##.....#..##.##. +#.##...##.......###.##......... +.#.#.........#..#.....#........ +..##..#............#.....#...## +......###...#.#...#..#...##.... +#.........#.#.##.........##.... +.#....##....#....##....#.##.... +.#...##.#...#.......#...#....## +#................#......##..... +##..#......#.#.........##...##. +...#.#.#...#..#..##..#....#.#.. +.##........#.#......##...#..#.. +...##....#.#.....##..#......... +........###.#.#....###.##.#.... +.............#....###.#..#.#... +.#...........##....#...#....... +#..#.......#.....##..#......... +..#.#..#....##...##.#.......#.# +#.###.#.........#..#.........#. +.......#.........##....##.#..## +.##...###..........#....#.#..## +.#.....#......##..#...#........ +##..#..###........#.......#.... +........#...#.##...........#.#. +.....#..#..###.............#..# +...######.##.....#...#......#.. +.#...#....###...###......#.##.. +...##.####.........#...#...##.. +..##....#.......#.....#..#..... +#.##....#.#........#.....##.... +.....#.#.###...........#...##.# +.............###........#...... +...#..#...##.#....#..##.#.....# +....#.#.....#...#......###..##. +........#.......#..#........... +....#.#...#......#.#.....###... +..#.............####.##.....#.. +..........#...#.#.............. +..#.#...........#.#..##...##..# +.......#...#........#..##....## +#...#.....#.#.##...#.#.#...#..# +.....#..#....#.###.#.....#.#..# +....#.#.#...#.................# +#..#........##.###....#....#... +..##...##..............##....#. +...#.#...#.#...##........#...#. +##..##.#..#.#.#..#.#...#.#.#.## +..#.#..#....#..#.###.........#. +..#.....#..#..#........#....... +...#...#......##...###.....##.. +#....#.##.....#.##..##..#..#... +......##..#.#.#..#.###...#...#. +.##.....##............#.#...... +..#.#........##....#..#.####.#. +.#....###..#.......#........... +##...........#..#...#.....#.#.. +.#..#....#..#....#.#.........#. +.#.###....#.....##.....##...... +.#.#.......#.......#.###.#...#. +...###..#..#....#..####.##....# +..........##...#...#........... +.#.....#.#..##..##...##..#..... +##.......#.#...#..###..#..##... +..#.##......###..#........#..## +....###...#..........#.#..#.#.. +#..#.#..##.......##....#.#..##. +.#...#...#..#....#...###....... +.##.#.#.#.....#.....#.#.#.....# +...##.#.....#..#.#...#.####.#.. +#...##.....####..#.###.##..#.## +..###..##....#####......##..... +###..............#.#..........# +#...##......##....#...#..##..#. +.#..#...#....##.##.....#....##. +...#.#...#..#..#.......#.##.... +.#...#..#.......#.##.#..#...#.# +.#..#.##...#...#.............#. +.#.#.#....##..#.#.#.#.#......## +..#....#.#...##.##.#...#.#.#.#. +...#..#..##.........##..#.....# +....#..........#.#.......#..... +........#....#.#..#.....#.#.#.. +.#...#.......#..#.##.........#. +##......#.....#...........#.#.. +....#....##...#..#####.####...# +.....##....#....#..#.....#..##. +.#...#.#..###....#......#...#.. +.#.#.#.#.....##..........#....# +...#.....#.....#..#............ +...#.#..#.....#.............#.. +......#....#.#.....#.##...#..#. +...#....#.#...##..#....###..... +...#..#............##...##.##.. +..#....#..............#.....#.. +.#..#.......#.#.##......#.###.. +..#...#.........#..#.....#..... +#..........#.....##............ +##.#.#.#....##......#..#....#.# +.#..#.....#.#..#.....#..##..... +...#.#.....#..#..#..#.##.###... +...##.#.....#.....#.......#.... +.....................##.#...#.. +...#.#...#...#...###..#..#.#... +#....##..###.#...##.#......#..# +.##...##..##...##......##.#.... +............#.....#.##.#.##.#.# +.#...##.#..........###......#.. +.....##.....##....#.#....##..#. +...#....#.....#....#.....#.#... +................##.#...#....##. +#..###.......#......###......#. +###..#.........#.#.#.....#....# +..#.#......#....#.#......##...# +#...#......#.#.#.#..#...#..###. +.#...#..#...##..#...##....###.. +#.#.#.#..###................#.# +...#.####....##.#.....#..#..... +#.#...##..#.#...###.#..#...#... +#..####........#.#..#...##..##. +..#..###..#..........##.###...# +.....#..###.#.#....#....##....# +.###..#.#.#....#...##.......##. +#..#..........#...............# +.#.#...#.....#.###..##......##. +#...#...#...##...##.....##..#.. +.....##..###...........#....... +........###..##........#..##..# +#....#...##..##..#.#.#.###...#. +.#..#......##.#..#...#......... +.#....#.##..................... +#.##.##...........#.####..#.... +......##....#..#.....#.#....#.. +....##.#........#.#.#.#.#..#..# +.#..##..##..#.....#...#.#.....# +...#..#.#.....#..#..##....##..# +..#....#.....#........#.....#.. +#.#.#..#..#.#..#...###.#.#....# diff --git a/Day 3/Two/main.py b/Day 3/Two/main.py new file mode 100755 index 0000000..1a46ca3 --- /dev/null +++ b/Day 3/Two/main.py @@ -0,0 +1,28 @@ +#!/bin/python + +def calculate_slope(lines, slope_x, slope_y): + wrapping_point = len(lines[0].strip()) + lines_len = len(lines) + trees = 0 + for i in range(1, int(lines_len/slope_y)): + line = lines[i*slope_y].strip() + index = (i*slope_x) % wrapping_point + char = line[index] + if char == "#": + print(line[:index] + "X" + line[index+1:]) + trees += 1 + else: + print(line[:index] + "O" + line[index+1:]) + + return trees + + + +with open("input", 'r') as input: + lines = input.readlines() + slopes = [(1,1),(3,1),(5,1), (7,1), (1,2)] + total = 1 + for slope in slopes: + trees = calculate_slope(lines, slope[0], slope[1]) + total *= trees + print(f"Total: {total}, Trees: {trees}") diff --git a/Day 4/One/input b/Day 4/One/input new file mode 100644 index 0000000..cf0f89d --- /dev/null +++ b/Day 4/One/input @@ -0,0 +1,1133 @@ +eyr:2029 pid:157374862 +byr:1991 ecl:amb hcl:#a97842 hgt:178cm + +byr:1962 pid:547578491 eyr:2028 ecl:hzl hgt:65in iyr:2013 hcl:#623a2f + +hgt:71in eyr:2037 +ecl:#8e276e hcl:z iyr:2019 +byr:2022 pid:157cm + +hcl:#733820 hgt:175 eyr:2028 iyr:2011 +pid:87786389 +ecl:hzl byr:1980 + +hgt:163in hcl:z pid:8261494508 cid:136 ecl:grn eyr:1958 +byr:2030 iyr:1991 + +iyr:2021 +hcl:6708a3 +ecl:zzz eyr:2034 byr:2010 +hgt:189cm +pid:466438311 + +iyr:2012 pid:9720867166 byr:2006 eyr:2022 hgt:72cm ecl:utc hcl:#c0946f + +ecl:#353bc9 +iyr:2020 pid:874363951 cid:113 +hcl:z eyr:2040 hgt:76in byr:1975 + +eyr:1971 +byr:1955 pid:193cm hgt:189cm hcl:#ceb3a1 ecl:grn +iyr:2023 + +byr:2014 +iyr:2026 eyr:1978 hcl:z cid:312 pid:8294818417 +hgt:169in ecl:#82bb02 + +ecl:amb +byr:1936 hcl:#7d3b0c pid:429853734 +cid:342 iyr:2010 eyr:2025 hgt:160cm + +byr:2025 hgt:176in hcl:a490ac +ecl:#956d3f iyr:2027 +eyr:2021 pid:9858101884 + +hgt:142 pid:175cm +eyr:1952 byr:2004 iyr:2007 ecl:#da035e hcl:#623a2f +cid:194 + +hgt:156cm +pid:349122810 hcl:#b6652a eyr:2026 byr:1948 ecl:lzr iyr:2020 + +byr:1997 ecl:blu +hcl:#888785 pid:381094641 iyr:2014 hgt:192cm eyr:2027 + +hcl:7b10a2 ecl:lzr byr:2022 +eyr:2035 +pid:#38b715 hgt:190in iyr:2029 + +pid:188cm byr:2014 +cid:241 ecl:#dda9bd hcl:#8f6ebc +hgt:188cm iyr:2014 eyr:2029 + +hgt:76cm ecl:gmt hcl:z iyr:2024 +pid:3283057785 +byr:2019 eyr:2026 + +iyr:2010 pid:284327216 hgt:191cm +byr:1970 +hcl:#18171d +ecl:grn +eyr:2023 + +byr:1929 eyr:2026 cid:194 ecl:oth hgt:156cm pid:224596482 hcl:#b6652a iyr:2013 + +eyr:2030 byr:1958 hgt:190cm +pid:162950579 iyr:2010 +ecl:brn +cid:250 hcl:#fffffd + +ecl:xry iyr:2025 pid:#0155c1 +hcl:#341e13 +eyr:2027 hgt:163cm byr:2025 + +hcl:#602927 pid:908859481 byr:1962 ecl:hzl +iyr:2021 eyr:2028 hgt:180cm + +iyr:1966 eyr:1976 pid:#bbfe21 hcl:63454a cid:259 +ecl:blu +byr:2024 hgt:69cm + +ecl:#644daf +byr:2021 eyr:2040 +hcl:bc83fe +iyr:1976 hgt:59in pid:60311335 + +iyr:2018 +pid:121801570 hgt:182cm ecl:blu byr:1922 cid:265 eyr:2024 hcl:#888785 + +byr:1933 +pid:232653422 ecl:gry hcl:#18171d +hgt:171cm eyr:2035 iyr:2011 + +ecl:oth iyr:2015 byr:1937 +pid:828621370 hcl:#602927 +eyr:2026 +hgt:193cm + +iyr:2010 ecl:grn eyr:2022 +hcl:af37d1 pid:761632482 hgt:65in cid:93 +byr:1993 + +hgt:169cm cid:121 +iyr:2018 +hcl:#6b5442 +pid:059725560 ecl:oth +byr:1972 eyr:2028 + +eyr:2024 byr:2023 ecl:gry +iyr:2017 +pid:778551716 cid:256 hcl:#733820 hgt:184cm + +hcl:#ceb3a1 pid:613277258 byr:1941 hgt:67cm eyr:2029 +ecl:hzl +iyr:2017 + +ecl:hzl iyr:2012 pid:498418959 eyr:2022 +byr:1929 hgt:164cm hcl:#a97842 cid:226 + +hgt:157cm eyr:2029 +byr:1922 iyr:2014 ecl:grn cid:233 hcl:#888785 pid:802870003 + +hgt:184cm +ecl:oth hcl:#888785 iyr:2010 byr:1929 eyr:2030 +pid:063671905 + +hcl:#888785 hgt:144 eyr:1961 +iyr:2005 +byr:2027 +cid:164 pid:41787324 +ecl:utc + +hcl:#7d3b0c +pid:570743051 byr:2022 eyr:1975 +iyr:2018 ecl:utc hgt:188in + +eyr:2028 pid:970460968 +hgt:161cm +iyr:2017 ecl:amb +cid:318 byr:1967 hcl:#cfa07d + +hgt:183cm eyr:2036 hcl:070713 iyr:1959 +cid:242 byr:2011 pid:#0855a5 ecl:lzr + +hcl:#ceb3a1 eyr:2023 iyr:2016 +ecl:oth hgt:84 +pid:156cm byr:1949 + +eyr:2025 ecl:brn hgt:172cm pid:487559063 iyr:2013 +hcl:#efcc98 +byr:1985 + +eyr:2023 hcl:#6b5442 byr:2021 hgt:75cm iyr:1943 +pid:427375038 ecl:#70c167 + +ecl:hzl +eyr:2028 byr:1957 iyr:2010 +hcl:#602927 +hgt:151cm pid:755290924 + +cid:184 hgt:172cm +pid:7056500139 iyr:2016 byr:2016 +hcl:e40e08 ecl:#d21247 + +ecl:oth +eyr:2025 +iyr:2010 byr:1971 cid:128 pid:932834922 +hcl:#602927 +hgt:167cm + +ecl:brn hgt:61in iyr:2016 hcl:#341e13 +pid:918193693 byr:1972 eyr:2029 cid:56 + +byr:1956 iyr:2020 eyr:2030 hgt:72in +pid:179969841 +ecl:blu + +ecl:#09fd92 cid:209 hgt:69cm iyr:2014 +eyr:2028 pid:#2ad9c0 hcl:#b6652a +byr:2012 + +ecl:lzr byr:1980 cid:104 +iyr:1965 pid:57029893 hcl:z +eyr:2030 hgt:64cm + +pid:496149551 +hcl:#6b5442 hgt:181cm byr:1978 iyr:2017 +eyr:2026 +cid:291 ecl:hzl + +iyr:2018 hcl:#ceb3a1 +eyr:2021 cid:183 pid:612653062 +ecl:oth +byr:1982 + +hgt:153cm pid:877597531 ecl:gry +iyr:2014 hcl:#866857 cid:333 +byr:1953 +eyr:2022 + +iyr:2015 +ecl:brn +pid:823959694 byr:1998 hcl:#18171d +eyr:2025 hgt:174cm + +iyr:2012 cid:93 +ecl:oth pid:142618419 byr:1955 hgt:193cm eyr:1977 hcl:#602927 + +hcl:z ecl:dne iyr:1926 eyr:2026 pid:175cm hgt:150 byr:2023 cid:234 + +hgt:61cm iyr:1965 byr:1956 +pid:224946350 cid:105 +eyr:1951 hcl:#733820 ecl:amb + +hcl:#866857 +byr:1970 pid:447859408 +eyr:2030 +hgt:65in iyr:2011 ecl:grn + +cid:184 eyr:1976 byr:2021 hgt:187cm +pid:858786336 ecl:#0d63e1 hcl:z + +hgt:178cm iyr:1986 hcl:51ac0c ecl:dne eyr:2023 pid:180cm + +hcl:#cfa07d pid:002093179 +ecl:oth +byr:1983 hgt:159cm iyr:2016 eyr:2025 + +ecl:gry hcl:#c0946f +byr:2009 pid:#e00fc8 +hgt:62in cid:150 iyr:2013 eyr:1957 + +byr:1942 ecl:oth eyr:2020 pid:765036664 hcl:#6b5442 iyr:2015 cid:155 + +ecl:hzl iyr:2014 +hcl:#efcc98 hgt:179cm eyr:2028 +byr:1921 pid:#666905 + +ecl:utc eyr:2040 hcl:669f5b pid:981368190 +byr:2006 iyr:1949 +hgt:179in + +ecl:#062fcd eyr:2035 byr:1962 iyr:2026 hcl:z hgt:161cm pid:75591618 + +hcl:#b25ef5 pid:434943296 +ecl:oth hgt:165cm +iyr:2013 eyr:2020 +cid:78 byr:1924 + +iyr:2018 ecl:oth byr:1972 eyr:2028 pid:035313920 +hgt:59in hcl:#fffffd + +hgt:185cm +hcl:#6b5442 +cid:102 iyr:2020 byr:2001 +eyr:2028 pid:003365121 ecl:amb + +pid:90937712 hcl:z hgt:173in byr:2012 ecl:blu iyr:2009 eyr:2039 + +pid:509460932 eyr:2026 +hgt:71in iyr:2010 cid:138 byr:1929 ecl:grn + +ecl:xry +hgt:119 +pid:051834447 eyr:2033 +iyr:2030 hcl:z byr:2030 + +pid:443984745 eyr:2026 ecl:oth +byr:1948 hcl:#a97842 hgt:168cm +iyr:2017 + +hcl:#602927 iyr:2020 cid:161 pid:069708283 hgt:178cm byr:1960 +eyr:2022 ecl:hzl + +iyr:2026 hcl:766b30 eyr:2032 byr:2030 pid:40361792 hgt:158in ecl:#b300dc + +eyr:1998 pid:#5c21e4 iyr:2029 ecl:#bef182 +byr:1944 hgt:166in +hcl:#b6652a cid:317 + +ecl:amb +eyr:2024 +hcl:#a97842 +pid:086765271 hgt:183cm iyr:2018 cid:314 byr:2001 + +hgt:163in pid:491612094 iyr:2028 +cid:82 ecl:#8a052d +hcl:#ceb3a1 +eyr:2018 + +byr:1970 eyr:2039 +hgt:174in hcl:#623a2f +iyr:2020 cid:154 ecl:grn pid:103138652 + +pid:73895324 eyr:2026 byr:1952 ecl:brn hcl:#733820 hgt:159in iyr:2015 + +hcl:#623a2f ecl:brn eyr:2026 hgt:185cm pid:791563822 iyr:2019 byr:1951 + +hcl:#fffffd +iyr:2014 hgt:83 cid:101 pid:724483094 +eyr:1995 byr:2015 ecl:lzr + +hcl:#ceb3a1 +iyr:2013 +eyr:2021 byr:1994 ecl:hzl +pid:037849486 hgt:60in + +pid:63340670 iyr:1995 hcl:b54c2b hgt:71cm +cid:184 byr:2004 ecl:dne eyr:2026 + +hgt:169cm +ecl:brn byr:1947 iyr:2014 cid:224 hcl:#7374df + +hcl:#623a2f +pid:471948403 ecl:gry +hgt:154cm +eyr:2023 iyr:2016 byr:1925 + +eyr:2024 hgt:180cm hcl:#efcc98 iyr:2020 ecl:gry byr:1961 pid:318184801 + +ecl:blu iyr:2012 eyr:2020 hgt:190cm +byr:1977 +pid:331654452 hcl:#cfa07d + +pid:812502106 byr:1938 +eyr:2020 hgt:169cm ecl:oth hcl:#341e13 iyr:2011 + +cid:286 byr:1942 eyr:2034 hgt:116 +ecl:utc +iyr:2023 hcl:#602927 pid:181cm + +ecl:amb iyr:2011 hcl:#cfa07d eyr:2029 byr:1975 +hgt:183cm pid:548900689 + +ecl:utc pid:182cm +hgt:60cm +eyr:1989 iyr:1993 hcl:z + +iyr:1985 hgt:186 byr:2018 +eyr:2001 pid:9257131167 +hcl:261a65 ecl:lzr + +hgt:152 +byr:1922 pid:72992226 +iyr:1968 +ecl:dne eyr:2028 hcl:5c2950 + +ecl:grn +byr:1943 hgt:74in eyr:2022 +pid:135491924 +iyr:2011 hcl:#623a2f + +iyr:2026 pid:7955389103 +cid:311 +ecl:#b81171 hcl:z eyr:1935 byr:2024 + +byr:1974 iyr:2010 hgt:165cm +ecl:amb cid:343 eyr:2023 +pid:972786259 hcl:#6b5442 + +iyr:2020 byr:1936 +ecl:gry hcl:#efcc98 hgt:170cm eyr:2021 pid:520354073 + +hgt:185cm hcl:#ceb3a1 +pid:317012754 byr:1991 +cid:199 iyr:2011 +ecl:blu eyr:2028 + +ecl:#e4e01f byr:2008 +cid:293 iyr:2013 hcl:z pid:#368f7a eyr:2036 + +eyr:2022 pid:424388475 iyr:2008 hcl:z hgt:61cm +ecl:zzz byr:1985 + +hcl:#18171d iyr:2014 +cid:88 +byr:1951 eyr:2021 pid:812441789 hgt:181cm ecl:blu + +ecl:amb eyr:2029 hgt:70in pid:580245172 +iyr:2010 byr:1927 +hcl:#a97842 +cid:284 + +hcl:#3b85ed +ecl:gry eyr:2029 pid:417534919 byr:1960 +iyr:2010 hgt:71in + +hcl:#c0946f +pid:824103775 hgt:157cm iyr:2018 ecl:brn eyr:2024 byr:1961 + +pid:673501373 +eyr:2033 +ecl:#06523f hcl:z byr:2030 iyr:1978 hgt:153cm + +iyr:2019 +hcl:#a97842 byr:1951 hgt:183cm eyr:2024 ecl:blu +pid:346079429 + +eyr:1937 pid:964649406 +hgt:162 +cid:66 +ecl:#f89cc0 +hcl:#866857 byr:2024 + +hgt:114 ecl:#e7ed3a +byr:2029 cid:190 +eyr:2026 iyr:1986 hcl:z pid:185cm + +hcl:#cfa07d hgt:192cm +pid:12494711 eyr:2028 +iyr:2020 +ecl:brn byr:2004 + +pid:710015269 +byr:2011 eyr:2033 hgt:181cm +ecl:#fb2702 + +cid:259 pid:208799387 +eyr:2025 hcl:#623a2f byr:1947 ecl:oth hgt:164cm iyr:2014 + +ecl:brn eyr:2025 pid:432178809 hcl:#341e13 +cid:50 +hgt:192cm iyr:2012 +byr:1994 + +hgt:150in pid:4902585462 ecl:#7074ad cid:230 iyr:2019 eyr:1931 hcl:z byr:2007 + +ecl:gry +byr:1942 +hcl:#602927 cid:178 iyr:2014 hgt:193cm pid:349100081 eyr:2030 + +byr:1923 hcl:#cfa07d eyr:2021 ecl:brn pid:591544598 hgt:157cm +iyr:2016 + +hcl:e15737 +iyr:2017 byr:2030 +eyr:1994 pid:470833249 +hgt:181cm cid:70 ecl:grn + +eyr:2030 +hcl:#866857 pid:569423049 byr:1948 +ecl:oth + +eyr:2026 +byr:2006 +hcl:#ceb3a1 +iyr:2010 pid:094156115 hgt:64cm ecl:oth + +byr:2002 cid:215 ecl:hzl +hcl:#602927 iyr:2015 pid:53150410 hgt:168cm eyr:2028 + +iyr:2016 hcl:#7d3b0c hgt:162cm +byr:1937 eyr:2020 ecl:hzl pid:728906226 + +byr:1921 +iyr:2018 hcl:#888785 +eyr:2026 hgt:185cm pid:164432370 ecl:brn + +ecl:gry iyr:2011 +eyr:2026 hgt:190cm +hcl:#866857 pid:884570088 byr:1996 + +ecl:blu +cid:257 +iyr:2016 byr:1989 +eyr:2024 hgt:179cm hcl:#c0946f pid:418340261 + +pid:9367990743 hcl:z hgt:182in ecl:utc +byr:1988 eyr:2025 + +ecl:hzl hgt:157cm +iyr:2010 eyr:2027 +hcl:#fffffd byr:1956 + +eyr:2024 pid:834302242 ecl:hzl +iyr:2015 cid:97 hgt:188cm hcl:#888785 byr:1927 + +ecl:brn eyr:2021 byr:1958 +hcl:#a97842 hgt:170cm pid:256795932 iyr:2017 + +hcl:756c4a +pid:812879747 +byr:2002 +eyr:2027 ecl:blu iyr:1952 hgt:66cm + +pid:#c5e14f +iyr:2026 byr:2028 hgt:162 hcl:87ba57 +eyr:1952 ecl:lzr + +hcl:#341e13 hgt:81 eyr:2021 iyr:2029 cid:262 ecl:amb pid:61006868 +byr:2011 + +pid:#e58702 cid:145 hcl:#866857 +ecl:grn iyr:2028 hgt:192in eyr:2025 byr:2017 + +iyr:2026 byr:1969 +ecl:grn +hgt:70cm cid:140 hcl:e0f231 eyr:2027 +pid:2832019 + +cid:112 eyr:2028 iyr:2018 hcl:#7d3b0c pid:868808117 byr:1985 ecl:blu + +iyr:2017 +pid:350399038 +cid:72 hcl:#ceb3a1 +ecl:gry +hgt:151cm byr:1946 eyr:2029 + +eyr:2026 hgt:174cm iyr:2010 pid:534641153 hcl:#733820 byr:1965 + +hgt:66cm +byr:2010 ecl:gmt eyr:2039 +iyr:2024 hcl:z + +pid:626085326 +byr:1971 eyr:2024 +hcl:#cfa07d hgt:170cm +ecl:hzl iyr:2019 + +hgt:185cm pid:995661846 ecl:hzl iyr:2016 byr:1963 hcl:#a97842 eyr:2023 + +ecl:grt iyr:1976 byr:2010 +pid:170cm +cid:343 hcl:#7d3b0c hgt:171cm + +pid:732695396 +ecl:zzz hgt:151in byr:1955 +eyr:2035 iyr:2026 hcl:z + +hgt:187cm hcl:#341e13 iyr:2015 pid:556697270 eyr:2025 ecl:blu byr:1926 + +ecl:oth +pid:515980529 +hgt:168cm eyr:2023 +byr:1983 iyr:2012 hcl:#341e13 + +byr:2010 +hgt:189cm iyr:2016 +hcl:#8ff71e +eyr:2010 +ecl:blu +pid:317940449 + +iyr:2013 hgt:157cm hcl:#a97842 pid:967988435 +ecl:blu cid:214 eyr:2027 byr:1960 + +pid:2666548509 cid:208 hgt:72cm hcl:#7d3b0c eyr:2040 byr:2008 +ecl:amb +iyr:1926 + +eyr:2039 +pid:203432895 hgt:154cm byr:1949 +iyr:2010 +hcl:z cid:144 ecl:xry + +pid:984689798 byr:2016 iyr:1999 ecl:utc +eyr:2037 hgt:68cm hcl:z + +byr:1969 cid:230 hgt:72cm eyr:2032 +ecl:gry pid:849701444 +hcl:#c0946f +iyr:2012 + +eyr:2026 +pid:588870142 +hcl:#ae5619 hgt:173cm +cid:189 +ecl:grn byr:1996 iyr:2013 + +byr:1973 +hcl:#cfa07d ecl:blu +hgt:193cm eyr:2028 cid:115 pid:786380485 iyr:2011 + +hcl:#fffffd eyr:2028 hgt:155cm pid:499022582 +ecl:blu byr:1977 iyr:2014 +cid:212 + +ecl:#92bb4b +pid:815154669 byr:1923 eyr:2023 +hgt:183cm iyr:1929 hcl:#ceb3a1 + +byr:1966 eyr:2021 iyr:2020 hcl:#6b5442 ecl:hzl +pid:3508035599 +hgt:70in + +ecl:amb +hcl:#18171d +byr:1927 +hgt:177cm pid:555764540 iyr:2018 eyr:2025 cid:90 + +hgt:139 ecl:#878a7d byr:2006 cid:275 iyr:1980 hcl:60fca6 eyr:1952 pid:001439727 + +byr:1985 +hgt:174cm ecl:gry +iyr:2018 +cid:204 hcl:#733820 +pid:141048398 eyr:2027 + +ecl:gmt hcl:#6b5442 hgt:158cm +iyr:2025 +byr:2030 pid:966397365 eyr:2029 + +byr:1962 hgt:166cm pid:261989937 cid:320 eyr:2026 +iyr:2015 hcl:#c0946f +ecl:hzl + +pid:852283506 iyr:2018 eyr:2020 byr:1981 hcl:#733820 +ecl:hzl +hgt:162cm + +pid:3873488100 iyr:1982 ecl:grn +hgt:63cm eyr:1936 +byr:2011 hcl:8d118a + +iyr:1937 +hcl:817646 +byr:2026 eyr:2031 pid:#47591d hgt:183in +ecl:blu + +eyr:2025 hgt:153cm iyr:2015 pid:498382864 +cid:307 +byr:1943 +hcl:#f66fe1 ecl:oth + +iyr:2017 hgt:66in byr:1948 hcl:#b6652a eyr:2025 +pid:188366364 +ecl:amb + +ecl:lzr +pid:453174702 iyr:2028 eyr:2032 cid:228 byr:2011 hcl:z +hgt:172cm + +hgt:186cm eyr:2030 cid:316 hcl:z byr:1994 +iyr:2012 ecl:amb pid:993162839 + +hgt:160cm +ecl:grn pid:523473760 byr:1993 +iyr:2016 eyr:2025 hcl:#602927 cid:261 + +iyr:2016 pid:520973843 ecl:gry +eyr:2023 cid:232 +byr:1944 hgt:159cm hcl:#cfa07d + +byr:1969 hcl:#1d37de hgt:184cm eyr:2027 pid:088048141 +iyr:2016 cid:307 ecl:hzl + +eyr:2040 iyr:2012 pid:723592140 +hgt:61cm hcl:#18171d ecl:dne + +eyr:2025 +ecl:oth pid:4697392468 +hgt:183cm iyr:2017 hcl:b07d71 +byr:1996 + +ecl:amb eyr:2022 cid:143 pid:806594272 hgt:158cm byr:1977 iyr:2014 +hcl:#866857 + +ecl:blu +eyr:2022 iyr:2018 byr:1983 hgt:167cm cid:321 hcl:#efcc98 +pid:344179526 + +byr:1925 eyr:2021 +hgt:193cm iyr:2020 ecl:grn +hcl:#888785 + +iyr:2018 +cid:319 byr:1972 hgt:181cm hcl:#fffffd eyr:2023 pid:493780616 + +eyr:2021 +hcl:#733820 +ecl:#e91c71 +iyr:2020 pid:451676066 hgt:166in +byr:1993 + +eyr:2026 +hcl:#b6652a ecl:blu byr:1999 iyr:2020 +hgt:163cm pid:955741810 + +iyr:2016 hgt:179cm hcl:#602927 +pid:673271332 byr:1963 eyr:2027 ecl:amb + +byr:1927 +iyr:2015 hcl:#866857 +ecl:oth +hgt:159cm +pid:992992996 eyr:2030 + +pid:283188332 hgt:168cm hcl:#6b5442 +eyr:2027 byr:2028 ecl:hzl iyr:2030 + +byr:1944 pid:628012522 eyr:2020 +hcl:#866857 +iyr:2019 ecl:amb +hgt:168cm + +cid:317 pid:333228098 hgt:158cm iyr:2014 byr:1958 eyr:2024 hcl:#a97842 ecl:oth + +hcl:#733820 +cid:314 ecl:oth byr:1938 eyr:2030 hgt:71in +pid:790938694 iyr:2014 + +iyr:2020 ecl:grt eyr:2018 +hgt:155cm +pid:1034925815 hcl:#623a2f cid:304 + +ecl:brn hgt:158cm hcl:#38fe6c eyr:2030 byr:1926 pid:0860404500 iyr:1993 cid:348 + +byr:1998 +hgt:185cm +ecl:brn eyr:2021 pid:567032567 hcl:#733820 cid:328 iyr:2017 + +pid:491430863 cid:146 hgt:181cm eyr:2026 iyr:2015 ecl:amb byr:1950 hcl:#c0946f + +eyr:2033 cid:289 +pid:396679011 ecl:oth byr:1988 +hgt:156in +hcl:#cfa07d iyr:2029 + +ecl:grn iyr:2015 +byr:1986 hcl:#a97842 hgt:62in +pid:403990108 eyr:2030 + +pid:42635067 cid:301 +iyr:2027 hgt:173in +byr:2004 hcl:z +eyr:2034 + +byr:2020 hcl:#fffffd +hgt:180in eyr:2040 pid:304951921 +iyr:2030 ecl:#1aaf20 + +iyr:2020 hcl:#888785 ecl:hzl hgt:181cm byr:1992 eyr:2021 pid:936006959 + +hgt:172in ecl:#fd71a7 +hcl:787715 pid:363058480 byr:2020 +iyr:2022 +eyr:2034 + +iyr:2018 ecl:blu eyr:2029 hcl:#cfa07d hgt:155cm byr:1937 pid:851148031 + +byr:2014 +cid:222 ecl:zzz hgt:67cm eyr:2040 pid:#8ab0e2 hcl:z iyr:2027 + +hgt:180cm hcl:#375883 eyr:2027 byr:1925 ecl:brn +iyr:2011 +pid:158752719 + +byr:1935 ecl:oth eyr:2027 pid:041108579 +hcl:#602927 iyr:2011 hgt:190cm + +hcl:#a97842 pid:131728607 ecl:blu iyr:2014 hgt:176cm eyr:2020 +byr:1921 + +pid:11754457 +iyr:2018 +hgt:65cm eyr:2038 +ecl:dne hcl:z +cid:293 +byr:1940 + +eyr:2023 +iyr:2016 +byr:1930 +ecl:hzl +cid:212 +hcl:#733820 hgt:59in +pid:319501919 + +cid:278 +eyr:1967 hcl:#ceb3a1 pid:#9f5254 hgt:177in byr:1977 iyr:2030 + +hcl:#ceb3a1 byr:1998 hgt:72in cid:202 ecl:gry pid:463378493 iyr:2015 +eyr:2030 + +hcl:#7d3b0c hgt:164cm ecl:hzl byr:1960 eyr:2023 +iyr:2017 + +ecl:hzl hcl:#866857 byr:1986 iyr:2018 eyr:2027 hgt:176cm pid:928057092 + +pid:431113230 hgt:186cm eyr:2025 +iyr:2018 ecl:amb byr:1973 hcl:#623a2f + +hcl:#cfa07d hgt:179cm iyr:2017 pid:760075190 ecl:amb eyr:2030 + +hcl:#602927 +iyr:2012 +pid:571020910 ecl:#b6715d byr:1943 eyr:2028 +hgt:161cm + +hgt:176cm cid:121 pid:654127593 ecl:brn hcl:#160d38 iyr:2015 +eyr:2021 byr:1997 + +eyr:2021 byr:1929 +pid:192025713 +hcl:#c0946f iyr:2012 ecl:oth hgt:179cm + +eyr:2024 ecl:gry +hgt:158cm byr:1932 hcl:#ceb3a1 +iyr:2010 +pid:521188306 + +eyr:2028 ecl:brn +hcl:#efcc98 +hgt:157cm +iyr:2012 +pid:212547203 byr:1970 + +eyr:2029 pid:182693366 hcl:#623a2f hgt:130 byr:1972 +cid:310 +iyr:2010 ecl:amb + +byr:1944 iyr:2013 +ecl:brn cid:335 +hgt:163cm +eyr:2025 hcl:#7d3b0c pid:405230824 + +hcl:#ceb3a1 iyr:2015 pid:572001387 byr:1962 +ecl:amb hgt:151cm + +byr:1928 +eyr:2022 +iyr:2018 ecl:blu +hcl:#602927 pid:767081131 + +byr:1948 hgt:180in pid:188cm +ecl:hzl +eyr:2013 hcl:e0b9f3 iyr:1975 + +hcl:#c0946f byr:1989 +eyr:1980 hgt:67cm pid:538025041 +iyr:2014 ecl:gry + +eyr:2028 pid:958756919 hcl:#733820 byr:1945 cid:158 ecl:blu +hgt:168cm iyr:2018 + +cid:200 hcl:#fffffd +byr:2015 ecl:gry eyr:2031 hgt:59 pid:065027646 +iyr:1967 + +byr:1999 ecl:hzl pid:813536928 iyr:2015 cid:296 hcl:#6b5442 +eyr:2025 hgt:186cm + +byr:2000 iyr:2012 +hcl:#fffffd +cid:263 hgt:68in pid:105489529 +ecl:amb eyr:2024 + +eyr:2026 hcl:#602927 hgt:181cm +byr:1982 +pid:603871531 iyr:2018 ecl:blu + +cid:302 pid:387895477 eyr:2027 +hcl:#cfa07d hgt:191cm iyr:2015 +ecl:hzl byr:1940 + +iyr:2018 cid:165 +ecl:blu hgt:181cm byr:1994 eyr:2026 pid:077013268 + +eyr:2022 hgt:174in iyr:2010 byr:2023 +hcl:#733820 ecl:oth +pid:311692961 + +ecl:#10f2a9 pid:964417986 +eyr:2024 hcl:#0aeec7 byr:1965 iyr:1943 hgt:167cm + +hcl:#341e13 iyr:2020 +ecl:brn +hgt:188cm eyr:2021 byr:1952 +pid:077471062 + +byr:1950 cid:110 hgt:160cm eyr:2026 +hcl:#623a2f +iyr:2013 +pid:972823574 + +pid:553704996 hgt:171cm +eyr:2028 iyr:2017 +hcl:#18171d byr:1954 ecl:blu + +hgt:180cm ecl:brn eyr:2029 pid:707999496 hcl:#cfa07d byr:1960 + +pid:9325738036 iyr:1996 hgt:152in byr:2004 cid:292 hcl:14a56f +eyr:2031 +ecl:#dbd99d + +byr:1957 +eyr:2021 pid:557648216 ecl:amb hcl:#7d3b0c hgt:186cm +iyr:2020 + +hcl:#602927 hgt:186cm pid:604175608 +iyr:2013 eyr:2026 ecl:oth byr:1991 cid:65 + +ecl:gry +iyr:2012 hgt:154cm +pid:872898058 eyr:2030 hcl:#341e13 byr:1994 + +pid:228236326 +iyr:2013 cid:347 byr:1942 +eyr:2021 ecl:brn +hgt:165cm +hcl:#fffffd + +pid:392777182 cid:189 hcl:#cfa07d eyr:2027 hgt:191cm ecl:blu byr:1978 + +hgt:158in iyr:2028 +pid:5145408095 byr:2012 ecl:#94c57d hcl:z eyr:1996 + +byr:1949 eyr:2021 +ecl:#5ffbeb iyr:1948 pid:42650064 hcl:z hgt:167cm + +iyr:2013 ecl:xry cid:100 +hgt:138 byr:2013 +eyr:1944 hcl:92b68c + +hgt:187cm +ecl:grn hcl:#602927 +iyr:2010 +eyr:2022 byr:1949 cid:280 pid:251802347 + +ecl:grn +cid:219 +iyr:2018 hgt:165cm +pid:703878503 eyr:2024 hcl:#b6652a +byr:2002 + +hcl:#18171d cid:341 ecl:amb byr:1941 eyr:2021 iyr:1990 pid:865132177 hgt:153cm + +byr:2008 pid:861480549 +cid:97 eyr:2028 hcl:#efcc98 +iyr:2015 +hgt:191cm ecl:#232b23 + +hcl:#cfa07d +eyr:2030 iyr:2013 cid:304 +ecl:gry pid:199056608 hgt:192cm +byr:1926 + +pid:355135528 hgt:153cm byr:1998 iyr:2019 eyr:2027 +ecl:amb hcl:#18171d + +eyr:2028 hcl:8eed9c ecl:grn +iyr:2010 byr:2005 hgt:107 +pid:64892698 + +pid:601671623 hgt:153cm iyr:2011 hcl:#b6652a byr:1975 ecl:grn eyr:2029 + +ecl:grn hcl:#18171d hgt:157cm +eyr:2023 pid:507932715 byr:1920 iyr:2020 + +eyr:2022 byr:1933 hcl:#fffffd iyr:2016 hgt:181cm pid:826522507 ecl:blu + +byr:2002 hcl:#866857 hgt:177cm pid:240202426 +ecl:gry cid:127 +eyr:2022 +iyr:2014 + +byr:1971 +iyr:2017 +pid:733985576 hcl:#c58c6c hgt:178cm +ecl:blu +eyr:2023 + +ecl:blu iyr:2017 pid:558732458 hcl:#1b3ab5 eyr:2025 byr:1967 hgt:176cm + +eyr:2025 ecl:gry iyr:2020 byr:1988 +hcl:#733820 +hgt:189cm cid:151 pid:934827751 + +ecl:gry eyr:1951 +iyr:1932 +pid:309366394 byr:1945 hcl:#623a2f hgt:179cm + +pid:462345884 ecl:hzl +cid:206 eyr:2021 hcl:#733820 +byr:1982 hgt:180cm iyr:2010 + +iyr:2020 hgt:155cm hcl:#341e13 pid:110467532 cid:92 ecl:hzl byr:1975 eyr:2028 + +hcl:#18171d iyr:2010 +hgt:182cm byr:1930 +eyr:2024 +cid:226 + +byr:1956 hcl:fb0c6f pid:181cm eyr:2012 iyr:2020 +ecl:#d38822 +hgt:69cm + +ecl:gry iyr:2018 +hgt:169cm byr:1981 +pid:534824014 cid:287 eyr:2021 hcl:#c0946f + +eyr:2039 hcl:#328e90 iyr:2015 +hgt:170cm pid:#9fa2a4 byr:1999 +ecl:#cd1fd7 + +hgt:190cm hcl:#733820 +pid:302244363 +ecl:brn +byr:1965 iyr:2013 + +iyr:2012 +eyr:2021 +pid:579705743 +ecl:brn hgt:190in +byr:1954 hcl:#888785 + +eyr:2036 hgt:154cm +pid:800720865 byr:2023 ecl:oth iyr:2010 hcl:z + +pid:#92f6a9 iyr:2028 eyr:1943 +hgt:191cm ecl:hzl hcl:z byr:2018 + +hcl:#c0946f +pid:419930442 hgt:167cm +byr:1969 +eyr:2020 ecl:brn + +pid:137802946 +eyr:2020 byr:1947 ecl:grn hgt:192cm iyr:2016 hcl:#888785 + +ecl:#f66cce eyr:1958 iyr:1954 +pid:833131572 +hcl:z +cid:212 +hgt:109 byr:1924 + +hgt:179cm ecl:gry pid:065881341 byr:1985 +hcl:#fffffd cid:204 eyr:2026 + +hgt:167cm +iyr:2017 pid:898571403 byr:1929 +ecl:blu hcl:#d506d0 eyr:2028 cid:100 + +byr:1991 pid:2795214253 iyr:2011 +cid:152 eyr:2028 +hgt:170cm hcl:#a45065 ecl:lzr + +hgt:188cm eyr:2030 iyr:2010 +pid:297292695 byr:1955 hcl:#fffffd +ecl:blu + +hgt:170cm eyr:2029 pid:913242036 byr:1993 cid:89 hcl:#888785 +iyr:2010 +ecl:blu + +iyr:2028 eyr:2025 hgt:150in ecl:grn +byr:1995 +pid:974802728 +hcl:#cfa07d + +eyr:2021 byr:1989 +hcl:#18171d ecl:blu hgt:168cm +pid:626530259 +iyr:2020 + +hcl:#6b5442 hgt:158cm pid:798732187 byr:1922 eyr:2020 iyr:2011 ecl:gry + +hcl:#341e13 pid:092679330 byr:1997 ecl:oth hgt:159cm iyr:2010 eyr:2026 + +hgt:185cm +iyr:2020 byr:1947 +pid:105846744 ecl:gry cid:134 eyr:2027 + +pid:252016128 hcl:9016ff cid:158 hgt:161 ecl:gry +byr:1952 eyr:1955 iyr:2018 + +iyr:2020 hgt:154in byr:1958 +eyr:2029 ecl:#2feb89 pid:99780178 + +hcl:z +eyr:2001 ecl:gmt +byr:2022 hgt:73in iyr:2029 +pid:388744230 + +hgt:186cm +byr:1939 pid:622948608 ecl:oth eyr:2030 +hcl:#c0946f + +cid:272 +eyr:2025 byr:1979 ecl:brn hgt:180cm pid:456545466 +hcl:#fffffd iyr:2012 + +pid:946657041 byr:1999 +iyr:2014 hcl:#ceb3a1 hgt:150cm +ecl:grn + +byr:1957 pid:177cm ecl:blu eyr:2020 hcl:#cfa07d +iyr:2010 hgt:183cm + +pid:161cm eyr:2025 hcl:#b6652a +cid:213 +ecl:xry +hgt:150cm +iyr:2024 byr:2012 + +hcl:ea1960 +ecl:grn +pid:#7127b2 iyr:2012 eyr:2011 hgt:150 + +pid:178699291 +hgt:66in eyr:2027 +byr:1985 iyr:2014 ecl:amb + +iyr:2017 ecl:blu +eyr:2027 hgt:191cm byr:1990 hcl:#b6652a pid:074411798 + +pid:528782860 +hgt:181cm hcl:#c0946f byr:1965 iyr:2012 ecl:grn eyr:2020 + +pid:#ba10da hgt:176in byr:2006 +ecl:grt +iyr:2030 eyr:1949 hcl:d3ca76 + +hgt:66cm ecl:#898478 hcl:#e9f7a5 eyr:2030 iyr:2022 +byr:2025 +pid:159cm + +byr:1994 hcl:#ceb3a1 +pid:028071950 eyr:2022 ecl:gmt hgt:151in iyr:2016 + +byr:2001 iyr:2011 +ecl:brn +pid:487702556 hcl:#602927 +hgt:167cm eyr:2026 diff --git a/Day 4/One/main.py b/Day 4/One/main.py new file mode 100755 index 0000000..4341eb6 --- /dev/null +++ b/Day 4/One/main.py @@ -0,0 +1,25 @@ +#!/bin/python + +def print_passport(data): + print(f"byr: {data['byr']}, iyr: {data['iyr']}, eyr: {data['eyr']}, hgt: {data['hgt']}, hcl: {data['hcl']}, ecl: {data['ecl']}, pid: {data['pid']}") + +with open("input", 'r') as input: + passport_data = {} + required_field_count = 7 + valid = 0 + for line in input: + if line == "\n": + if len(passport_data) == required_field_count: + valid += 1 + passport_data = {} + else: + parts = line.strip().split(" ") + for part in parts: + part = part.split(":") + if not part[0] == "cid": + passport_data[part[0]] = part[1] + + if len(passport_data) == required_field_count: + valid += 1 + + print(f"Valid: {valid}") diff --git a/Day 4/Two/input b/Day 4/Two/input new file mode 100644 index 0000000..cf0f89d --- /dev/null +++ b/Day 4/Two/input @@ -0,0 +1,1133 @@ +eyr:2029 pid:157374862 +byr:1991 ecl:amb hcl:#a97842 hgt:178cm + +byr:1962 pid:547578491 eyr:2028 ecl:hzl hgt:65in iyr:2013 hcl:#623a2f + +hgt:71in eyr:2037 +ecl:#8e276e hcl:z iyr:2019 +byr:2022 pid:157cm + +hcl:#733820 hgt:175 eyr:2028 iyr:2011 +pid:87786389 +ecl:hzl byr:1980 + +hgt:163in hcl:z pid:8261494508 cid:136 ecl:grn eyr:1958 +byr:2030 iyr:1991 + +iyr:2021 +hcl:6708a3 +ecl:zzz eyr:2034 byr:2010 +hgt:189cm +pid:466438311 + +iyr:2012 pid:9720867166 byr:2006 eyr:2022 hgt:72cm ecl:utc hcl:#c0946f + +ecl:#353bc9 +iyr:2020 pid:874363951 cid:113 +hcl:z eyr:2040 hgt:76in byr:1975 + +eyr:1971 +byr:1955 pid:193cm hgt:189cm hcl:#ceb3a1 ecl:grn +iyr:2023 + +byr:2014 +iyr:2026 eyr:1978 hcl:z cid:312 pid:8294818417 +hgt:169in ecl:#82bb02 + +ecl:amb +byr:1936 hcl:#7d3b0c pid:429853734 +cid:342 iyr:2010 eyr:2025 hgt:160cm + +byr:2025 hgt:176in hcl:a490ac +ecl:#956d3f iyr:2027 +eyr:2021 pid:9858101884 + +hgt:142 pid:175cm +eyr:1952 byr:2004 iyr:2007 ecl:#da035e hcl:#623a2f +cid:194 + +hgt:156cm +pid:349122810 hcl:#b6652a eyr:2026 byr:1948 ecl:lzr iyr:2020 + +byr:1997 ecl:blu +hcl:#888785 pid:381094641 iyr:2014 hgt:192cm eyr:2027 + +hcl:7b10a2 ecl:lzr byr:2022 +eyr:2035 +pid:#38b715 hgt:190in iyr:2029 + +pid:188cm byr:2014 +cid:241 ecl:#dda9bd hcl:#8f6ebc +hgt:188cm iyr:2014 eyr:2029 + +hgt:76cm ecl:gmt hcl:z iyr:2024 +pid:3283057785 +byr:2019 eyr:2026 + +iyr:2010 pid:284327216 hgt:191cm +byr:1970 +hcl:#18171d +ecl:grn +eyr:2023 + +byr:1929 eyr:2026 cid:194 ecl:oth hgt:156cm pid:224596482 hcl:#b6652a iyr:2013 + +eyr:2030 byr:1958 hgt:190cm +pid:162950579 iyr:2010 +ecl:brn +cid:250 hcl:#fffffd + +ecl:xry iyr:2025 pid:#0155c1 +hcl:#341e13 +eyr:2027 hgt:163cm byr:2025 + +hcl:#602927 pid:908859481 byr:1962 ecl:hzl +iyr:2021 eyr:2028 hgt:180cm + +iyr:1966 eyr:1976 pid:#bbfe21 hcl:63454a cid:259 +ecl:blu +byr:2024 hgt:69cm + +ecl:#644daf +byr:2021 eyr:2040 +hcl:bc83fe +iyr:1976 hgt:59in pid:60311335 + +iyr:2018 +pid:121801570 hgt:182cm ecl:blu byr:1922 cid:265 eyr:2024 hcl:#888785 + +byr:1933 +pid:232653422 ecl:gry hcl:#18171d +hgt:171cm eyr:2035 iyr:2011 + +ecl:oth iyr:2015 byr:1937 +pid:828621370 hcl:#602927 +eyr:2026 +hgt:193cm + +iyr:2010 ecl:grn eyr:2022 +hcl:af37d1 pid:761632482 hgt:65in cid:93 +byr:1993 + +hgt:169cm cid:121 +iyr:2018 +hcl:#6b5442 +pid:059725560 ecl:oth +byr:1972 eyr:2028 + +eyr:2024 byr:2023 ecl:gry +iyr:2017 +pid:778551716 cid:256 hcl:#733820 hgt:184cm + +hcl:#ceb3a1 pid:613277258 byr:1941 hgt:67cm eyr:2029 +ecl:hzl +iyr:2017 + +ecl:hzl iyr:2012 pid:498418959 eyr:2022 +byr:1929 hgt:164cm hcl:#a97842 cid:226 + +hgt:157cm eyr:2029 +byr:1922 iyr:2014 ecl:grn cid:233 hcl:#888785 pid:802870003 + +hgt:184cm +ecl:oth hcl:#888785 iyr:2010 byr:1929 eyr:2030 +pid:063671905 + +hcl:#888785 hgt:144 eyr:1961 +iyr:2005 +byr:2027 +cid:164 pid:41787324 +ecl:utc + +hcl:#7d3b0c +pid:570743051 byr:2022 eyr:1975 +iyr:2018 ecl:utc hgt:188in + +eyr:2028 pid:970460968 +hgt:161cm +iyr:2017 ecl:amb +cid:318 byr:1967 hcl:#cfa07d + +hgt:183cm eyr:2036 hcl:070713 iyr:1959 +cid:242 byr:2011 pid:#0855a5 ecl:lzr + +hcl:#ceb3a1 eyr:2023 iyr:2016 +ecl:oth hgt:84 +pid:156cm byr:1949 + +eyr:2025 ecl:brn hgt:172cm pid:487559063 iyr:2013 +hcl:#efcc98 +byr:1985 + +eyr:2023 hcl:#6b5442 byr:2021 hgt:75cm iyr:1943 +pid:427375038 ecl:#70c167 + +ecl:hzl +eyr:2028 byr:1957 iyr:2010 +hcl:#602927 +hgt:151cm pid:755290924 + +cid:184 hgt:172cm +pid:7056500139 iyr:2016 byr:2016 +hcl:e40e08 ecl:#d21247 + +ecl:oth +eyr:2025 +iyr:2010 byr:1971 cid:128 pid:932834922 +hcl:#602927 +hgt:167cm + +ecl:brn hgt:61in iyr:2016 hcl:#341e13 +pid:918193693 byr:1972 eyr:2029 cid:56 + +byr:1956 iyr:2020 eyr:2030 hgt:72in +pid:179969841 +ecl:blu + +ecl:#09fd92 cid:209 hgt:69cm iyr:2014 +eyr:2028 pid:#2ad9c0 hcl:#b6652a +byr:2012 + +ecl:lzr byr:1980 cid:104 +iyr:1965 pid:57029893 hcl:z +eyr:2030 hgt:64cm + +pid:496149551 +hcl:#6b5442 hgt:181cm byr:1978 iyr:2017 +eyr:2026 +cid:291 ecl:hzl + +iyr:2018 hcl:#ceb3a1 +eyr:2021 cid:183 pid:612653062 +ecl:oth +byr:1982 + +hgt:153cm pid:877597531 ecl:gry +iyr:2014 hcl:#866857 cid:333 +byr:1953 +eyr:2022 + +iyr:2015 +ecl:brn +pid:823959694 byr:1998 hcl:#18171d +eyr:2025 hgt:174cm + +iyr:2012 cid:93 +ecl:oth pid:142618419 byr:1955 hgt:193cm eyr:1977 hcl:#602927 + +hcl:z ecl:dne iyr:1926 eyr:2026 pid:175cm hgt:150 byr:2023 cid:234 + +hgt:61cm iyr:1965 byr:1956 +pid:224946350 cid:105 +eyr:1951 hcl:#733820 ecl:amb + +hcl:#866857 +byr:1970 pid:447859408 +eyr:2030 +hgt:65in iyr:2011 ecl:grn + +cid:184 eyr:1976 byr:2021 hgt:187cm +pid:858786336 ecl:#0d63e1 hcl:z + +hgt:178cm iyr:1986 hcl:51ac0c ecl:dne eyr:2023 pid:180cm + +hcl:#cfa07d pid:002093179 +ecl:oth +byr:1983 hgt:159cm iyr:2016 eyr:2025 + +ecl:gry hcl:#c0946f +byr:2009 pid:#e00fc8 +hgt:62in cid:150 iyr:2013 eyr:1957 + +byr:1942 ecl:oth eyr:2020 pid:765036664 hcl:#6b5442 iyr:2015 cid:155 + +ecl:hzl iyr:2014 +hcl:#efcc98 hgt:179cm eyr:2028 +byr:1921 pid:#666905 + +ecl:utc eyr:2040 hcl:669f5b pid:981368190 +byr:2006 iyr:1949 +hgt:179in + +ecl:#062fcd eyr:2035 byr:1962 iyr:2026 hcl:z hgt:161cm pid:75591618 + +hcl:#b25ef5 pid:434943296 +ecl:oth hgt:165cm +iyr:2013 eyr:2020 +cid:78 byr:1924 + +iyr:2018 ecl:oth byr:1972 eyr:2028 pid:035313920 +hgt:59in hcl:#fffffd + +hgt:185cm +hcl:#6b5442 +cid:102 iyr:2020 byr:2001 +eyr:2028 pid:003365121 ecl:amb + +pid:90937712 hcl:z hgt:173in byr:2012 ecl:blu iyr:2009 eyr:2039 + +pid:509460932 eyr:2026 +hgt:71in iyr:2010 cid:138 byr:1929 ecl:grn + +ecl:xry +hgt:119 +pid:051834447 eyr:2033 +iyr:2030 hcl:z byr:2030 + +pid:443984745 eyr:2026 ecl:oth +byr:1948 hcl:#a97842 hgt:168cm +iyr:2017 + +hcl:#602927 iyr:2020 cid:161 pid:069708283 hgt:178cm byr:1960 +eyr:2022 ecl:hzl + +iyr:2026 hcl:766b30 eyr:2032 byr:2030 pid:40361792 hgt:158in ecl:#b300dc + +eyr:1998 pid:#5c21e4 iyr:2029 ecl:#bef182 +byr:1944 hgt:166in +hcl:#b6652a cid:317 + +ecl:amb +eyr:2024 +hcl:#a97842 +pid:086765271 hgt:183cm iyr:2018 cid:314 byr:2001 + +hgt:163in pid:491612094 iyr:2028 +cid:82 ecl:#8a052d +hcl:#ceb3a1 +eyr:2018 + +byr:1970 eyr:2039 +hgt:174in hcl:#623a2f +iyr:2020 cid:154 ecl:grn pid:103138652 + +pid:73895324 eyr:2026 byr:1952 ecl:brn hcl:#733820 hgt:159in iyr:2015 + +hcl:#623a2f ecl:brn eyr:2026 hgt:185cm pid:791563822 iyr:2019 byr:1951 + +hcl:#fffffd +iyr:2014 hgt:83 cid:101 pid:724483094 +eyr:1995 byr:2015 ecl:lzr + +hcl:#ceb3a1 +iyr:2013 +eyr:2021 byr:1994 ecl:hzl +pid:037849486 hgt:60in + +pid:63340670 iyr:1995 hcl:b54c2b hgt:71cm +cid:184 byr:2004 ecl:dne eyr:2026 + +hgt:169cm +ecl:brn byr:1947 iyr:2014 cid:224 hcl:#7374df + +hcl:#623a2f +pid:471948403 ecl:gry +hgt:154cm +eyr:2023 iyr:2016 byr:1925 + +eyr:2024 hgt:180cm hcl:#efcc98 iyr:2020 ecl:gry byr:1961 pid:318184801 + +ecl:blu iyr:2012 eyr:2020 hgt:190cm +byr:1977 +pid:331654452 hcl:#cfa07d + +pid:812502106 byr:1938 +eyr:2020 hgt:169cm ecl:oth hcl:#341e13 iyr:2011 + +cid:286 byr:1942 eyr:2034 hgt:116 +ecl:utc +iyr:2023 hcl:#602927 pid:181cm + +ecl:amb iyr:2011 hcl:#cfa07d eyr:2029 byr:1975 +hgt:183cm pid:548900689 + +ecl:utc pid:182cm +hgt:60cm +eyr:1989 iyr:1993 hcl:z + +iyr:1985 hgt:186 byr:2018 +eyr:2001 pid:9257131167 +hcl:261a65 ecl:lzr + +hgt:152 +byr:1922 pid:72992226 +iyr:1968 +ecl:dne eyr:2028 hcl:5c2950 + +ecl:grn +byr:1943 hgt:74in eyr:2022 +pid:135491924 +iyr:2011 hcl:#623a2f + +iyr:2026 pid:7955389103 +cid:311 +ecl:#b81171 hcl:z eyr:1935 byr:2024 + +byr:1974 iyr:2010 hgt:165cm +ecl:amb cid:343 eyr:2023 +pid:972786259 hcl:#6b5442 + +iyr:2020 byr:1936 +ecl:gry hcl:#efcc98 hgt:170cm eyr:2021 pid:520354073 + +hgt:185cm hcl:#ceb3a1 +pid:317012754 byr:1991 +cid:199 iyr:2011 +ecl:blu eyr:2028 + +ecl:#e4e01f byr:2008 +cid:293 iyr:2013 hcl:z pid:#368f7a eyr:2036 + +eyr:2022 pid:424388475 iyr:2008 hcl:z hgt:61cm +ecl:zzz byr:1985 + +hcl:#18171d iyr:2014 +cid:88 +byr:1951 eyr:2021 pid:812441789 hgt:181cm ecl:blu + +ecl:amb eyr:2029 hgt:70in pid:580245172 +iyr:2010 byr:1927 +hcl:#a97842 +cid:284 + +hcl:#3b85ed +ecl:gry eyr:2029 pid:417534919 byr:1960 +iyr:2010 hgt:71in + +hcl:#c0946f +pid:824103775 hgt:157cm iyr:2018 ecl:brn eyr:2024 byr:1961 + +pid:673501373 +eyr:2033 +ecl:#06523f hcl:z byr:2030 iyr:1978 hgt:153cm + +iyr:2019 +hcl:#a97842 byr:1951 hgt:183cm eyr:2024 ecl:blu +pid:346079429 + +eyr:1937 pid:964649406 +hgt:162 +cid:66 +ecl:#f89cc0 +hcl:#866857 byr:2024 + +hgt:114 ecl:#e7ed3a +byr:2029 cid:190 +eyr:2026 iyr:1986 hcl:z pid:185cm + +hcl:#cfa07d hgt:192cm +pid:12494711 eyr:2028 +iyr:2020 +ecl:brn byr:2004 + +pid:710015269 +byr:2011 eyr:2033 hgt:181cm +ecl:#fb2702 + +cid:259 pid:208799387 +eyr:2025 hcl:#623a2f byr:1947 ecl:oth hgt:164cm iyr:2014 + +ecl:brn eyr:2025 pid:432178809 hcl:#341e13 +cid:50 +hgt:192cm iyr:2012 +byr:1994 + +hgt:150in pid:4902585462 ecl:#7074ad cid:230 iyr:2019 eyr:1931 hcl:z byr:2007 + +ecl:gry +byr:1942 +hcl:#602927 cid:178 iyr:2014 hgt:193cm pid:349100081 eyr:2030 + +byr:1923 hcl:#cfa07d eyr:2021 ecl:brn pid:591544598 hgt:157cm +iyr:2016 + +hcl:e15737 +iyr:2017 byr:2030 +eyr:1994 pid:470833249 +hgt:181cm cid:70 ecl:grn + +eyr:2030 +hcl:#866857 pid:569423049 byr:1948 +ecl:oth + +eyr:2026 +byr:2006 +hcl:#ceb3a1 +iyr:2010 pid:094156115 hgt:64cm ecl:oth + +byr:2002 cid:215 ecl:hzl +hcl:#602927 iyr:2015 pid:53150410 hgt:168cm eyr:2028 + +iyr:2016 hcl:#7d3b0c hgt:162cm +byr:1937 eyr:2020 ecl:hzl pid:728906226 + +byr:1921 +iyr:2018 hcl:#888785 +eyr:2026 hgt:185cm pid:164432370 ecl:brn + +ecl:gry iyr:2011 +eyr:2026 hgt:190cm +hcl:#866857 pid:884570088 byr:1996 + +ecl:blu +cid:257 +iyr:2016 byr:1989 +eyr:2024 hgt:179cm hcl:#c0946f pid:418340261 + +pid:9367990743 hcl:z hgt:182in ecl:utc +byr:1988 eyr:2025 + +ecl:hzl hgt:157cm +iyr:2010 eyr:2027 +hcl:#fffffd byr:1956 + +eyr:2024 pid:834302242 ecl:hzl +iyr:2015 cid:97 hgt:188cm hcl:#888785 byr:1927 + +ecl:brn eyr:2021 byr:1958 +hcl:#a97842 hgt:170cm pid:256795932 iyr:2017 + +hcl:756c4a +pid:812879747 +byr:2002 +eyr:2027 ecl:blu iyr:1952 hgt:66cm + +pid:#c5e14f +iyr:2026 byr:2028 hgt:162 hcl:87ba57 +eyr:1952 ecl:lzr + +hcl:#341e13 hgt:81 eyr:2021 iyr:2029 cid:262 ecl:amb pid:61006868 +byr:2011 + +pid:#e58702 cid:145 hcl:#866857 +ecl:grn iyr:2028 hgt:192in eyr:2025 byr:2017 + +iyr:2026 byr:1969 +ecl:grn +hgt:70cm cid:140 hcl:e0f231 eyr:2027 +pid:2832019 + +cid:112 eyr:2028 iyr:2018 hcl:#7d3b0c pid:868808117 byr:1985 ecl:blu + +iyr:2017 +pid:350399038 +cid:72 hcl:#ceb3a1 +ecl:gry +hgt:151cm byr:1946 eyr:2029 + +eyr:2026 hgt:174cm iyr:2010 pid:534641153 hcl:#733820 byr:1965 + +hgt:66cm +byr:2010 ecl:gmt eyr:2039 +iyr:2024 hcl:z + +pid:626085326 +byr:1971 eyr:2024 +hcl:#cfa07d hgt:170cm +ecl:hzl iyr:2019 + +hgt:185cm pid:995661846 ecl:hzl iyr:2016 byr:1963 hcl:#a97842 eyr:2023 + +ecl:grt iyr:1976 byr:2010 +pid:170cm +cid:343 hcl:#7d3b0c hgt:171cm + +pid:732695396 +ecl:zzz hgt:151in byr:1955 +eyr:2035 iyr:2026 hcl:z + +hgt:187cm hcl:#341e13 iyr:2015 pid:556697270 eyr:2025 ecl:blu byr:1926 + +ecl:oth +pid:515980529 +hgt:168cm eyr:2023 +byr:1983 iyr:2012 hcl:#341e13 + +byr:2010 +hgt:189cm iyr:2016 +hcl:#8ff71e +eyr:2010 +ecl:blu +pid:317940449 + +iyr:2013 hgt:157cm hcl:#a97842 pid:967988435 +ecl:blu cid:214 eyr:2027 byr:1960 + +pid:2666548509 cid:208 hgt:72cm hcl:#7d3b0c eyr:2040 byr:2008 +ecl:amb +iyr:1926 + +eyr:2039 +pid:203432895 hgt:154cm byr:1949 +iyr:2010 +hcl:z cid:144 ecl:xry + +pid:984689798 byr:2016 iyr:1999 ecl:utc +eyr:2037 hgt:68cm hcl:z + +byr:1969 cid:230 hgt:72cm eyr:2032 +ecl:gry pid:849701444 +hcl:#c0946f +iyr:2012 + +eyr:2026 +pid:588870142 +hcl:#ae5619 hgt:173cm +cid:189 +ecl:grn byr:1996 iyr:2013 + +byr:1973 +hcl:#cfa07d ecl:blu +hgt:193cm eyr:2028 cid:115 pid:786380485 iyr:2011 + +hcl:#fffffd eyr:2028 hgt:155cm pid:499022582 +ecl:blu byr:1977 iyr:2014 +cid:212 + +ecl:#92bb4b +pid:815154669 byr:1923 eyr:2023 +hgt:183cm iyr:1929 hcl:#ceb3a1 + +byr:1966 eyr:2021 iyr:2020 hcl:#6b5442 ecl:hzl +pid:3508035599 +hgt:70in + +ecl:amb +hcl:#18171d +byr:1927 +hgt:177cm pid:555764540 iyr:2018 eyr:2025 cid:90 + +hgt:139 ecl:#878a7d byr:2006 cid:275 iyr:1980 hcl:60fca6 eyr:1952 pid:001439727 + +byr:1985 +hgt:174cm ecl:gry +iyr:2018 +cid:204 hcl:#733820 +pid:141048398 eyr:2027 + +ecl:gmt hcl:#6b5442 hgt:158cm +iyr:2025 +byr:2030 pid:966397365 eyr:2029 + +byr:1962 hgt:166cm pid:261989937 cid:320 eyr:2026 +iyr:2015 hcl:#c0946f +ecl:hzl + +pid:852283506 iyr:2018 eyr:2020 byr:1981 hcl:#733820 +ecl:hzl +hgt:162cm + +pid:3873488100 iyr:1982 ecl:grn +hgt:63cm eyr:1936 +byr:2011 hcl:8d118a + +iyr:1937 +hcl:817646 +byr:2026 eyr:2031 pid:#47591d hgt:183in +ecl:blu + +eyr:2025 hgt:153cm iyr:2015 pid:498382864 +cid:307 +byr:1943 +hcl:#f66fe1 ecl:oth + +iyr:2017 hgt:66in byr:1948 hcl:#b6652a eyr:2025 +pid:188366364 +ecl:amb + +ecl:lzr +pid:453174702 iyr:2028 eyr:2032 cid:228 byr:2011 hcl:z +hgt:172cm + +hgt:186cm eyr:2030 cid:316 hcl:z byr:1994 +iyr:2012 ecl:amb pid:993162839 + +hgt:160cm +ecl:grn pid:523473760 byr:1993 +iyr:2016 eyr:2025 hcl:#602927 cid:261 + +iyr:2016 pid:520973843 ecl:gry +eyr:2023 cid:232 +byr:1944 hgt:159cm hcl:#cfa07d + +byr:1969 hcl:#1d37de hgt:184cm eyr:2027 pid:088048141 +iyr:2016 cid:307 ecl:hzl + +eyr:2040 iyr:2012 pid:723592140 +hgt:61cm hcl:#18171d ecl:dne + +eyr:2025 +ecl:oth pid:4697392468 +hgt:183cm iyr:2017 hcl:b07d71 +byr:1996 + +ecl:amb eyr:2022 cid:143 pid:806594272 hgt:158cm byr:1977 iyr:2014 +hcl:#866857 + +ecl:blu +eyr:2022 iyr:2018 byr:1983 hgt:167cm cid:321 hcl:#efcc98 +pid:344179526 + +byr:1925 eyr:2021 +hgt:193cm iyr:2020 ecl:grn +hcl:#888785 + +iyr:2018 +cid:319 byr:1972 hgt:181cm hcl:#fffffd eyr:2023 pid:493780616 + +eyr:2021 +hcl:#733820 +ecl:#e91c71 +iyr:2020 pid:451676066 hgt:166in +byr:1993 + +eyr:2026 +hcl:#b6652a ecl:blu byr:1999 iyr:2020 +hgt:163cm pid:955741810 + +iyr:2016 hgt:179cm hcl:#602927 +pid:673271332 byr:1963 eyr:2027 ecl:amb + +byr:1927 +iyr:2015 hcl:#866857 +ecl:oth +hgt:159cm +pid:992992996 eyr:2030 + +pid:283188332 hgt:168cm hcl:#6b5442 +eyr:2027 byr:2028 ecl:hzl iyr:2030 + +byr:1944 pid:628012522 eyr:2020 +hcl:#866857 +iyr:2019 ecl:amb +hgt:168cm + +cid:317 pid:333228098 hgt:158cm iyr:2014 byr:1958 eyr:2024 hcl:#a97842 ecl:oth + +hcl:#733820 +cid:314 ecl:oth byr:1938 eyr:2030 hgt:71in +pid:790938694 iyr:2014 + +iyr:2020 ecl:grt eyr:2018 +hgt:155cm +pid:1034925815 hcl:#623a2f cid:304 + +ecl:brn hgt:158cm hcl:#38fe6c eyr:2030 byr:1926 pid:0860404500 iyr:1993 cid:348 + +byr:1998 +hgt:185cm +ecl:brn eyr:2021 pid:567032567 hcl:#733820 cid:328 iyr:2017 + +pid:491430863 cid:146 hgt:181cm eyr:2026 iyr:2015 ecl:amb byr:1950 hcl:#c0946f + +eyr:2033 cid:289 +pid:396679011 ecl:oth byr:1988 +hgt:156in +hcl:#cfa07d iyr:2029 + +ecl:grn iyr:2015 +byr:1986 hcl:#a97842 hgt:62in +pid:403990108 eyr:2030 + +pid:42635067 cid:301 +iyr:2027 hgt:173in +byr:2004 hcl:z +eyr:2034 + +byr:2020 hcl:#fffffd +hgt:180in eyr:2040 pid:304951921 +iyr:2030 ecl:#1aaf20 + +iyr:2020 hcl:#888785 ecl:hzl hgt:181cm byr:1992 eyr:2021 pid:936006959 + +hgt:172in ecl:#fd71a7 +hcl:787715 pid:363058480 byr:2020 +iyr:2022 +eyr:2034 + +iyr:2018 ecl:blu eyr:2029 hcl:#cfa07d hgt:155cm byr:1937 pid:851148031 + +byr:2014 +cid:222 ecl:zzz hgt:67cm eyr:2040 pid:#8ab0e2 hcl:z iyr:2027 + +hgt:180cm hcl:#375883 eyr:2027 byr:1925 ecl:brn +iyr:2011 +pid:158752719 + +byr:1935 ecl:oth eyr:2027 pid:041108579 +hcl:#602927 iyr:2011 hgt:190cm + +hcl:#a97842 pid:131728607 ecl:blu iyr:2014 hgt:176cm eyr:2020 +byr:1921 + +pid:11754457 +iyr:2018 +hgt:65cm eyr:2038 +ecl:dne hcl:z +cid:293 +byr:1940 + +eyr:2023 +iyr:2016 +byr:1930 +ecl:hzl +cid:212 +hcl:#733820 hgt:59in +pid:319501919 + +cid:278 +eyr:1967 hcl:#ceb3a1 pid:#9f5254 hgt:177in byr:1977 iyr:2030 + +hcl:#ceb3a1 byr:1998 hgt:72in cid:202 ecl:gry pid:463378493 iyr:2015 +eyr:2030 + +hcl:#7d3b0c hgt:164cm ecl:hzl byr:1960 eyr:2023 +iyr:2017 + +ecl:hzl hcl:#866857 byr:1986 iyr:2018 eyr:2027 hgt:176cm pid:928057092 + +pid:431113230 hgt:186cm eyr:2025 +iyr:2018 ecl:amb byr:1973 hcl:#623a2f + +hcl:#cfa07d hgt:179cm iyr:2017 pid:760075190 ecl:amb eyr:2030 + +hcl:#602927 +iyr:2012 +pid:571020910 ecl:#b6715d byr:1943 eyr:2028 +hgt:161cm + +hgt:176cm cid:121 pid:654127593 ecl:brn hcl:#160d38 iyr:2015 +eyr:2021 byr:1997 + +eyr:2021 byr:1929 +pid:192025713 +hcl:#c0946f iyr:2012 ecl:oth hgt:179cm + +eyr:2024 ecl:gry +hgt:158cm byr:1932 hcl:#ceb3a1 +iyr:2010 +pid:521188306 + +eyr:2028 ecl:brn +hcl:#efcc98 +hgt:157cm +iyr:2012 +pid:212547203 byr:1970 + +eyr:2029 pid:182693366 hcl:#623a2f hgt:130 byr:1972 +cid:310 +iyr:2010 ecl:amb + +byr:1944 iyr:2013 +ecl:brn cid:335 +hgt:163cm +eyr:2025 hcl:#7d3b0c pid:405230824 + +hcl:#ceb3a1 iyr:2015 pid:572001387 byr:1962 +ecl:amb hgt:151cm + +byr:1928 +eyr:2022 +iyr:2018 ecl:blu +hcl:#602927 pid:767081131 + +byr:1948 hgt:180in pid:188cm +ecl:hzl +eyr:2013 hcl:e0b9f3 iyr:1975 + +hcl:#c0946f byr:1989 +eyr:1980 hgt:67cm pid:538025041 +iyr:2014 ecl:gry + +eyr:2028 pid:958756919 hcl:#733820 byr:1945 cid:158 ecl:blu +hgt:168cm iyr:2018 + +cid:200 hcl:#fffffd +byr:2015 ecl:gry eyr:2031 hgt:59 pid:065027646 +iyr:1967 + +byr:1999 ecl:hzl pid:813536928 iyr:2015 cid:296 hcl:#6b5442 +eyr:2025 hgt:186cm + +byr:2000 iyr:2012 +hcl:#fffffd +cid:263 hgt:68in pid:105489529 +ecl:amb eyr:2024 + +eyr:2026 hcl:#602927 hgt:181cm +byr:1982 +pid:603871531 iyr:2018 ecl:blu + +cid:302 pid:387895477 eyr:2027 +hcl:#cfa07d hgt:191cm iyr:2015 +ecl:hzl byr:1940 + +iyr:2018 cid:165 +ecl:blu hgt:181cm byr:1994 eyr:2026 pid:077013268 + +eyr:2022 hgt:174in iyr:2010 byr:2023 +hcl:#733820 ecl:oth +pid:311692961 + +ecl:#10f2a9 pid:964417986 +eyr:2024 hcl:#0aeec7 byr:1965 iyr:1943 hgt:167cm + +hcl:#341e13 iyr:2020 +ecl:brn +hgt:188cm eyr:2021 byr:1952 +pid:077471062 + +byr:1950 cid:110 hgt:160cm eyr:2026 +hcl:#623a2f +iyr:2013 +pid:972823574 + +pid:553704996 hgt:171cm +eyr:2028 iyr:2017 +hcl:#18171d byr:1954 ecl:blu + +hgt:180cm ecl:brn eyr:2029 pid:707999496 hcl:#cfa07d byr:1960 + +pid:9325738036 iyr:1996 hgt:152in byr:2004 cid:292 hcl:14a56f +eyr:2031 +ecl:#dbd99d + +byr:1957 +eyr:2021 pid:557648216 ecl:amb hcl:#7d3b0c hgt:186cm +iyr:2020 + +hcl:#602927 hgt:186cm pid:604175608 +iyr:2013 eyr:2026 ecl:oth byr:1991 cid:65 + +ecl:gry +iyr:2012 hgt:154cm +pid:872898058 eyr:2030 hcl:#341e13 byr:1994 + +pid:228236326 +iyr:2013 cid:347 byr:1942 +eyr:2021 ecl:brn +hgt:165cm +hcl:#fffffd + +pid:392777182 cid:189 hcl:#cfa07d eyr:2027 hgt:191cm ecl:blu byr:1978 + +hgt:158in iyr:2028 +pid:5145408095 byr:2012 ecl:#94c57d hcl:z eyr:1996 + +byr:1949 eyr:2021 +ecl:#5ffbeb iyr:1948 pid:42650064 hcl:z hgt:167cm + +iyr:2013 ecl:xry cid:100 +hgt:138 byr:2013 +eyr:1944 hcl:92b68c + +hgt:187cm +ecl:grn hcl:#602927 +iyr:2010 +eyr:2022 byr:1949 cid:280 pid:251802347 + +ecl:grn +cid:219 +iyr:2018 hgt:165cm +pid:703878503 eyr:2024 hcl:#b6652a +byr:2002 + +hcl:#18171d cid:341 ecl:amb byr:1941 eyr:2021 iyr:1990 pid:865132177 hgt:153cm + +byr:2008 pid:861480549 +cid:97 eyr:2028 hcl:#efcc98 +iyr:2015 +hgt:191cm ecl:#232b23 + +hcl:#cfa07d +eyr:2030 iyr:2013 cid:304 +ecl:gry pid:199056608 hgt:192cm +byr:1926 + +pid:355135528 hgt:153cm byr:1998 iyr:2019 eyr:2027 +ecl:amb hcl:#18171d + +eyr:2028 hcl:8eed9c ecl:grn +iyr:2010 byr:2005 hgt:107 +pid:64892698 + +pid:601671623 hgt:153cm iyr:2011 hcl:#b6652a byr:1975 ecl:grn eyr:2029 + +ecl:grn hcl:#18171d hgt:157cm +eyr:2023 pid:507932715 byr:1920 iyr:2020 + +eyr:2022 byr:1933 hcl:#fffffd iyr:2016 hgt:181cm pid:826522507 ecl:blu + +byr:2002 hcl:#866857 hgt:177cm pid:240202426 +ecl:gry cid:127 +eyr:2022 +iyr:2014 + +byr:1971 +iyr:2017 +pid:733985576 hcl:#c58c6c hgt:178cm +ecl:blu +eyr:2023 + +ecl:blu iyr:2017 pid:558732458 hcl:#1b3ab5 eyr:2025 byr:1967 hgt:176cm + +eyr:2025 ecl:gry iyr:2020 byr:1988 +hcl:#733820 +hgt:189cm cid:151 pid:934827751 + +ecl:gry eyr:1951 +iyr:1932 +pid:309366394 byr:1945 hcl:#623a2f hgt:179cm + +pid:462345884 ecl:hzl +cid:206 eyr:2021 hcl:#733820 +byr:1982 hgt:180cm iyr:2010 + +iyr:2020 hgt:155cm hcl:#341e13 pid:110467532 cid:92 ecl:hzl byr:1975 eyr:2028 + +hcl:#18171d iyr:2010 +hgt:182cm byr:1930 +eyr:2024 +cid:226 + +byr:1956 hcl:fb0c6f pid:181cm eyr:2012 iyr:2020 +ecl:#d38822 +hgt:69cm + +ecl:gry iyr:2018 +hgt:169cm byr:1981 +pid:534824014 cid:287 eyr:2021 hcl:#c0946f + +eyr:2039 hcl:#328e90 iyr:2015 +hgt:170cm pid:#9fa2a4 byr:1999 +ecl:#cd1fd7 + +hgt:190cm hcl:#733820 +pid:302244363 +ecl:brn +byr:1965 iyr:2013 + +iyr:2012 +eyr:2021 +pid:579705743 +ecl:brn hgt:190in +byr:1954 hcl:#888785 + +eyr:2036 hgt:154cm +pid:800720865 byr:2023 ecl:oth iyr:2010 hcl:z + +pid:#92f6a9 iyr:2028 eyr:1943 +hgt:191cm ecl:hzl hcl:z byr:2018 + +hcl:#c0946f +pid:419930442 hgt:167cm +byr:1969 +eyr:2020 ecl:brn + +pid:137802946 +eyr:2020 byr:1947 ecl:grn hgt:192cm iyr:2016 hcl:#888785 + +ecl:#f66cce eyr:1958 iyr:1954 +pid:833131572 +hcl:z +cid:212 +hgt:109 byr:1924 + +hgt:179cm ecl:gry pid:065881341 byr:1985 +hcl:#fffffd cid:204 eyr:2026 + +hgt:167cm +iyr:2017 pid:898571403 byr:1929 +ecl:blu hcl:#d506d0 eyr:2028 cid:100 + +byr:1991 pid:2795214253 iyr:2011 +cid:152 eyr:2028 +hgt:170cm hcl:#a45065 ecl:lzr + +hgt:188cm eyr:2030 iyr:2010 +pid:297292695 byr:1955 hcl:#fffffd +ecl:blu + +hgt:170cm eyr:2029 pid:913242036 byr:1993 cid:89 hcl:#888785 +iyr:2010 +ecl:blu + +iyr:2028 eyr:2025 hgt:150in ecl:grn +byr:1995 +pid:974802728 +hcl:#cfa07d + +eyr:2021 byr:1989 +hcl:#18171d ecl:blu hgt:168cm +pid:626530259 +iyr:2020 + +hcl:#6b5442 hgt:158cm pid:798732187 byr:1922 eyr:2020 iyr:2011 ecl:gry + +hcl:#341e13 pid:092679330 byr:1997 ecl:oth hgt:159cm iyr:2010 eyr:2026 + +hgt:185cm +iyr:2020 byr:1947 +pid:105846744 ecl:gry cid:134 eyr:2027 + +pid:252016128 hcl:9016ff cid:158 hgt:161 ecl:gry +byr:1952 eyr:1955 iyr:2018 + +iyr:2020 hgt:154in byr:1958 +eyr:2029 ecl:#2feb89 pid:99780178 + +hcl:z +eyr:2001 ecl:gmt +byr:2022 hgt:73in iyr:2029 +pid:388744230 + +hgt:186cm +byr:1939 pid:622948608 ecl:oth eyr:2030 +hcl:#c0946f + +cid:272 +eyr:2025 byr:1979 ecl:brn hgt:180cm pid:456545466 +hcl:#fffffd iyr:2012 + +pid:946657041 byr:1999 +iyr:2014 hcl:#ceb3a1 hgt:150cm +ecl:grn + +byr:1957 pid:177cm ecl:blu eyr:2020 hcl:#cfa07d +iyr:2010 hgt:183cm + +pid:161cm eyr:2025 hcl:#b6652a +cid:213 +ecl:xry +hgt:150cm +iyr:2024 byr:2012 + +hcl:ea1960 +ecl:grn +pid:#7127b2 iyr:2012 eyr:2011 hgt:150 + +pid:178699291 +hgt:66in eyr:2027 +byr:1985 iyr:2014 ecl:amb + +iyr:2017 ecl:blu +eyr:2027 hgt:191cm byr:1990 hcl:#b6652a pid:074411798 + +pid:528782860 +hgt:181cm hcl:#c0946f byr:1965 iyr:2012 ecl:grn eyr:2020 + +pid:#ba10da hgt:176in byr:2006 +ecl:grt +iyr:2030 eyr:1949 hcl:d3ca76 + +hgt:66cm ecl:#898478 hcl:#e9f7a5 eyr:2030 iyr:2022 +byr:2025 +pid:159cm + +byr:1994 hcl:#ceb3a1 +pid:028071950 eyr:2022 ecl:gmt hgt:151in iyr:2016 + +byr:2001 iyr:2011 +ecl:brn +pid:487702556 hcl:#602927 +hgt:167cm eyr:2026 diff --git a/Day 4/Two/main.py b/Day 4/Two/main.py new file mode 100755 index 0000000..487e8b4 --- /dev/null +++ b/Day 4/Two/main.py @@ -0,0 +1,77 @@ +#!/bin/python + +EYE_COLORS = ["amb", "blu", "brn", "gry", "grn", "hzl", "oth"] + +def print_passport(data): + print(f"byr: {data['byr']}, iyr: {data['iyr']}, eyr: {data['eyr']}, hgt: {data['hgt']}, hcl: {data['hcl']}, ecl: {data['ecl']}, pid: {data['pid']}") + +def validate_passport(data): + try: + byr = int(data["byr"]) + if byr < 1920 or byr > 2002: + return False + + iyr = int(data["iyr"]) + if iyr < 2010 or iyr > 2020: + return False + + eyr = int(data["eyr"]) + if eyr < 2020 or eyr > 2030: + return False + + hgt = data["hgt"] + if hgt.endswith("cm"): + hgt = int(hgt[:-2]) + if hgt < 150 or hgt > 193: + return False + elif hgt.endswith("in"): + hgt = int(hgt[:-2]) + if hgt < 59 or hgt > 76: + return False + else: + return False + + hcl = data["hcl"] + if hcl.startswith("#"): + int(hcl[1:], 16) + else: + return False + + ecl = data["ecl"] + if ecl not in EYE_COLORS: + return False + + pid = data["pid"] + if len(pid) == 9: + int(pid) + else: + return False + + print_passport(data) + return True + except: + return False + + + + +with open("input", 'r') as input: + passport_data = {} + required_field_count = 7 + valid = 0 + for line in input: + if line == "\n": + if validate_passport(passport_data): + valid += 1 + passport_data = {} + else: + parts = line.strip().split(" ") + for part in parts: + part = part.split(":") + if not part[0] == "cid": + passport_data[part[0]] = part[1] + + if validate_passport(passport_data): + valid += 1 + + print(f"Valid: {valid}")