Sfoglia il codice sorgente

inital commit after the first 5 days

Steffen Burkowitz 5 anni fa
commit
043c625a2a

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+.idea/
+out/
+*.iml

+ 1138 - 0
puzzleInput/day4-1.txt

@@ -0,0 +1,1138 @@
+byr:1971
+eyr:2039
+hgt:172in pid:170cm hcl:17106b iyr:2012 ecl:gry
+cid:339
+
+hgt:161cm eyr:2027
+ecl:grn iyr:2011 hcl:#a97842 byr:1977 pid:910468396
+
+cid:257
+ecl:gry hgt:186cm iyr:2012
+byr:1941
+eyr:2029
+pid:108935675
+hcl:#cfa07d
+
+hgt:165in
+hcl:#cfa07d eyr:2035 pid:82570731
+byr:1973
+cid:74 ecl:xry
+
+eyr:2020 cid:105 iyr:2012 pid:947726115
+hcl:#ceb3a1 ecl:grn byr:1966 hgt:151cm
+
+hcl:#888785 eyr:2027 ecl:hzl byr:1966
+pid:853607760
+iyr:2012
+hgt:155cm
+
+hgt:61cm
+iyr:2019
+byr:1952 pid:#1468e6 eyr:2033 ecl:#7d39d5 hcl:z
+
+pid:2306523501
+eyr:2032 hcl:z ecl:brn
+cid:266 hgt:151in iyr:2024
+byr:2008
+
+hcl:#a97842 hgt:191cm eyr:2025 ecl:gry byr:1923 pid:574171850 iyr:2019
+
+hgt:140
+iyr:1987 byr:2003
+eyr:2013 cid:242 hcl:z
+ecl:#19177c pid:150cm
+
+byr:1959
+hgt:169cm hcl:#7d3b0c ecl:gry eyr:2028 cid:107 pid:584790749
+
+byr:1955
+cid:309
+hcl:#a97842
+pid:740105085 iyr:2020
+hgt:188cm ecl:oth eyr:2029
+
+iyr:2016 hcl:#cfa07d eyr:2026
+hgt:151cm
+pid:394185014 ecl:grn byr:1974
+
+pid:226566060 ecl:blu cid:272 hgt:188cm hcl:#efcc98
+eyr:2029 iyr:2014
+byr:1956
+
+pid:#7c7a9d ecl:#8fa327
+eyr:2006 iyr:2022
+hcl:#7d3b0c hgt:169
+byr:2025
+
+hgt:188in byr:2015 ecl:xry
+iyr:1975
+eyr:1928
+pid:8939875193 hcl:7bbcce
+
+hgt:193cm
+eyr:2029
+pid:141707808 byr:1997
+cid:83 iyr:2019
+ecl:hzl hcl:#cfa07d
+
+iyr:2019
+pid:681586971
+hcl:#6b5442 hgt:165cm
+eyr:2022 ecl:brn byr:1985
+
+byr:1970
+iyr:2016 hgt:156in pid:#e32394 eyr:2024
+hcl:#efcc98 ecl:grt
+
+iyr:2013
+ecl:grn pid:341584587 eyr:2027 hgt:185cm hcl:#18171d
+byr:1935
+cid:113
+
+hcl:#fffffd ecl:grn iyr:2010
+pid:738986504 hgt:98 eyr:2024
+byr:1968
+
+pid:175337478 ecl:oth hgt:173cm hcl:#733820
+eyr:2025 byr:1960
+cid:283 iyr:2018
+
+byr:1959
+hcl:#341e13 eyr:2023
+pid:566612260 hgt:176cm
+iyr:2017 ecl:grn
+
+cid:321 pid:355095309 byr:1945
+hgt:161cm
+eyr:2029 iyr:2017
+ecl:brn hcl:#733820
+
+hcl:#c0946f pid:75316487 iyr:2013 cid:201 hgt:152cm ecl:lzr byr:1996 eyr:1928
+
+hgt:160cm iyr:2010 hcl:#a018b9
+eyr:2024 ecl:amb
+cid:347
+
+eyr:2021
+pid:893047101 iyr:2016 ecl:hzl hcl:#866857 byr:1988
+hgt:166cm
+
+hcl:#7d3b0c
+ecl:blu pid:085336099 eyr:2024
+iyr:2019 hgt:178cm byr:1999
+
+ecl:grt iyr:2022
+hcl:z
+hgt:192cm byr:2010
+
+pid:677187953 eyr:2025 iyr:2020 hgt:163cm byr:1957 ecl:grn hcl:#cfa07d
+
+cid:213
+byr:1987
+pid:113078018 ecl:blu iyr:2013 eyr:2022
+hcl:#7d3b0c hgt:157cm
+
+ecl:blu hcl:#c0946f hgt:186cm
+byr:1992 eyr:2028 iyr:2010
+
+pid:#b01156 hgt:67
+byr:2014 ecl:#35dca0 eyr:1922 hcl:790130
+
+hcl:#602927
+ecl:blu hgt:173cm byr:1974 pid:116377061 cid:294 eyr:2030 iyr:2010
+
+hgt:151cm eyr:2022 iyr:2011 ecl:blu byr:1987 hcl:#733820
+pid:#b90d2e
+
+cid:188
+byr:1990
+hcl:#602927 iyr:2026
+pid:530373696
+hgt:154cm ecl:gry
+eyr:2029
+
+hgt:178cm eyr:2027
+hcl:#733820
+ecl:grn iyr:2014 pid:575371227 byr:1965
+
+hcl:#fffffd iyr:2020
+hgt:185cm ecl:amb pid:692760311
+byr:1961
+
+byr:1967 pid:397518948 ecl:lzr iyr:2015 hcl:#cfa07d cid:328
+hgt:177cm eyr:2035
+
+hcl:#8e1608
+pid:554618249 iyr:2010 hgt:176cm cid:220
+ecl:brn byr:1928 eyr:2029
+
+eyr:2030
+ecl:oth cid:177 hcl:#602927
+iyr:2010 hgt:66in
+pid:915661465 byr:1992
+
+ecl:brn pid:558826437 hgt:151cm byr:1936 hcl:#fffffd
+eyr:2021 iyr:2012
+
+eyr:2033
+iyr:2019 hgt:190cm byr:1953
+hcl:#6b5442
+pid:584941735 ecl:hzl
+
+hgt:71cm
+byr:2015 iyr:2025
+ecl:#663b65 eyr:2039 hcl:z pid:62548949
+
+ecl:hzl byr:1943
+iyr:2020 hgt:175cm pid:830628564 hcl:#7d3b0c eyr:2021
+
+hgt:182cm byr:1951 cid:175 eyr:2021 pid:635966127 ecl:blu iyr:2014 hcl:#18171d
+
+hcl:#733820 iyr:2011 pid:581100835 eyr:2022 ecl:grn byr:1985 hgt:192cm
+
+iyr:2013
+ecl:grn
+hgt:185cm hcl:#a97842 byr:1981 eyr:2029 pid:711625030
+
+byr:1995
+pid:326992839
+iyr:2015
+eyr:2028 hcl:#733820 ecl:hzl
+
+hgt:160
+eyr:2037 ecl:#6b6b83
+cid:123 iyr:2028
+pid:7692333345
+hcl:z byr:2029
+
+hcl:#6b5442 iyr:2030
+hgt:165cm byr:2028 ecl:#21516d
+eyr:2039
+pid:182cm
+
+hgt:159cm iyr:2018 pid:610521467 eyr:2028 ecl:amb byr:1934 hcl:#602927
+
+ecl:blu
+hcl:#09d9a5 hgt:162cm iyr:2020
+eyr:2025 byr:1971 pid:406714780
+
+hgt:179cm eyr:2022 hcl:#18171d
+ecl:blu pid:314891131 iyr:2015
+byr:2002
+
+hcl:#623a2f hgt:181cm pid:442693333 byr:1990 ecl:grn eyr:2027
+iyr:2011
+
+iyr:2022 eyr:1939
+pid:557187110 hcl:#18171d hgt:60cm ecl:#d6ac04 byr:1984
+
+ecl:grn byr:1948 hgt:174cm pid:438876745 cid:321
+iyr:2018
+hcl:#866857 eyr:2023
+
+hgt:189cm iyr:2012 hcl:#602927 pid:978388052 ecl:brn
+eyr:2030
+
+ecl:amb cid:235
+byr:1938
+pid:315825546 hcl:#ceb3a1 eyr:2029
+iyr:2013 hgt:171cm
+
+ecl:dne hcl:z
+hgt:76cm byr:2010
+cid:185 eyr:2001
+
+hcl:#733820 byr:1988 pid:558453117
+hgt:66in
+ecl:oth iyr:2010 eyr:2021
+
+byr:1926 pid:796557821 cid:155 hcl:#efcc98
+hgt:159cm eyr:2023 ecl:oth iyr:2016
+
+byr:2023 eyr:2031 hcl:0ba99a pid:14902250
+hgt:132 ecl:#9b89b1 iyr:2017
+
+hcl:#a97842 byr:1926
+cid:205
+ecl:blu
+iyr:2016 hgt:159cm eyr:2029
+
+byr:1939 hcl:#866857
+pid:025607627 hgt:174cm cid:309 eyr:2026 ecl:brn
+
+ecl:hzl pid:805133506
+iyr:2014
+byr:1991
+hcl:#cfa07d
+cid:350
+hgt:190cm
+
+hgt:155cm byr:1941 eyr:2024
+cid:164 hcl:#602927 iyr:2013 pid:531781358 ecl:amb
+
+hcl:#72a068 hgt:164cm
+pid:621006770
+ecl:brn
+eyr:2029 byr:1969
+
+byr:1991
+ecl:grn iyr:2020
+pid:9921729009 eyr:2029 hcl:#623a2f
+hgt:62in
+
+iyr:2017 ecl:hzl
+pid:768217275 eyr:2020 byr:1937
+hcl:#866857 hgt:157cm
+
+cid:270 byr:1993 hcl:#733820 ecl:hzl pid:722650020
+hgt:174cm iyr:2010
+eyr:2021
+
+hcl:#c0946f ecl:blu
+hgt:154cm
+eyr:2022 byr:1929 pid:357023679 iyr:2010
+
+ecl:hzl
+iyr:2013 hgt:165cm byr:1979 eyr:2023 hcl:#733820 pid:008734536
+
+hcl:#341e13
+eyr:2030 byr:1993
+iyr:2014 hgt:193cm
+cid:346
+ecl:blu pid:536339538
+
+eyr:2030
+ecl:hzl
+cid:296 pid:660062554 hcl:#efcc98
+byr:1977 hgt:179cm
+iyr:2010
+
+cid:119 pid:498520651 hgt:159cm
+eyr:2029 iyr:2015 hcl:#18171d
+ecl:gmt
+byr:1950
+
+eyr:2025 iyr:2010 hcl:#efcc98 pid:196372989 hgt:181cm byr:1952 ecl:oth
+
+cid:317
+eyr:2026 ecl:blu hcl:#733820
+hgt:184cm
+pid:549730813 byr:1927 iyr:2018
+
+pid:591769824
+hgt:180cm
+byr:1920
+ecl:blu
+eyr:2021 hcl:#cfa07d iyr:2017
+
+pid:988946348 hgt:183cm cid:117 byr:1955 ecl:blu
+iyr:2015 hcl:#623a2f eyr:2029
+
+iyr:2014
+eyr:2026 hgt:184cm
+ecl:oth
+hcl:#7d3b0c pid:252101860
+
+byr:1995
+hgt:182cm ecl:brn hcl:#6b5442
+iyr:2012 eyr:2028 pid:482757872
+
+iyr:2017 cid:333 ecl:gry hcl:#623a2f hgt:157cm eyr:2021
+pid:487895819
+byr:1951
+
+hcl:#fffffd
+hgt:193cm eyr:2025 byr:1927 iyr:2014 ecl:oth pid:989206297
+
+eyr:2030 ecl:brn hcl:#18171d hgt:193cm
+iyr:2013 byr:1953 pid:862636088
+
+hcl:#fffffd
+pid:204286737 ecl:gry byr:1923
+hgt:181cm
+iyr:2015
+eyr:2023
+
+cid:288 pid:413935643 ecl:gry
+iyr:2012
+hgt:171cm
+hcl:#623a2f
+eyr:2020 byr:1943
+
+byr:2023 hcl:#c0946f
+ecl:oth
+pid:182634296 eyr:2009
+cid:306 hgt:183cm
+iyr:2029
+
+eyr:2026 ecl:hzl byr:2003
+iyr:2027 pid:734296691 hgt:188cm hcl:#fffffd
+
+hcl:#18171d ecl:gry pid:401957684 eyr:2020
+iyr:2017 cid:141 byr:1944 hgt:74in
+
+ecl:grn hcl:z
+pid:335097003 byr:1925
+hgt:170in iyr:2020 eyr:2022
+
+pid:727198487
+hgt:173cm
+cid:323 hcl:#18171d iyr:2012 eyr:2024
+byr:1995 ecl:blu
+
+ecl:amb hcl:#602927
+pid:460274414
+hgt:76in byr:1995
+iyr:2020
+eyr:2028
+
+byr:2002 ecl:oth pid:101164770
+hgt:172cm hcl:#fffffd eyr:2023 iyr:2016
+
+ecl:blu hcl:#888785 iyr:2016 pid:031162631 eyr:2025 hgt:186cm
+byr:1959
+
+ecl:blu pid:093242619 hgt:188cm byr:1970
+eyr:2025
+hcl:#6b5442
+iyr:2020
+
+byr:1990 eyr:2025 ecl:grn
+pid:907309460
+iyr:2011 hcl:#602927 hgt:62in
+
+pid:346468647 eyr:2021
+ecl:oth hgt:169cm
+iyr:2010 cid:233
+hcl:#b6652a byr:1977
+
+pid:904834317 iyr:2011
+hcl:#b6652a eyr:2028 cid:281
+byr:1944 hgt:187cm ecl:gry
+
+eyr:1988 pid:663941602
+hgt:156in
+hcl:#fa2e93 iyr:2015 ecl:gry byr:1953
+
+hgt:184cm cid:107 pid:094829817
+ecl:gry byr:1998 eyr:2023 iyr:2017
+
+eyr:2020 ecl:gry byr:1955 hcl:#a97842 pid:553841536
+
+hgt:185cm eyr:2022 hcl:#341e13 ecl:oth byr:1934 pid:863541754 cid:178
+iyr:2016
+
+eyr:2029 iyr:2014 byr:1937 cid:232 hgt:177cm hcl:#fffffd ecl:blu
+pid:076753558
+
+hcl:#cfa07d
+hgt:168cm
+ecl:grn
+pid:664159349 eyr:2028 iyr:2017 byr:1972
+
+hcl:#a97842
+byr:1987
+eyr:2020 hgt:182cm
+iyr:2018
+ecl:brn pid:560272731
+
+hgt:172cm cid:125 ecl:blu pid:291640184
+byr:1926
+iyr:2014 hcl:#ceb3a1
+
+iyr:2027 hgt:84 hcl:z
+ecl:#b68fec
+pid:809408661
+byr:2018 eyr:1927 cid:87
+
+pid:951007276 cid:260 eyr:2025
+ecl:brn iyr:2015 byr:1957
+hcl:#4b8216 hgt:161cm
+
+pid:359973697 hcl:#6b5442
+eyr:2022 hgt:169cm
+byr:1965 ecl:brn iyr:2013
+
+iyr:2012 hgt:65in eyr:2024 pid:842371195
+ecl:amb
+hcl:#341e13 byr:2000
+
+ecl:hzl hgt:170cm byr:1950
+cid:289 eyr:2037 iyr:2021 hcl:#18171d pid:389051819
+
+hgt:159cm
+ecl:amb hcl:#c0946f eyr:2020 pid:010539976 iyr:2011 byr:1921
+
+hgt:176cm cid:270 pid:838338992
+eyr:2024 hcl:#866857
+ecl:amb iyr:2015 byr:1982
+
+ecl:blu
+cid:246 hgt:185cm
+byr:1987
+hcl:#fffffd pid:042361456 eyr:2022
+iyr:2010
+
+hgt:164cm
+pid:881486702 ecl:brn byr:1969 hcl:#c0946f
+iyr:2010 eyr:2030
+
+iyr:2019 hcl:#6b5442 hgt:167cm
+ecl:amb
+cid:207 byr:1922
+eyr:2025 pid:343956182
+
+ecl:oth iyr:2012
+hgt:158cm
+eyr:2024 hcl:#602927 byr:1964
+
+byr:1988 pid:030965463 hgt:154cm
+ecl:gry eyr:2020 cid:227
+iyr:2012
+hcl:#3edc53
+
+hgt:178cm hcl:#c0946f byr:1945 ecl:amb eyr:2030
+
+hgt:158cm pid:270264980 eyr:2027 iyr:2016 byr:1928 cid:259
+ecl:gry hcl:#733820
+
+byr:2026 hgt:164in cid:235 ecl:xry
+hcl:z pid:2517730699
+eyr:2033 iyr:2024
+
+ecl:grn hgt:69cm pid:1321222581 byr:1987
+eyr:2035
+iyr:2018 hcl:#fffffd
+
+hcl:#733820 cid:244
+ecl:gry iyr:2013 eyr:2028
+pid:794178180 hgt:74in byr:1923
+
+hcl:#a97842 byr:1934 ecl:hzl eyr:2027
+pid:401882857
+iyr:2018 hgt:185cm
+
+iyr:2018
+pid:665564950 byr:1990 ecl:hzl
+hgt:154cm
+eyr:2026 hcl:#623a2f
+
+hcl:#602927 cid:189 byr:1967 pid:332861702 eyr:2021
+hgt:163cm
+ecl:amb
+
+ecl:grn pid:734161280 hgt:184cm
+iyr:2018 eyr:2020 byr:1929 hcl:#a97842
+
+iyr:2018 byr:1925
+eyr:2022 hgt:193cm ecl:hzl
+hcl:#341e13
+pid:008582320
+
+byr:2025 ecl:dne hgt:167cm pid:48963526
+iyr:2025 hcl:z
+eyr:2034
+
+hcl:#cfa07d ecl:hzl eyr:2029 cid:194 byr:1936
+iyr:2020
+hgt:186cm
+pid:328573727
+
+iyr:2011 hgt:188cm pid:338435675 cid:326 ecl:gry
+eyr:2027
+hcl:#6b5442
+byr:1958
+
+pid:165cm
+hgt:70 iyr:1996
+eyr:2034 cid:210 hcl:z ecl:#75606f byr:2027
+
+hgt:180in hcl:#a0515a pid:#97a753
+byr:2026 iyr:2016
+eyr:1995
+
+eyr:2020
+hcl:#18171d byr:1978 iyr:2012 hgt:68in
+ecl:amb cid:346 pid:332495922
+
+ecl:blu hgt:61in pid:747650669
+byr:1961 eyr:2028
+iyr:2020
+hcl:#4992f2
+
+byr:1958 iyr:2017 ecl:oth
+hgt:153cm
+hcl:#602927 eyr:2023 pid:108391213
+
+byr:1976 eyr:2023 iyr:2015 hgt:177cm pid:391628371 hcl:#8069c4
+ecl:grn
+
+pid:910402636 ecl:gry hgt:188cm byr:1924 hcl:#82dfdc eyr:2029
+
+byr:1978 pid:302223240 iyr:2017
+hgt:174cm
+hcl:#6b6569 ecl:blu eyr:2027
+
+cid:135
+byr:1995 iyr:2015 ecl:oth pid:054611703
+eyr:2023
+hcl:#7d3b0c hgt:75in
+
+ecl:grn
+eyr:2020 hgt:184cm pid:444944678 iyr:2019 hcl:#efcc98
+
+byr:1946
+hgt:70in eyr:2022 hcl:#6b5442 ecl:amb iyr:2018 pid:859762925
+
+byr:1995 eyr:2022
+ecl:grn pid:575081777
+hcl:#341e13
+hgt:183in iyr:2018
+
+eyr:2028 hgt:162cm byr:1989 hcl:#0bd11f
+iyr:2020 ecl:gry
+pid:073498924
+
+iyr:2014
+pid:122787281 byr:1982 cid:138 eyr:2021 hcl:#866857 ecl:hzl hgt:184cm
+
+cid:198 byr:2014
+pid:5529128129
+hgt:185in
+iyr:2025
+hcl:z
+eyr:2023
+ecl:gmt
+
+eyr:2021 hgt:170cm
+cid:74
+iyr:2019 pid:943445928 byr:1980
+ecl:oth hcl:#ceb3a1
+
+iyr:2020 eyr:2030 pid:201122734 cid:246 hgt:169cm ecl:grn hcl:#fffffd byr:1962
+
+pid:025560194
+byr:1989
+hcl:#cfa07d hgt:182cm ecl:blu eyr:2025 iyr:2012
+
+hgt:151cm
+hcl:#efcc98 ecl:blu
+byr:1983 eyr:2023 pid:814513328 iyr:2013 cid:73
+
+byr:1961 pid:536384108 hgt:188cm ecl:amb iyr:2013 eyr:2027 hcl:#888785 cid:121
+
+pid:364607819
+eyr:2024 ecl:amb hcl:#b6652a iyr:2016
+byr:2000 hgt:187cm
+
+hcl:z eyr:1956 iyr:2028
+hgt:168cm cid:105
+byr:2026
+ecl:#5b17d3
+
+cid:207 pid:913509058 ecl:brn byr:2001 eyr:2026
+hcl:#866857 iyr:2019
+hgt:180cm
+
+pid:363979129
+eyr:2027 iyr:2013
+ecl:gry hcl:#866857 byr:1957 hgt:62in
+
+byr:1932
+eyr:2027
+hgt:66in ecl:hzl hcl:#efcc98 pid:417620217 iyr:2013
+
+iyr:2013 cid:331 hgt:192cm
+hcl:#d896d9 pid:795744816 byr:1935
+
+byr:1960 hcl:#888785 hgt:176cm ecl:hzl pid:025206542
+iyr:2015 eyr:2030
+
+ecl:oth hgt:182cm
+hcl:#341e13
+pid:526568190 iyr:2018 cid:280 byr:1997
+eyr:2028
+
+hgt:186cm pid:273625601 byr:1993 iyr:2018 eyr:2021 hcl:#733820
+ecl:blu
+
+hgt:74cm
+byr:1981 eyr:2024
+ecl:amb iyr:2012 pid:154027492 hcl:#733820
+
+hcl:#a97842 pid:347084450 ecl:oth
+eyr:2030 hgt:176cm byr:1955 cid:229
+iyr:2013
+
+hcl:#fffffd byr:1979 iyr:2017
+pid:183840860 hgt:177cm ecl:blu eyr:2023
+
+pid:045246162 eyr:2021 byr:1928 hgt:190cm ecl:gry hcl:#602927
+
+pid:273620987
+eyr:2022 hgt:162cm
+cid:269
+byr:1991 hcl:#602927 ecl:amb iyr:2019
+
+pid:621069556 ecl:amb
+cid:202 byr:2020 hgt:189cm
+iyr:2014 hcl:#fffffd
+eyr:2027
+
+eyr:2022 byr:1988
+hgt:190cm
+pid:349839553 hcl:#602927 iyr:2018 ecl:gry
+
+iyr:2014 ecl:gry
+hcl:#733820 eyr:2025 hgt:179cm pid:231854667 byr:1984
+cid:102
+
+eyr:2020
+pid:509400891 hcl:#cfa07d hgt:172cm
+ecl:grn byr:1997 iyr:2020
+
+iyr:2017 byr:1994 hgt:174cm ecl:amb
+pid:685743124
+hcl:#fffffd eyr:2029
+
+iyr:2012 hgt:177cm byr:1999 pid:549190825 hcl:#b6652a eyr:2028 ecl:oth cid:316
+
+hgt:192cm ecl:grn byr:1924
+iyr:2011 eyr:2029 hcl:#efcc98
+pid:215962187
+
+iyr:2011 hcl:#866857
+cid:164
+hgt:184cm
+ecl:gry eyr:2023 byr:1959 pid:204093118
+
+hgt:172cm ecl:hzl hcl:#3f2f3a pid:623470811 byr:1938 iyr:2013 eyr:2022
+
+hcl:#b6652a
+iyr:2019 hgt:152in
+ecl:oth
+pid:189008850 byr:2006
+
+ecl:oth hcl:#602927
+pid:049746898 byr:1924 hgt:150cm eyr:2026
+iyr:2014
+
+ecl:oth
+eyr:2028 byr:2018 hcl:#733820
+pid:8676207205 iyr:2018
+hgt:190cm
+
+eyr:2023 cid:308 hgt:170cm ecl:oth iyr:2014 hcl:#18171d pid:874405208 byr:1936
+
+eyr:2021 ecl:hzl
+pid:423603306
+hcl:#c0946f cid:147
+byr:1988 iyr:2016 hgt:164cm
+
+hgt:176cm iyr:2010
+hcl:#6b5442 cid:280 byr:1988 ecl:hzl pid:967151288 eyr:2028
+
+cid:299 hgt:163cm ecl:gry
+pid:561439154 eyr:2023
+hcl:#cfa07d iyr:2019 byr:1959
+
+pid:635547007
+ecl:blu
+byr:1996 hcl:#7d3b0c cid:280 eyr:2023
+hgt:170cm iyr:2017
+
+hcl:#888785 iyr:2014
+ecl:brn
+hgt:190cm byr:1941 eyr:2021
+
+hcl:#c0946f cid:199 hgt:162cm ecl:amb pid:130696599 eyr:2022 iyr:2018 byr:1948
+
+cid:314 hcl:#a4fc09 ecl:hzl iyr:2019
+pid:886849824 eyr:2026 byr:1933 hgt:178cm
+
+byr:1996 iyr:2016 eyr:2030 hgt:169cm
+pid:119207760
+hcl:#ef542c
+ecl:brn
+
+iyr:2030 eyr:2039 hcl:#c0946f pid:#7336a0 hgt:182cm cid:347
+ecl:#c81361 byr:2003
+
+pid:727812879 iyr:2013 eyr:2027 hgt:172cm
+hcl:#7d3b0c ecl:gry byr:1966
+
+hcl:#341e13
+iyr:2016 pid:744997238
+cid:322
+byr:1973
+ecl:hzl eyr:2028 hgt:190cm
+
+hgt:171cm eyr:2026
+iyr:2014 ecl:oth
+pid:074049558 hcl:#04083f byr:1923
+
+pid:973713235
+eyr:2021
+ecl:brn
+byr:1922 hcl:#fffffd iyr:2012
+hgt:178cm
+
+ecl:#10165d
+cid:201 eyr:2026 pid:#ceefa8 byr:2020
+hgt:164cm iyr:2011
+hcl:9fccf7
+
+ecl:blu
+hgt:165cm iyr:2012 eyr:2025 pid:775787557
+byr:1952 hcl:#623a2f
+
+pid:6186829005 ecl:lzr hcl:z hgt:69in iyr:2021 byr:2018 eyr:1974
+
+pid:824641755 eyr:2028 byr:1950 hgt:184cm
+hcl:#c0946f
+iyr:2014
+
+hcl:#7d3b0c cid:84 hgt:187cm iyr:2015
+pid:895876610
+byr:1988 eyr:2023
+
+hcl:#fffffd
+hgt:157cm iyr:2020 eyr:2030 ecl:grn pid:486236241
+
+iyr:2010
+eyr:2029
+hgt:74in ecl:hzl byr:1926 pid:348573885 hcl:#9d1214
+
+hgt:171cm ecl:oth
+eyr:2022 pid:148728436 byr:1993 hcl:#a97842 iyr:2013
+
+iyr:2019
+hgt:151cm
+eyr:2020 pid:319882814 ecl:grn byr:1966 cid:256 hcl:#3107b3
+
+hgt:184cm ecl:grn
+byr:1947
+eyr:2025 iyr:2015 pid:827962962 cid:62 hcl:#f3a364
+
+iyr:2013
+hcl:#fffffd pid:215012801 ecl:amb eyr:2024
+hgt:154cm
+byr:1973
+
+ecl:hzl hgt:152cm
+hcl:#623a2f
+byr:1944 eyr:2022 pid:295632731
+cid:243 iyr:2019
+
+ecl:brn
+iyr:2011 pid:089250747 byr:1984 hcl:73e739 cid:253 hgt:161cm eyr:2021
+
+hcl:#18171d byr:1944 pid:732054667 eyr:2021
+ecl:oth hgt:173cm
+
+ecl:gry pid:445116331
+hcl:#a97842
+hgt:187cm eyr:2026 iyr:2020 byr:1992
+
+hcl:80c091 pid:745555899
+iyr:2021
+hgt:170cm
+byr:1990
+
+pid:058987865 byr:1927 cid:209
+hcl:#65ccf6 eyr:2025
+ecl:brn iyr:2012 hgt:164cm
+
+hgt:67cm
+byr:2026 hcl:f8e749 iyr:2023 eyr:1921 ecl:lzr
+
+eyr:2028 iyr:2013 pid:103268377 hgt:179cm byr:1922
+ecl:hzl
+hcl:#7d3b0c
+
+byr:1923 ecl:gry hgt:167cm hcl:#7fc8ee iyr:2015 pid:427963077 eyr:2024
+
+byr:1927 ecl:grn pid:741328150
+eyr:2029 hcl:#733820
+iyr:2015 hgt:157cm
+
+hgt:70cm hcl:e76970 iyr:1945 cid:186
+byr:1921 eyr:2029
+pid:823622634
+ecl:zzz
+
+hgt:61cm cid:87 hcl:d5e5ff
+eyr:2024 ecl:dne pid:182634269
+iyr:2029
+
+hcl:#623a2f eyr:2020 byr:1936 ecl:gry pid:236984204
+iyr:2011 hgt:156cm
+
+pid:872645776
+byr:2023
+cid:220 ecl:blu hgt:172cm eyr:2033
+iyr:2010 hcl:ff82f9
+
+pid:774489073 iyr:2013 byr:1922 ecl:brn eyr:2025 hcl:#18171d hgt:163cm
+
+eyr:2024 hgt:65in byr:1962 iyr:2019
+pid:112233558 hcl:#888785 ecl:grn
+
+hgt:172cm eyr:2022
+hcl:#18171d ecl:blu
+pid:609008608 iyr:2013
+cid:244 byr:1980
+
+cid:124 hgt:175in eyr:2025
+hcl:674e80 pid:099875931 iyr:1956
+
+byr:1926 hgt:188cm
+ecl:hzl eyr:2021
+iyr:2018
+hcl:#866857 pid:557800355
+
+byr:1939 pid:200409089
+eyr:2026 hgt:164cm
+ecl:grn iyr:2013
+hcl:#733820
+
+cid:73 hgt:169cm iyr:2016 byr:1976 ecl:gry eyr:2024
+pid:043453462
+
+pid:609818712 hcl:#733820 byr:1958
+eyr:2025 hgt:187cm iyr:2017 ecl:gry
+
+hgt:66in pid:618590610 iyr:2013 byr:1938 hcl:#d1bda9
+eyr:2022
+ecl:grn cid:69
+
+hgt:156cm pid:755742405
+byr:1929 hcl:#6b5442 eyr:2024
+iyr:2018
+ecl:gry
+cid:105
+
+eyr:2030 pid:77022842
+hgt:160cm byr:1989
+iyr:2011 hcl:#7d3b0c ecl:blu
+
+iyr:2015
+hcl:#341e13 byr:1968 pid:434159843
+ecl:amb hgt:150cm
+eyr:2030
+
+hcl:z eyr:1993 pid:#b3a5a6 iyr:1947 hgt:176in
+ecl:#78876d
+
+cid:249 hcl:#cfa07d
+hgt:180cm ecl:gry eyr:2026 byr:1965
+pid:048327438 iyr:2010
+
+pid:136468890 ecl:gry
+byr:1940
+hcl:#fffffd hgt:185cm iyr:2016 eyr:2021
+
+hcl:#b6652a hgt:180in byr:1976 eyr:2022 pid:156cm ecl:#737836
+iyr:2013
+
+ecl:amb iyr:2016 hgt:162cm byr:1955 pid:193cm eyr:2028 cid:346
+hcl:#733820
+
+iyr:2010 byr:1932 eyr:2025 ecl:grn
+pid:595837820
+hcl:#341e13
+hgt:166cm cid:224
+
+pid:481646831
+eyr:2029
+hcl:#623a2f cid:319 iyr:2016
+ecl:brn hgt:160cm byr:1944
+
+ecl:zzz pid:428329840 cid:238 iyr:2022 hgt:76cm
+hcl:#a97842
+byr:2024 eyr:2028
+
+iyr:2014 hgt:170cm
+byr:1963 hcl:#623a2f
+eyr:2026 pid:225910806 ecl:gry
+
+ecl:grn iyr:2010 hgt:193cm byr:1928 eyr:2028 pid:343022641 hcl:#733820
+
+eyr:2023 ecl:grn
+byr:1950 iyr:2012 hcl:#866857 pid:400725165
+hgt:193cm
+
+cid:195 iyr:2014 ecl:oth eyr:2027 byr:1966
+hgt:177cm hcl:#18171d pid:913894485
+
+iyr:2015 hgt:154cm
+cid:206
+pid:134599284 hcl:#602927
+eyr:2023 ecl:brn
+byr:1983
+
+ecl:#2d0e7a pid:#f34625 eyr:1942 iyr:2027 byr:2013 hcl:z hgt:162cm
+
+hgt:189cm byr:1965 iyr:2011
+cid:178 ecl:hzl
+hcl:#b6652a eyr:2026 pid:683560227
+
+eyr:2030 pid:047446524 ecl:grn hgt:167cm iyr:2017 hcl:#602927
+byr:1920
+
+cid:86
+iyr:1920 hgt:193cm
+eyr:2027 pid:401913877 ecl:hzl
+hcl:#888785 byr:1953
+
+byr:1991
+ecl:grn
+iyr:2016
+hcl:#5e1ef2 hgt:186cm
+pid:076499738
+eyr:2025
+
+eyr:2030 hcl:#18171d pid:750694893
+hgt:157cm iyr:2020 cid:338
+byr:1956 ecl:gry
+
+iyr:2027 pid:#37f002 hgt:164cm ecl:#80df11
+hcl:#aeacee cid:320
+eyr:2039 byr:1956
+
+iyr:2014 hcl:#733820 ecl:grn
+byr:1960
+eyr:2025 pid:667089568
+
+hgt:163cm
+byr:1962 cid:108 ecl:gry hcl:#733820 iyr:2012
+eyr:2029 pid:763684725
+
+byr:1984 hcl:#888785 hgt:159cm iyr:2012 ecl:gry
+eyr:2024 cid:236 pid:174711749
+
+ecl:gry pid:044931271
+hcl:#b6652a eyr:2029 iyr:2013 byr:1985
+
+byr:1973 iyr:2018 hcl:#a97842 pid:937214113 ecl:blu
+cid:247 hgt:186cm eyr:2023
+
+cid:108 pid:231782961 iyr:2017
+eyr:2034 hgt:170cm byr:2025 hcl:#18171d ecl:utc
+
+pid:298274796 byr:1928 hcl:#a97842 hgt:188cm iyr:2011 ecl:gry eyr:2028
+
+hgt:65cm iyr:1943 eyr:2025
+hcl:z
+pid:65702335 ecl:#bb54e6 byr:2010
+
+pid:499116613 eyr:2024
+ecl:gry hcl:#cfa07d hgt:193cm byr:1999
+cid:278 iyr:2015
+
+hcl:#6b5442 eyr:2027 hgt:175cm byr:1988
+ecl:brn pid:410075320 iyr:2010
+
+pid:269678991 ecl:oth iyr:2013
+hcl:#602927 byr:1991 eyr:2023
+
+ecl:oth
+pid:144593265 hcl:#fffffd
+eyr:2020 iyr:2018
+byr:1975 hgt:160cm
+cid:304
+
+iyr:2014 hcl:#ceb3a1 eyr:2029
+byr:1951 pid:520804395 hgt:185cm ecl:oth
+
+hgt:159cm
+pid:312887994
+cid:205
+iyr:2016 ecl:hzl hcl:#866857 eyr:2029 byr:1944
+
+iyr:2023 ecl:#54c85c byr:2030
+eyr:1946 cid:190 pid:512417622
+
+byr:1946 eyr:2023 hgt:163cm
+hcl:#2d4e9c ecl:brn pid:839043333 iyr:2014
+
+iyr:2027 cid:122 hgt:187cm eyr:1975 ecl:grn byr:1920
+hcl:#c0946f
+
+eyr:2029 hgt:189cm ecl:blu byr:1922 iyr:2016
+pid:924104599
+hcl:#b6652a
+
+hgt:162cm
+iyr:2016 byr:1921 hcl:#18171d eyr:1938 ecl:hzl
+pid:682222023
+
+cid:118 pid:959515596
+byr:1921 iyr:2010 eyr:2029 hcl:#7d3b0c ecl:oth hgt:158cm
+
+ecl:#8ac844 pid:162cm
+hcl:8f4d80 hgt:150in byr:2005
+eyr:2008
+iyr:2017 cid:174
+
+hcl:z byr:1936
+pid:255481052 eyr:2021
+iyr:2012 hgt:170cm cid:276 ecl:hzl
+
+iyr:2013 byr:1935 hgt:179cm
+eyr:2023 ecl:amb pid:073621563 hcl:#623a2f
+
+hcl:#18171d cid:230 byr:1989 ecl:oth eyr:2021 hgt:181cm pid:661224730
+iyr:2019
+
+pid:748039140 iyr:2020 eyr:2020 ecl:#6ebbc2 hcl:#fffffd hgt:171cm
+byr:1995
+
+ecl:hzl pid:758144605 hcl:#ceb3a1 hgt:186cm
+eyr:2028 iyr:2014
+byr:1928
+
+ecl:hzl
+hgt:66in
+byr:2000 iyr:2017 eyr:2020
+pid:162973694 hcl:#a97842
+
+iyr:2012 pid:749770535
+byr:1969 cid:148
+hcl:#733820
+hgt:180cm eyr:2021 ecl:hzl
+
+iyr:2010
+byr:1958
+hgt:164cm
+ecl:blu hcl:#733820 pid:890634327 eyr:2024
+
+hgt:70in pid:218397894
+iyr:2020 eyr:2025 ecl:gry hcl:#341e13
+byr:1970
+
+eyr:2020 pid:854208004 hgt:157cm hcl:#7d3b0c ecl:amb byr:1981 iyr:2020
+
+byr:1924
+cid:321 eyr:2028 hcl:#cfa07d iyr:2010 ecl:amb pid:036669613 hgt:170cm
+
+ecl:#6649d4 pid:0026989865 cid:188
+hgt:152in
+byr:1950 hcl:z eyr:1928 iyr:1963
+
+hcl:#ceb3a1 ecl:grn eyr:2028 pid:074363489 iyr:2010 hgt:173cm byr:1966
+
+eyr:2030
+pid:9731612333 ecl:#f8824c
+iyr:2022 hgt:161in
+byr:2023
+cid:316
+hcl:z
+
+hgt:175cm iyr:2016 eyr:2024 cid:244
+byr:1952
+pid:085432899
+hcl:#fffffd ecl:brn
+
+ecl:brn eyr:2026 iyr:2017 hgt:75in
+pid:745302991 byr:1969 hcl:#7394c7

+ 16 - 0
puzzleInput/day4-2.txt

@@ -0,0 +1,16 @@
+ecl:gry pid:860033327 eyr:2020 hcl:#fffffd
+byr:1937 iyr:2017 cid:147 hgt:183cm
+
+iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884
+hcl:#cfa07d byr:1929
+
+hcl:#ae17e1 iyr:2013
+eyr:2024
+ecl:brn pid:760753108 byr:1931
+hgt:179cm
+
+hcl:#cfa07d eyr:2025 pid:166559648
+iyr:2011 ecl:brn hgt:59in
+
+ecl:gry pid:860033327 eyr:2020 hcl:#fffffd
+byr:1937 iyr:2017 cid:147 hgt:183cm

+ 846 - 0
puzzleInput/day5-1.txt

@@ -0,0 +1,846 @@
+FBBFFBBLLL
+FFBFFFBRLL
+FFBBBBFRRL
+FBFBBBBRLL
+BFBBBBFLLR
+FFFBBBBLRR
+BFFFFFBLLL
+BBFFFBFRRL
+FFBFFFFLLR
+BFFFBBBRRL
+FBFBFFFLRL
+FFFBBFBLRR
+FBFBFBFLRR
+FBBBBFBRRL
+BFFBFFBRRR
+FBBBFBBRLL
+FBFFBFBRLR
+BBFBFFFLRL
+FFBFFFFRLR
+FFBBFBFRRR
+BFBBBFBLRR
+FFBBFFFLRL
+FBBBBFFRLR
+FBBBBBBRLR
+FFBFBFBLLL
+BBFBFBBLLL
+FFFFFBBRRL
+FBFFBFBRRR
+FFFBFFFRLL
+BFBFBFFLLL
+BFBFFBFLLL
+FFFFBFFRRL
+FBFFFFFRLR
+FBBFFBBLLR
+BFFFFFBLRL
+BFBFFFBLLR
+FBBBBBBLLL
+BBFBFBFLLL
+FFBFFBFLRR
+BBFFFBBRLL
+FFBFFFFLLL
+FBBFFBFLLL
+FFFBBBFRRR
+BFBBFBFRLL
+FBBFBFFRRL
+FBFBBFBLRR
+FFBBBBBRLR
+FFBFBFFLLL
+FBFFFBFRRL
+BFFBBFFRLL
+BFFBBFFLLR
+BBFFBFFRRL
+FBFBFBFLLR
+BBFFBFBLRL
+BFBFBFBLRR
+FFBBFBBRRL
+BFBBBFBRLR
+FBFFFFBLLR
+BFBFFBBLRR
+BBFBFBFRRR
+FFBFBBBRRL
+BFBFBBFRLR
+FBFBBBBRLR
+BFFFFBBRRR
+BBFFFBFLLR
+FBFFFFBRRL
+BBFFBFBLLL
+BFFFBBBLLL
+FFBFFFBLRR
+BFBFBBBRRR
+FBFFBFFRRR
+BFFBFFBLLL
+BFBBFFFLRL
+BBFBFFBRLR
+FBBFFFFLLL
+FBFFFFBLLL
+BBFFFFBRLR
+BBFBFFBRRL
+FBBFBFBRRR
+FBFFBFFLRR
+FFBBBFBLLR
+FFFFFBFRRR
+BFBBBBBLLR
+BBFBFFFRLL
+BFFBFBBLRR
+BFFBBFBRLL
+FBFFBFFRLR
+FBFBBFFLLR
+FFFFFBFRRL
+FFBFFBFRLR
+FBFBBBFLLL
+FFBFBBFLLR
+FBFFBBBRLR
+FFFBFBFLLR
+BFBBFBBLRL
+BFFFFBFLLL
+BFBFFBFLRL
+BBFFBFBLLR
+BFFFBFBRRL
+BBFBFFBLLR
+FFBBFFFRLL
+FFFFFBBRLR
+FFBFBFBRLL
+FBBBBFBLRR
+FFFBFFFRRL
+FFFFBFFLRL
+FFFFBFFRLR
+BFFFFFFRRR
+BBFFBFBRRL
+BBFBFFFLRR
+FFBBBFFLLR
+FBFBFBBRLR
+FBBFBBBLRR
+BFFBBBFRLL
+BFBBFBBLLL
+FBFFFBBLLR
+FBBBBFFRRL
+BFBBFFFLLR
+BFBBBFFLRL
+FFBFFBBRLL
+FBFBFFBRRR
+FBBFBBBLRL
+BFFFBFFLRL
+BFFBFFBLRR
+BFBFBBFLRL
+FBFBBFFRLL
+BFFFFBBRRL
+FFBBBBBLRL
+FBBFFBFRRL
+BBFFBFBRLL
+FBFFFFFLRL
+FFFBFBFRLR
+FFBBBBFLLR
+FFFBBBFRLR
+FFBBFFBRRR
+FFFBFFBLRL
+FBFBFBBLLL
+BFFFFBBLRR
+BBFFBBFLLR
+FFFFFFBRLL
+FBBBBBBLRR
+FFFFBFBLLR
+BBFFBBFRRL
+BFBBBBBLRR
+BFBBFBBLRR
+BBFFFFBRRR
+BFBBBFBLLR
+BBFFBBBRRR
+FBBFBFBRLL
+FFFFFBBLRR
+BBFBFBBLLR
+FBFFFBFRLR
+BBFFBFFLLR
+BBFBFFFRLR
+FFFFBFBLRL
+FFBBBBBLRR
+FBBBFFBLRR
+FBBFBBFRLL
+FBBFBFBRLR
+FFBFBBBLRL
+FBFFBBBLLL
+FFFBBBBRRR
+FFBFFBFLRL
+BFFFBBFRLL
+BFFFFBBLLR
+BFFFFFBRRL
+BFFBFBBRRL
+FFBFFFBRRL
+BFFBFFFLRL
+BFFBBBFLLL
+FFBBFFFLRR
+FBBBFFBRLL
+FFBBFFFRLR
+BFBFBFFRLL
+FFFFBBFRRR
+BFBFBBFRRL
+FBFBBBFLRL
+FFFBFBBRLL
+FFBBBFFLLL
+BBFFFBBLRL
+FBBBFFBRRR
+BFBFBFBLLL
+FFBFFBBRLR
+FFBFBBBRLR
+FFFFFFBRLR
+BFFBBFFLRL
+FFBFFBFRRR
+FFBFBFFRLL
+FBFBFFBLLR
+FBFBFBBRRR
+FFFBBFBRRR
+FBBBBFBLLR
+FFFFBFBRLR
+FFFBBBFRLL
+FBFFBFBLLL
+FBFBFFFLRR
+FFFBBFFLLL
+BFBFFFFLLL
+BBFFFBFLLL
+FFFFBFBRRL
+FFBBBFBRRL
+BFBFFBBRLR
+FFFBBFFLRL
+FFFBFBBLLR
+FFBBBFFRLR
+FBBBBFBLRL
+BFFFBBFLLL
+BFFBFBFLLR
+FBFFBBFLRR
+BFFBBBBLLR
+FBBBFFFRRR
+FBFFBFBLRL
+BFFFFFFRLR
+FBBBBFBRRR
+FFBBBBFLRL
+BBFBFFBLRL
+BFBFBBBLRR
+FFFFFBFLLR
+FBBFFBFLLR
+BFFFFBBRLL
+FFBFBBBLRR
+FFFFBFFLLR
+BBFFFFFRLR
+FBBBBFFRLL
+BFFFBFBLRR
+FBFBBBBLLR
+BFFBFFBRLL
+BFBFBFFLRR
+BFFFFBFLRR
+FBBFFBFLRR
+BFFBBFBLLR
+FBBFFFBLRL
+FBFBFBBRRL
+FBFFBFFRRL
+BFBBFBFLLR
+FFFFBFFLRR
+BFBFFFBLRL
+BFFBBBBRRR
+FFFFBBBLRR
+FFFBBFBLLL
+FFBBFBFLLR
+BFBBFBFLLL
+FBBFBFFLLR
+FFFBBFFRRR
+FFBBBBBRRR
+FFFBFFFRLR
+BFFBFBFLRR
+FBFFBFBRLL
+FFFFBFFLLL
+FFBBBFFRLL
+FBFBFFBLLL
+FBFBBBFLLR
+BFBBBFFRLL
+BFBBBBBRRL
+FFFFFFBRRL
+FBBFBBFLRL
+BFFBFBBRLL
+FFFFFBFLRL
+BFBFFFBLRR
+BBFFFBFLRR
+BFBFBBBLRL
+FBFFFFBRLR
+BFBFBBBLLL
+BFFFFFFRRL
+FBBFFFBRRR
+FBBFBFFLRL
+BBFFFFFLRL
+BFFFFBBLRL
+FBFBBFFRRR
+FBBFFFFLRR
+FFFBFFFLRR
+FBFBBFFRRL
+BFFBFFBRRL
+BFFBFBFRRL
+FFBBFBBLLR
+FBFFBFFRLL
+BFBFFBBLLL
+FFBBFFBLLL
+BBFFFBBRRL
+BFFFFFFLLL
+FFBBBBFRLL
+BFBBBBFRRR
+BFFBBBBRLR
+FBFFBBFRLL
+BBFBFFBLRR
+FBFFBBBLRR
+BBFBFFFRRL
+BFBFFFFLRR
+BFBFFBBRRR
+FBBFFFBLLL
+BFFBBBFRLR
+BFFFFBFRLL
+FBFBBBBRRL
+BBFFBBFLRL
+FBBBBFFLLR
+BFBBFFBRRR
+FBBFFBBLRR
+FBBBBBBRRL
+BBFFFBBLLR
+BFBBBBFLRL
+BFFBFFFRLR
+FFFFBFBRRR
+FFFFBFBRLL
+BFFFFFFRLL
+BFFFBBBRLL
+FFFFFBBLLL
+FBFFFBFLRR
+FBFBFBFLLL
+BFBBFFBRLL
+BFFFBBFRLR
+BFBBFFFRLL
+FFFBBFBLRL
+BBFFFFFLRR
+BBFFFBFRLR
+BFBBBBFLRR
+FBFFFBBLLL
+BBFFBFBRRR
+FBFBFBBLRR
+FBBFBFFRLR
+FBFBBBBLLL
+FFFBBFBLLR
+FFFFBBBRRL
+FFBBBBFRLR
+FFFBFFBRRL
+BFBBFBBLLR
+FFBFFFFLRL
+BFFBFBFRLR
+FFBBFBBLLL
+BFFBBBFLRL
+FFFFFBFRLL
+BFFBFFBRLR
+BFFFBFFRRL
+BFBFBBBRLL
+BFFFFFBLRR
+FBBFFBBRLL
+FFFFBBBLRL
+BBFFFFBLRR
+BFBFBBBLLR
+BFFFBFFRLR
+BFBBFBFRRR
+BFFBBBFLRR
+FFBFBBFRRR
+FBBBFBFRLR
+BFBFFBBRLL
+BBFFBFFRLL
+BFFFBFBLLR
+FBFBBFFLRL
+BFFFFBBLLL
+BFBBFBBRRL
+BFFFBFFLLL
+BFBBBFBLLL
+FFBBFBFLRR
+FFBBFBFRLR
+BFBBBFFRRR
+BBFBFFFLLL
+BFFFFFBRLL
+FBBFBBFRRR
+BFFFBBFLRR
+BFFBBBFRRL
+FFBFFFFRRL
+FBFFBFBLRR
+FFBFBFBRLR
+BBFFBFFLRR
+BFFBBFFLLL
+FFBBBFBRRR
+BBFFBFFRRR
+FBBFFFFRRR
+FBBBBFFLRR
+FBBFBBBRRR
+FFBFBFBLRL
+FBBFFFBLRR
+FBFFBFFLRL
+BFBBFFFRRR
+FBFBBBFRLR
+BFFFFFBRRR
+FBFBFFFRRR
+BBFFFBFLRL
+FFBFBFBLLR
+FBFFFBBRRL
+FBBBFFBLLL
+BFBFBFFRRR
+FBFFBBBRLL
+FFBFFBBLLR
+FFBBFBBRLL
+BFBFBBFRLL
+BFBBFFBLLL
+BFFBBBFRRR
+BFBFBFBRRL
+BFFFFFFLLR
+BFFFBBBRRR
+FBBBFBFRRR
+FFFBFFBRLL
+BFFFFBFLRL
+FBFBBFFRLR
+FBBBBBFLRL
+FFFBBBFRRL
+BFBFFFFLLR
+FBFFFBBLRR
+FBBFBBBRRL
+FFFBBBFLRR
+BFBFFBFRRL
+BFFFBBFRRL
+FBBBFFBLLR
+FFBBFBBLRL
+BBFBFBFRLR
+FFBFFBFLLL
+FFFFBFBLLL
+BBFFFFBRLL
+FBFFFBBRLR
+FFBBBFFRRR
+FFFBFFFRRR
+FFBFBBBLLR
+FFBFFFBRLR
+FFBBBFBLRR
+BFFBBBBLRL
+BFFFFBFRRR
+BBFBFBFRLL
+FBFBBBFLRR
+FFFFFBFLLL
+BFBBBFFLLR
+BFFBFBFRRR
+BFBBFFBLRR
+BBFFFBBRLR
+FBBBBBBLRL
+BFFBBBBRRL
+FFBFBFFRLR
+BFFFFFBLLR
+BBFFFFBRRL
+FFFBBFFLRR
+BFFFFBFRRL
+BBFFBFFLRL
+BBFBFBFLRR
+FBFBBBBLRR
+BFFBBFBRRR
+FFFBBBBRLL
+FBFBBBFRRL
+FFFFFFBRRR
+BFFFFFFLRL
+FFBBFFFLLR
+FBBFBFBLLL
+FBBFBBFRLR
+BFFBFFBLLR
+FBFBBFBRLL
+FBFBFBFLRL
+FFBFFFBLLR
+FBBFFBBLRL
+FFFBBBBLLR
+BFFBBBBLRR
+BFFBFBBLLR
+FFBBFFBRLR
+FBBBBFFLLL
+BFFFFFBRLR
+BFBBBBFRLL
+FFFBBFFRLR
+BFFFBFBLLL
+BBFFFFFRRL
+FBFFFFBRLL
+BFBFBFBLRL
+FBBFBBFLRR
+FFBFBBFLRR
+FFBFBFFLRR
+FFBFFFFRLL
+BFBFBFBRRR
+FBBBBFFLRL
+FFBFFFBLLL
+BFBBBFFRLR
+FBFBFFBRLL
+FBBBBBFRRL
+FBFFBFFLLL
+BBFFBBBLLR
+BFFFBFFRRR
+BBFFBBBRLL
+BBFFFBBLRR
+FBBFBBBRLR
+BFBFBBFRRR
+FBFFBBFLRL
+FFFFBBFLRR
+BFFFBFBRLL
+BBFFFFFRLL
+FFFBFBFRRR
+BFBBBBFLLL
+FFBBBFBRLR
+FFFFBBBRRR
+BFBFFBFRLR
+FBFFBBFLLL
+FFBFFBBLRR
+FBFBFFBLRR
+FFBFFBBRRL
+FFFBBBBRRL
+BFFBFBBLRL
+BBFFBBBLRR
+FFFBBFBRLL
+FFFBFBBLRL
+BFBFFFBRRL
+FBBFFFFLLR
+BBFBFFBLLL
+BFBFBBFLLR
+BFFBFBBRRR
+FBFFFFFLLR
+FFBBBFFLRL
+FBFFBBFRLR
+BFFFBFBLRL
+FBFBBBFRRR
+FFBFFBFRRL
+FBFBBFBRLR
+BFBFBFFRLR
+FBFFBBBRRR
+BBFBFFFLLR
+FBBFBBBLLL
+FFBBBFBLLL
+FFBFFFFRRR
+BFFBFBFLLL
+BFFBBBFLLR
+FBBBBBBRLL
+FBBFFBFRLL
+FFFBFFBLLR
+FFBBFFBLRL
+BFBBFBFLRR
+BFBFFFBLLL
+FBFFFBBRRR
+FFBFBFFLLR
+FBFFBBBRRL
+FBBBBFBLLL
+FFFFFBBLLR
+FBBFBFBLRL
+BFBBFBBRLL
+FFFFBFBLRR
+BBFFBBFLLL
+FBBBFBFRLL
+FBFBBFBLLL
+BBFBFBFLLR
+BFBFBFBRLR
+FFFFFBFRLR
+FFFFFBBRLL
+FBFBFBFRRR
+FBBBFBFLRL
+BBFFBBBLRL
+FFBBBBBRLL
+FBBBFBBRRR
+BFFFBBBLLR
+BFBBBBBRLL
+FFFFFBBLRL
+BBFFBFFRLR
+BFBFBFBRLL
+FFFFBBFLLL
+BFBFBFFRRL
+FFBBFFBLLR
+BFBBFFFLLL
+BFBBFFBRLR
+FBFBFFBRLR
+FBFFFBFRLL
+FBBFBFFLRR
+FBBFFBFRRR
+BFBFFFFRLL
+BFFFBBBLRL
+FBFBBBBRRR
+BBFFBBFLRR
+FBBBBFBRLL
+BBFFBBBRRL
+BFBBBFFLLL
+FBFFFFBLRL
+FBFFFFFRRL
+BFBBBFFLRR
+FBBFBFBLRR
+FBFBFBBLRL
+FFBFBFFRRL
+BFFBBFBRLR
+FFBFFBBLLL
+FBBBFBBLLL
+FBBBFBBRRL
+FBBBFBBLLR
+FBFFFBFLLL
+FBBBFFBRLR
+FBBFBBBRLL
+FBBFFFBLLR
+FFFBFBBRRR
+FBBFFFFLRL
+BFFFFBFRLR
+FBBBFFFLLL
+FFBBFBFLLL
+BBFFFFFRRR
+BBFFFBFRRR
+FFBFFBBLRL
+FBBBFFBLRL
+FFBBFBFRRL
+FBFFFBFLRL
+FBBBFFFLRL
+FFFFBBBRLR
+FFBBFBBRLR
+FBFBFFBRRL
+BFBFFBFRRR
+BFBFBFFLRL
+BFFBFFFLLL
+FBBFBFBRRL
+FFBBBFBLRL
+BFFFFBFLLR
+FBBBFBFLLL
+FBFFFBBLRL
+FBBFFFBRRL
+FBBBBBFLLR
+FBBBFBFRRL
+FFFBBFBRRL
+FBBBFFBRRL
+FBFBFBBRLL
+BFBBBBBLLL
+FBFBFFFLLR
+FFFBFFBRLR
+BBFFBFBLRR
+BFFFBFFLLR
+FBBFBBFRRL
+FFBBBBBLLL
+FBBFBFFRLL
+FFFBBBFLRL
+FFBBBBFLRR
+FBFFFFFRLL
+BBFFFFBLLR
+FFFFBBFRRL
+FFBBBBFRRR
+FBBBFBBLRL
+BFFBBFBLRL
+BFBBFFFRLR
+FFFBFBBRRL
+BBFBFBFRRL
+FFFBBBFLLR
+BFFFFBBRLR
+BFFBFFFLLR
+BBFBFFFRRR
+FFFFBBFRLR
+BFBBBFBRRR
+FBFBBBBLRL
+FFFFBBFLLR
+FBFBBBFRLL
+BFBBFBBRLR
+FFBBFFFRRR
+FFBBBFBRLL
+FBBFFBFLRL
+BFBFFFBRRR
+BFFFBBBRLR
+FFFFBFFRRR
+FFBBFFBLRR
+FBBFBFBLLR
+FFFBBBFLLL
+FBBBBBFLLL
+FFFFBBBLLL
+FFFBFFBLLL
+BFBBBBBRLR
+BFBFBBFLRR
+FBFBBFBRRR
+BFBBFFFLRR
+FFBBFFFLLL
+BFFFBBFLLR
+FFBBFBFRLL
+FBBBFFFRLL
+FFFBBFBRLR
+BFBFFBFLRR
+FBFBBFBLLR
+FBFFFFBRRR
+FFFBFBBLLL
+FBFBFFFRRL
+FFFBFBFLRR
+FFBBBBBRRL
+FFFBFFFLLR
+BFFFBFFRLL
+BFBBBBBLRL
+FBBBFBFLRR
+FFFFBBBLLR
+BFFFBFFLRR
+FBBBBBFLRR
+FBBBBBFRLR
+BFFBFFFRRR
+FFBFBBFLRL
+FFBFBBFRRL
+FFBFFBBRRR
+FFFFBBFRLL
+BBFBFBFLRL
+FBFBBFFLLL
+BBFFFFBLLL
+FBBBBFFRRR
+BFFBFBFRLL
+BFBBFBFRRL
+FFBFBBFLLL
+FBFFFBFRRR
+FFBFFBFLLR
+BFBBFFBRRL
+FBBFFBBRRR
+FFBFBBBRLL
+FBBBBBBLLR
+FBFBBFBRRL
+BFFBFFFRLL
+BBFFBBFRRR
+FBBBBBFRLL
+FBBFFFFRLR
+FBBFFBBRLR
+BFBFBFBLLR
+FBFFBFBRRL
+FFFBBFFRRL
+FFBFBBFRLR
+BFFBFBBRLR
+BFFFBFBRRR
+BFBBBFFRRL
+FBBBFBBLRR
+FFFBFBFRLL
+FFBBFFBRLL
+FFFBBBBRLR
+FBBBFBFLLR
+BFBFBBBRRL
+FBBBFFFRLR
+FBFFFFFLRR
+FFBFBFFRRR
+FFFBFBBLRR
+FBBFBFFLLL
+FFBFFBFRLL
+FFBBBFFLRR
+FFBFBFBRRR
+FFFBBBBLRL
+FFBFBFFLRL
+FBFBBFBLRL
+FFFBFBFLRL
+BFBFFBFLLR
+BBFFFBFRLL
+FFBBBBBLLR
+BBFFFBBLLL
+BBFBFFBRRR
+BFBFFFBRLL
+FFFBFBFRRL
+FFBFFFFLRR
+BBFFFFFLLL
+FBBBFFFLRR
+BFFFBBFRRR
+FBBFBBBLLR
+BFBFFFFRRL
+FFBBFFBRRL
+BFBFFBBLRL
+BBFFFBBRRR
+FFFBBFFRLL
+BFFBBFBRRL
+BFFFFFFLRR
+BFBBBBFRLR
+FBBFFBFRLR
+BFFBBFFRRL
+BFFBFFFRRL
+FFFFBBBRLL
+FBFBFFFRLR
+BBFFBBFRLR
+BBFFBBFRLL
+BFFFBBFLRL
+FBFFBFFLLR
+BFBBFBFLRL
+FBFBFBFRLL
+BFBFBBBRLR
+BFBFFBBLLR
+FBBBBFBRLR
+FBFFFFBLRR
+FBFFBBFRRR
+BBFFBFFLLL
+FFFBFBFLLL
+BFFBBFFRRR
+FBBFBFFRRR
+BBFFBBBRLR
+FFFBFFBLRR
+FBFBFBFRLR
+BFBBBBBRRR
+BFFBFBFLRL
+BBFFBBBLLL
+BBFFFFFLLR
+BFBFFBFRLL
+BFBBBBFRRL
+BFBBFFBLRL
+BFFBBFBLLL
+BFFBBBBLLL
+BFBFBBFLLL
+FBFBFFFRLL
+FBFBFBFRRL
+BFFBFBBLLL
+FFBBFBBRRR
+FFFBFFBRRR
+FBFFFBFLLR
+FBFFFFFRRR
+FBBFBBFLLL
+FFFBFBBRLR
+FBFFFFFLLL
+FBBFFFFRRL
+BFBBFFBLLR
+BBFBFBBLRL
+FBBFBBFLLR
+BFBFFFFLRL
+FFBBFBBLRR
+BFBBBFBLRL
+BFFBBFFRLR
+FFFFBFFRLL
+BFFBBFFLRR
+FBBBFBBRLR
+FBFBFFFLLL
+FFBBBFFRRL
+BFBBFBFRLR
+FBFFFBBRLL
+FFFBFFFLRL
+BFBBBFBRRL
+FBBFFFBRLR
+FFBBBBFLLL
+FBBBFFFLLR
+FBFFBBFLLR
+FFBFBBFRLL
+BBFFBFBRLR
+FBFFBBBLLR
+FFBFBFBRRL
+BFFBFFBLRL
+FBFFBFBLLR
+FFBFBFBLRR
+FFBBFBFLRL
+FFBBFFFRRL
+BFBFBFFLLR
+FBBBBBBRRR
+BFBFFFFRLR
+BFFBBBBRLL
+FFFFFBBRRR
+FFBFFFBRRR
+FFFBFFFLLL
+BFBFFFFRRR
+FBBBBBFRRR
+FBBBFFFRRL
+FBBFFFFRLL
+FFFFFBFLRR
+FFBFBBBLLL
+BFBFFBBRRL
+FFFFBBFLRL
+BFBBBFBRLL
+FFBFFFBLRL
+FBBFFFBRLL
+BFFBBFBLRR
+FFFBBFFLLR
+FBBFFBBRRL
+FFBFBBBRRR
+FBFBFFBLRL
+BFBBFBBRRR
+BBFFFFBLRL
+FBFBFBBLLR
+BFFFBBBLRR
+BFBFFFBRLR
+FFFBBBBLLL
+BFFBFFFLRR
+BFBBFFFRRL
+FBFFBBBLRL
+FBFBBFFLRR
+FBFFBBFRRL
+BBFBFFBRLL

+ 4 - 0
puzzleInput/day5-2.txt

@@ -0,0 +1,4 @@
+FBFBBFFRLR
+BFFFBBFRRR
+FFFBBBFRRR
+BBFFBBFRLL

+ 200 - 0
puzzleInput/dayOne-1.txt

@@ -0,0 +1,200 @@
+1863
+1750
+1767
+1986
+1180
+1719
+1946
+1866
+1939
+1771
+1766
+1941
+1728
+1322
+1316
+1775
+1776
+1742
+1726
+1994
+1949
+1318
+1223
+1741
+1816
+1111
+1991
+1406
+1230
+1170
+1823
+1792
+1148
+1953
+1706
+1724
+1307
+1844
+1943
+1862
+1812
+1286
+1837
+1785
+1998
+1938
+1248
+1822
+1829
+1903
+1131
+1826
+1892
+1143
+1898
+1981
+1225
+1980
+1850
+1885
+324
+289
+1914
+1249
+1848
+1995
+1962
+1875
+1827
+1931
+1244
+1739
+1897
+1687
+1907
+1867
+1922
+1972
+1842
+1757
+1610
+1945
+1835
+1894
+1265
+1872
+1963
+1712
+891
+1813
+1800
+1235
+1879
+1732
+1522
+1335
+1936
+1830
+1772
+1700
+2005
+1253
+1836
+1935
+1137
+1951
+1849
+1883
+1192
+1824
+1918
+1965
+1759
+1195
+1882
+1748
+1168
+1200
+1761
+1896
+527
+1769
+1560
+1947
+1997
+1461
+1828
+1801
+1877
+1900
+1924
+1782
+1718
+515
+1814
+1744
+1126
+1791
+1149
+1932
+1690
+1707
+1808
+1957
+1313
+1132
+1942
+1934
+1798
+2009
+1708
+1774
+1710
+1797
+1747
+959
+1955
+1717
+1716
+1290
+1654
+1857
+1968
+1874
+1853
+1175
+1493
+1425
+1125
+1973
+1790
+467
+1804
+987
+1944
+2001
+1895
+1917
+1218
+1147
+1884
+1819
+1179
+1859
+620
+1219
+2008
+1871
+1852
+1263
+1751
+1989
+1381
+1250
+1754
+1725
+1665
+1352
+1805
+1325

+ 323 - 0
puzzleInput/dayThree-1.txt

@@ -0,0 +1,323 @@
+...#.....#.......##......#.....
+...#..................#........
+....##....#.......#............
+.........#.......#.......#.....
+..#..............#.........#..#
+.....#.........#....#....#....#
+....##..........#.#.##.........
+...#....##...#...#...#.#..#....
+...#.......###..........#......
+.........#.....#....#...#.#....
+.#...###..#..##..#.........###.
+#.#...#..........###...#....#..
+#....#.#..#..........#.......#.
+.#..#........##.#..............
+............#..#.#............#
+.............#..........#......
+...#.......#...............#...
+.#...#..#..#............#..#...
+....##.##..................#.##
+#......#...#..##....#.....#...#
+#..#..........##....#...###....
+##......#.##.#......#..#......#
+....#...#.......##.##...#.#..#.
+##.#...#....#...#...#........#.
+........#..#.....#....#.......#
+.#......#......#..............#
+.#.....#..#..#..#..#..#....#..#
+.......#.....#.................
+.#......#...#..#..#...#...#....
+.........#..#..#.........#.....
+.....#.........#.#..........#..
+#......#....#....##....#.#.#...
+................##.#...........
+.....##.....#............#.#...
+...........#...#.#..##...#.....
+.......#....##.......#..#....#.
+.##......##....#....####.##..#.
+.....#.##.....#...#....##......
+.............#....#......#....#
+#.#.#.###........#.#....#.#....
+.##...........#................
+#..#..#...##..##.##...#..#.#...
+..#......##..#.#......#..#.#.#.
+.....#..............#......#...
+#.#..##.##...#............##...
+.#......#.............#........
+........##....#......#..#......
+##.........##....#..........#..
+..#..#....#.........##....#..#.
+........#..#..#........#...#...
+#.........#......##.#...#.##...
+.##.............#..###....#.##.
+.##.#....#.......#.............
+#..##.#.........#..##.#......##
+....#..#.......................
+.#.#.........#...............#.
+....#......#.#..##..#...#.#..#.
+#....##...##..#.......##.....##
+....##...##...#....#.....#..#..
+.#......#.#.#.#......##..#..#..
+.....##..#..#.....#.....#...##.
+....###................#..#.#..
+.....#..#..#.#..........#..#...
+...#.....#............#........
+#.............#...#..#.....#..#
+#........#.....#.#..#......#...
+...#.##.....#.#..#.........#..#
+.......##...#..#.#....##.......
+..................#..##..#.#.#.
+..#......#..#..#.....#...#.#...
+.#.......#.....#.#....#.#......
+##..#.#....#.###..#...#.......#
+.......................#.......
+..###..........#..##.##.#...##.
+.....#...#....###.........#..#.
+..#.....#....###...............
+....#.......#........#....#..#.
+......#................#.#...##
+#.....#.......#..#..........##.
+#.#....##.........#.....#.#....
+#.#.#...#............####.##..#
+.....#....####........#...#..#.
+....##........#.#..............
+.#......#..#..##......#....#.##
+..#....#.#........#..#....#....
+.#...#.##...#.#.....#.....#...#
+..........#................###.
+.....#..........##..#..........
+.....#..................#...#..
+#......##....#.#...#..#.......#
+..#......##....#......#.#...#..
+###.#..###.#.#..#...#....#.....
+#.....#.#...#.##...#........#..
+#..........................#...
+.#.#.....#.#.#.......##.#.#....
+.#....#..##......#....#........
+.#.......#.##......#.#..#......
+............#.....#....##.##...
+....##........##......#........
+....#......##....##.....#......
+..#.#.....#......#...#.#.......
+.###.........#...#........#....
+......#.#...##.....##..##..#...
+...#...#.#......#..##..#.......
+.##....#.#........#.#..........
+#....#.#......#......#.#.#.....
+#.....#.....#................##
+...........#....#...#...#......
+..........##..##..#...##.......
+.##......#.......#..#.#..##....
+..........##....#....#..#.#....
+...............#......#.....##.
+.#...#....................#..#.
+.............###...............
+.####..............#...#.......
+....#...#.#...#...#....#.......
+.......#.#.....................
+...............................
+#..#.........##.......#.#.#....
+....##...#...........#......#..
+........##...#......#..........
+....#.#.....#..#......#........
+#..#................#..#.##....
+.#........#.......#.........##.
+#...........#...#...#......#.#.
+..#.#.#..........##.##...#...#.
+..#...#.##...#.#...........#...
+##...........##...##...##......
+....#....##...#......#..#.....#
+#..#.#.#..#...#...#....#.......
+............#.....#....#....#.#
+....##.....#.........#......#..
+.....##.......#...#...#.###....
+...##......##..###.#.#....#....
+#.#.#.#..#.#.........#...#...##
+..#..........#.................
+....##....#....................
+###.#...............##...##.#..
+....#.......##.#..#.#..........
+............##..#.......##.....
+#...#.........#..#..#..#...#...
+..#......##..#.#...##.#.......#
+......#................#...#...
+......#..###............#.#....
+..#.#...###...#..#...#......##.
+...#.##...##............#......
+#...##........#.#..#.......#...
+#..#.....#..#.##...............
+..#.....#.#....#.........#.....
+.............#....#..#...#.##..
+..#.#.....................##.#.
+........#.......#..#.#.........
+##..............#.....#.......#
+.#.##...###....#.....#..##.#...
+#..#...#..#......#..........###
+#...........#..#...#....#....#.
+....#..#.......##......#......#
+#...#.#...............##...#...
+...##.#..##.......##..#........
+...........##..........#.......
+..#....#..##...#......#.#......
+.#.#....#.#.#...#.#............
+.#.#..#...##.......#.#.........
+...#...#.............#.######..
+##.#........###.......#....#.#.
+.#....#.....#.#........#......#
+..#.#.........#..........##.#..
+.#....#.#..............#......#
+.....#..##.........#..##..#....
+........#..#....#.......#.....#
+#.#.......#.....#.##.#...#....#
+...#...##...#....#.....#....#.#
+#..##....#..........#..#.......
+.......#.#.....#...#.#.#.....##
+#...#...#..#......##.#..#......
+...#.......#....#...........#.#
+##.......#####.#.........#..#..
+....#.#...................##...
+......#..##............#.......
+#.........#....#####.#.#..#.#..
+..#......#.#.##............#...
+..#...#.....#.#....#......#....
+.#...#....#....#.#.#......#.#..
+..#.##.....#..........#...#.#..
+.......#...#.............#...#.
+.#.........#.....#.#........##.
+#....#..#..........##.......##.
+...#....#.#.........#.......###
+......#....#.#......#.......#..
+.....#...#...#.#...##..#.#.....
+#.........##..#...##..#.#....#.
+...#......#.#......##.....#....
+.#####.....#.#.#.#...###.##....
+..#................#.#...#.#...
+#.......##...#.........##..#...
+..#.....#....##............#...
+#............##...............#
+..#..#.................#.......
+...............#..#.......##...
+..##..#....#...##..........#..#
+#...###....##.#.......#.....#..
+..........#.........#..#......#
+##....#.....#...##.......#.....
+..#..#.......#.................
+..#..##......#.........#......#
+...........##.#..#......#.#..#.
+..#...##...##......#...#...#.#.
+.#..#.....#.........#..........
+#..##...#............#..#.#....
+..#...#...##.#........#....#.#.
+......##..###.#....#........#..
+.....#..#....##...##..........#
+................#.#.#.....#..#.
+#.##...#......#.#..#.......###.
+.......#.#..#..#......#..##..#.
+.##...#...#....#....#.......#..
+......#..#....#.#.###.....#.#.#
+#....#.#...#......#.#.....#..#.
+.......#.#...#.#.#............#
+#.....#..#...#.................
+.....#..........#..#.#..#.#....
+.........#......#.#.........###
+..#.###........#....##.#.......
+.#.......#.#......#........#..#
+............#........#.....#...
+......#......#....#.#....#.....
+.#.......#.....#.##.#..#...#..#
+##.....#...#..........##..#...#
+.#........#....#...#....##.#...
+...#.#.......#.#....#.#...#...#
+........#.#.....#.##...#.#.#...
+...........#....#..#.........#.
+......#.#..#..##...#.......#...
+...#....#..#..#.##...........##
+.#..#.#.#......#....##...#.....
+......#..#........#...##.......
+.............#...##.#.....#...#
+....#...............##......#.#
+.#...........#.........###.##.#
+....##........##...#.##.....#..
+#......##........#...........#.
+###.#.................#.....#..
+.....##..#.........#......##.#.
+#.#.......##.#..#...#...#......
+...#.#..##.....#....##.....#.#.
+...##..#...#........#.#..#..#..
+...........#....#...#...##.....
+##.......#...#.#.##...##..#.#..
+#....#.#..##...................
+.#...................#.#..#....
+#.....#..........#..#...#...#..
+...#..#............#.#.........
+............#..##.....##......#
+#....#.........#.#..#..........
+...#.#................#....#.#.
+..#..#...#...#.#.#...#.#.#.....
+..#.......#.............##..#.#
+#........#.#.###.#...#..#.###..
+.......#......#..#.....####...#
+..##....#..#...................
+....##.#....#......#.#..#..#..#
+#...........##...#.#.##..###...
+##.##......#...........#....#..
+.#....#....#..#..#...##...#....
+...##.#.#......#...............
+.....##.##...#...........#.....
+....#...#.#.........##.#....#.#
+#..#...........#......#........
+..#..#.....#....#.##.......#..#
+..#.......##.....##.......#...#
+.#.##.#..#...............#....#
+.........#...........#.........
+..........##......#.#..........
+..#........###....#..#...#...#.
+....#.#...#.....#..#....#......
+..##...##...#..#..##......##..#
+..#..#......#....#....#...#..##
+...#...............#..#........
+....##..#...#......#........#..
+###.....##.......#.............
+.#.#.##........##..#...#.......
+.....###............#..#..#....
+.#....##.#...####........#.....
+............#.#.....##....#.#..
+....#..........#...#...........
+........#.#...#..##...........#
+#.......#..#.......###...#....#
+#....#..#......#.....#...##.#..
+..#.............#.#.###...##..#
+.#.#....#...#.....#...#.......#
+.##.#..#.........#..#......#...
+#....#...#......#.....#.....#..
+...........#....#.......##...#.
+#.#..##....#....#.#.......#.#..
+..............#.#..##.##.......
+....#........#......#....#.#...
+......#.....................#..
+#..##...##.....#.........#.....
+#.....#.....#....#...#.....#...
+........###...........#...#....
+............#.....#...##....#..
+.......#.......#...#.#...##....
+..#.#..#....#...#...#....#.....
+..........#.#....#....###....#.
+.##...#......###..#............
+...#...#........#....#....##...
+##.....#.##...#.#...........#.#
+..........#.#....#...##.#...#..
+..#....#.#...#...#....#.###....
+......#.##..#..#.........#.###.
+#.#.#.....#.....##.......#.....
+...#..#..#....#.#....#....#....
+##..#.#................#......#
+.....#...#..#......#..####.....
+.....##.....#....####......#...
+..........##..###.#....#.....##
+###...#.......#......##...#....
+.......##...#...#..#.##.#....##
+.....##.....##...##.....#..#..#
+......#.#.....#...#....#...#...
+..##........#...#..............
+..#........#.##.........#...#..
+#....#....#................#...

+ 11 - 0
puzzleInput/dayThree-2.txt

@@ -0,0 +1,11 @@
+..##.......
+#...#...#..
+.#....#..#.
+..#.#...#.#
+.#...##..#.
+..#.##.....
+.#.#.#....#
+.#........#
+#.##...#...
+#...##....#
+.#..#...#.#

+ 1000 - 0
puzzleInput/dayTwo-1.txt

@@ -0,0 +1,1000 @@
+2-4 p: vpkpp
+6-16 b: bbbbbbbbbbbbbbbpb
+6-7 z: zzfzzdz
+4-6 q: tfzqvqcpcmqqjqzd
+7-8 k: rkkkknkw
+5-14 t: ttttnttttttdttttttt
+2-10 b: bfbbbbcbnpbbbbt
+3-4 h: hrht
+2-6 c: ccccccc
+5-7 g: pmtgqgg
+16-18 h: vhhhhhhhhhhhhphhrnh
+8-10 k: kklxkkkqkkkkk
+2-5 b: bcbdbbr
+6-8 l: lllnllxb
+2-13 t: kvdsdnbclhxntktxdwq
+3-4 z: zjwz
+12-16 s: ssssssssssswssss
+1-5 h: mckhhhs
+11-18 s: ksssssssgssssssssk
+6-7 f: hcmxbfx
+4-11 r: grrrcnkjfdr
+6-10 t: tdttttrtbjl
+8-10 h: vphrhhmhhz
+7-8 t: tghttttt
+2-11 h: hhhhhhhhhhhhhh
+5-6 g: gggggq
+4-6 p: dgpmnqv
+5-9 v: nmfnvhtrlzhbvd
+1-8 z: zwzqzzzz
+10-12 l: hllllllhlklldzlmk
+10-11 n: brnjfbnnnmnnnnw
+1-3 d: jmscsdw
+13-20 d: xdqcsdqdpkppddbdtdgg
+1-3 w: wfppvkswrwmnq
+2-10 p: xbppppmppppppc
+1-4 r: rrrr
+4-5 q: qqqgq
+7-8 f: fchfwjcfpvffdfh
+2-5 d: dtddddddgdddx
+11-15 t: zcwngpdjtzcpfvt
+11-12 c: ccccccccccqz
+8-10 v: vvkbszvvwr
+3-5 t: psttst
+1-7 f: fffsfffffffffrftfff
+3-4 z: zqzz
+12-13 l: mlklllhkdmllndplj
+11-17 x: jttxgmtmpxxxxzfpf
+2-7 d: ddqggvrdmrgc
+5-15 l: ckjvllsnmczlnsh
+1-3 l: nlllllllllll
+4-7 r: ctlrfrb
+4-12 k: sknbxdzmnckkk
+2-16 m: nmmgwpkncdpfglcpzj
+4-5 n: nmnnkjn
+3-6 h: hhhkhk
+5-15 n: ncmnngnngbnnndjx
+1-6 r: rrrklrh
+7-16 j: jzjjjjdkjjjjjjjjjj
+1-2 l: lcxdxl
+1-11 t: gttttttttttt
+6-10 w: cvtsdlwggwbgn
+3-4 q: qpzhj
+5-6 b: sbjcbx
+4-5 h: dxjhhhpj
+4-5 z: zbckhf
+8-13 r: xhscjbqthpfkffjh
+5-7 j: jjjxjcdtj
+13-15 b: bbbbbblbbbwbtbbbbb
+16-19 x: xxxgxxxxcwxxxxxksxx
+2-5 s: sssss
+11-12 s: fwgcsmxfszgs
+1-3 m: mmbm
+5-10 p: ppgfpzczphpp
+11-13 r: rrrrrrrtgrrrc
+4-6 g: nggdwbhktgjhsnrwmg
+6-9 b: pnrtwgbwwdhmrbp
+5-6 w: wwwqqww
+10-14 s: ssssssssstsssss
+1-9 k: hkkkkkkkkk
+2-3 n: nnktnnnc
+4-7 m: prmrmmmsj
+13-15 t: tfqttttttkttqttttttt
+6-8 p: ppppptpplprh
+12-14 l: lllllllllllllll
+11-12 g: ggggqppgkpzc
+2-3 n: hpnnvn
+1-5 f: gffffdfffmzf
+9-18 w: lwjnfkwrjqtqnvjkhcw
+6-7 x: mmxxxxn
+12-14 j: hhpwdljfljpvxl
+3-5 m: zxlrmrqknmv
+6-9 l: slbllllllxlld
+11-16 g: gggggggggglggggcg
+1-6 h: hwhwlg
+18-19 k: kkxvgrkkzkmkkkkkktk
+3-10 c: cchccccccfccc
+9-10 m: nssbtshpmmn
+6-7 m: mtvbmpfpmm
+4-13 t: wkmdgpwpcznlqsqtcjf
+1-3 m: mmvm
+2-11 p: ljvgtkpdlmpznlphxfgj
+5-9 p: kppppcppnqpppqpzpppw
+8-9 w: wwwwwwwwfw
+4-7 m: bvmmlsqsh
+2-5 v: vvrvv
+4-10 j: jjfwjvxjjjwjj
+5-6 f: ffffjf
+1-3 w: pwwzd
+4-6 v: vvvrvzvvv
+11-15 s: ssssspsssscssssd
+3-7 c: wrxltgcvpmc
+2-3 p: pplp
+3-5 f: nfnxfg
+8-9 r: rrrsrrrhrr
+3-7 j: dpmcvjj
+10-16 b: bbbbbbbbbbbbbbrnbb
+13-15 q: qqqqqxqqqqqqqqhqq
+6-7 v: wvvvvzvv
+2-7 j: rbtzvjhnvfznhfbskcp
+7-8 n: nnnnncbnn
+14-15 j: jjjjjjjgjjjjjjbjj
+8-12 g: gggdgggghgqggggjgg
+9-10 b: rlcbfbbbbbb
+11-12 k: kkkkkkkkkktkk
+11-12 k: kmkkkkkkkkqk
+11-14 c: ccccfccccccccncccq
+13-16 k: pkkkkkjkkkbkrkkkkzk
+7-17 d: dhdvddzjddrwdchdd
+1-8 z: zqlzzzzzz
+3-9 p: ppfppsppwppbp
+7-9 r: rrnrrrbrrrrrhrrr
+4-7 t: tfqxtgl
+4-5 l: ljmglll
+5-6 d: tdvffd
+4-13 r: rwrqbdbtbrtmrmlrgrr
+15-19 g: gggggggggggggggggggg
+7-8 r: lrkrfxtrrj
+5-6 z: zkdlwzwv
+9-10 r: rzrrrrrrfr
+3-5 r: rrbcgrbrqrrd
+15-16 t: cqnkntxktjwtttctt
+9-12 p: ppppppppdpppp
+8-10 d: tgddddgdck
+6-9 n: nnnnncnxgpnnnnnn
+1-4 w: wpwxtjwlwt
+3-11 d: dclddmdkqdmf
+5-7 w: zgwkpnwkqctwxj
+4-6 x: phmxxhvlf
+1-2 g: gjrvfg
+11-13 t: ttbtptlzltttvttqttj
+2-6 p: nmqsppqcqxntchq
+10-13 z: dszzzzzgzzplf
+5-7 j: kjwbjjqjjgd
+12-16 r: rrrrrrjrrrrbrrrlrr
+4-6 p: dppppx
+11-20 w: wkswvxjwwzhxwwwqgqwn
+8-9 f: qffwwmfwjf
+3-4 g: pbgdtg
+3-8 q: dqqqqqql
+16-17 d: djddpdddddddddddsd
+4-7 q: qqqqqqmq
+13-14 r: rrlrsrrrrrrrrsrr
+10-12 k: kkkkkkkkkhkkk
+1-3 z: hdqwpdtmzgnpnffrh
+2-4 g: gtgrg
+5-7 l: lllltlllq
+6-8 s: sqcvnsgs
+1-3 q: qdqbqq
+1-4 j: jknh
+4-5 z: zzxlz
+2-5 c: ccccjc
+7-8 l: lllqfltlwll
+8-9 p: pplpppppt
+4-19 j: vkmrhblhpvfjlbwjlxjm
+4-5 l: rlllnl
+3-13 j: hgqcvcnjwnrnjp
+3-5 c: cpcbbjp
+4-5 z: jtpjzdrwcbrzhvmzz
+4-8 s: bqsbvtrs
+13-14 d: ddjddddddddpqddd
+5-6 l: lllllll
+7-9 z: zzzzzzzzpz
+3-4 f: rpsgm
+9-13 l: dllldlllllllb
+16-17 h: thvclfldkhxzcqwvhp
+8-9 z: zzzzzzzzz
+9-10 d: dtddddddtdk
+3-6 k: sxbvkk
+4-14 x: xffvxhtxxnmjcxm
+6-11 h: kthhhhfqhwf
+3-5 z: pzzzq
+3-4 x: xxxwxx
+2-4 w: sqdwjg
+5-6 t: mmgjhkqxts
+7-9 w: wwwwwwwwkww
+13-15 c: cccccccccccjccj
+2-4 j: qjmhjpzbwfj
+9-10 h: hhhjhhhhhzpwh
+3-6 x: xxtxxlgx
+11-14 q: qqqqqqqqqqqqqsq
+2-6 n: kqnxcnnx
+9-10 m: mmmmmpmmbm
+9-12 p: pphpspzpppdp
+4-5 j: jmndj
+11-13 w: wgdmhwgcwlwqbwpxwkw
+5-12 b: bdzqgjbfbbbbbqwb
+9-10 v: kvqpggvvcvpv
+9-12 s: lsbxnblrxfggt
+9-12 r: rrrrrrrrrrrqrrr
+9-10 s: nshmnkcdsz
+1-2 z: kzzz
+4-6 v: vsslvv
+8-9 j: jjjjjjjjk
+5-6 n: nnvnnn
+3-5 k: nnjsljhcwtckqjs
+2-5 b: cbhjxd
+4-10 c: ccxzqktkqjsggfcckccc
+13-16 f: ffffffffffffzffvf
+1-4 l: slllll
+7-9 v: vxvvvdrvnvwwklvv
+3-9 r: rrtrrrrrrr
+2-3 n: bnnsnf
+9-12 b: txbxbvbtkbbbbbbbgq
+6-17 c: ccccrcccccgcccccccc
+3-7 d: qcddhpm
+15-18 t: ttttttttttttttztttt
+2-5 v: mvxcfbgzzfgrqts
+3-4 q: vqwqqqmgk
+3-8 k: kknkkkkkkk
+4-6 z: skclpzmrlgzzzvzsl
+3-4 h: hhsh
+8-11 z: zzzzzzzzzzzznxzzzz
+1-5 p: ppppc
+2-6 f: nffwwj
+5-7 g: gwtwfqmdfcgtth
+1-17 q: wqfvwgcwcpwtgvtwf
+6-16 c: ccccccccccccccccxccc
+8-10 p: ppppprpppc
+4-6 k: kqkkkkkkkkkk
+3-10 q: cvqgjxqcrj
+3-6 l: hcbgpfjhscfbrsfkzk
+2-5 s: mskwssbdstsbssr
+2-8 m: fzmfccddffc
+6-8 v: vfmvltvv
+3-4 w: wwwk
+5-6 x: kxwxlxjxx
+14-16 f: ffffffhffffffffk
+7-8 q: lmqqlnqqpv
+6-8 s: mzssssds
+7-8 l: fgwtpwrltlvs
+3-4 n: nmncnnkhnclmhdkbsv
+8-9 f: fffffffftf
+2-11 x: xcxfxxpxxdj
+10-16 f: fffffffffffffffh
+2-6 m: mjmmmm
+5-7 g: gfgshggrhg
+9-13 q: qqqqqqqqqqqqjq
+11-14 x: xxxxxxxxxxxxxgxx
+5-8 m: mmmmkkmmfx
+3-4 n: nwdnnnn
+1-7 x: tksssgxnlvkphdxzcsx
+1-3 r: rrmn
+2-5 m: mnmmmxmmmm
+3-4 j: rcjcrjf
+6-14 z: wnchnnzkptzfwb
+5-16 j: jjljcjkjjmzjjjnxfjj
+8-14 k: kkkkjkknkkkkkk
+5-8 d: lcfpxdpdsrxhcgb
+1-3 d: ddscmtdh
+6-7 d: lxdddkd
+1-3 s: wssss
+4-8 x: xgxjflxzdxhxxcx
+3-6 w: nxwgww
+12-16 l: ljjglfblllllpblk
+9-10 n: nxnnnnnnnmn
+3-4 m: mmlgfmc
+5-13 k: lmvxkxkbqkbxmmsxkqfc
+10-11 c: cccccccccch
+13-16 v: vvvvvvvvvvvvvvvvvv
+1-2 h: hkhdbhjcf
+16-17 l: llllllllllllllllcl
+1-2 c: zcccccp
+2-10 x: jsgxvxxdrxwtsftx
+17-18 r: rrrrrrrrrxrrrrrrrh
+4-5 w: wwwpwwwwwwwww
+1-3 f: fzffff
+3-5 q: rqsqq
+4-7 b: blkxxbbrkkbjzqqd
+5-6 s: slsssssss
+13-15 g: xgggggggggggcrxg
+3-4 d: ddsddddddddddddddddd
+3-8 r: cklssrprdmgggk
+5-11 s: ndxsssddflsbsptdzfmh
+5-20 g: sgpdgmnsgxgghmlmgqgz
+13-14 p: kpppmppppzbppgpp
+10-11 f: ffffffffffvff
+4-8 g: gpgpggcnjggqg
+8-10 n: npxntcdndpnrq
+9-13 q: qqqqqqqqqqqqtq
+5-8 n: nnnnwnpnnv
+6-9 w: wwwwwwwkcwwwwwwww
+6-7 g: gxgghmg
+7-8 z: spgkbchz
+6-14 v: jdpxvvdvtvpsqm
+2-7 d: vjbktzd
+2-3 s: ssxv
+2-4 j: jtch
+3-5 r: hghhr
+17-19 k: kkkkkkkkkknkkkkkrkq
+4-13 v: vvvcvvvvvvvqvwvv
+5-8 k: dkpkvkkckkwbk
+8-15 h: qdqhqglpgbsjgnhc
+8-11 d: fdpddxmcdkdh
+3-5 c: ccwcccccpc
+10-11 z: wjnzrzkzwzfgrzzl
+12-14 m: mmmwmmmmmmmmmmmm
+2-4 q: kqcvqxxtdbtjrjmrgr
+12-14 f: wjsfpfhxbfvffh
+14-17 d: dddddddddddddddddddd
+1-5 s: dsssssdssswqns
+6-8 h: hnlbffhh
+4-5 k: bhssktq
+8-19 p: pppppppfpppppppppppp
+18-19 q: qsxllxqlzkqqmkqshqd
+3-6 p: qbpkpm
+1-3 z: zxnlclfzbp
+18-19 f: ffxmfdxfdfffffhrfjf
+2-5 w: wvpwwwf
+13-17 l: llplltllllllmlllp
+6-8 t: jzwtpjkcktrpqp
+3-4 f: wfhffdnfffffvfsfffz
+5-7 c: csctcxrcq
+5-8 f: fffftffff
+10-12 h: hjhmhwhzckhg
+7-9 r: rrrrrrgrrr
+11-13 z: zzzkzgfzzrzzrzz
+14-18 q: hpsqffzbhqqldqrtcz
+8-12 t: jtjttjtzvttvttptttlt
+1-3 w: wwrwwwwwpwvwwcnf
+2-6 d: clmpddfddhdd
+6-8 l: lllllpfll
+5-6 z: fhrdnz
+3-7 n: gxjntsp
+4-8 t: nddttttgnvt
+2-4 l: lbxlhlllllllllllfl
+2-5 l: llkdlbx
+3-6 q: wqbbhnmcwplxlm
+4-9 c: wkcccjcqrlclcgcccrc
+3-4 h: thjh
+2-6 s: hsbnjgjqj
+7-10 s: sbshrhsvhnqtb
+10-15 j: jjjjjjjjjcjjjjjjj
+9-12 k: kkkkkkqkkkknkkkkkkkk
+5-7 p: zrzpplx
+7-12 v: vvvvvvvvvvvjvv
+14-15 s: sssvssspssssswss
+11-13 z: nzzzzzzzzfzzrzz
+6-8 b: pwvlqbhlswggnhbwthjl
+8-12 t: tcxpmxcbswgt
+4-5 m: mmmxf
+11-12 f: ffpffffwfwfk
+3-8 r: rrrrrgrdxrr
+6-7 f: fsfbffjfb
+8-9 h: hhhhhhhhhhhhh
+11-12 w: lwwwttwwkvpwwwwwc
+1-14 s: pshssssssssssrsjs
+4-6 x: xxxxxxxx
+2-4 l: lldt
+9-10 x: xxdxxxxxczxbxd
+1-7 t: tgtttdst
+8-9 z: zzzzqzzzd
+11-12 g: ggggggggggdxg
+10-13 p: ppppgppppppprppgp
+2-16 g: qggkwxfvpcffplwg
+17-18 n: nnnnnnnnnnnnnnnnnz
+3-7 q: qqqqqbdqqq
+4-8 h: hjmhrmhbvhj
+12-15 d: bdzddppfddhpzjd
+5-7 z: zzzzzzzzzz
+3-4 v: vvvf
+3-5 g: dcnwgqrvggfqbllvfgk
+5-9 b: lsmsrwlvb
+7-8 w: wwwwwwwsw
+12-13 n: hrbpwjqrkhtxnnqqn
+5-6 m: mvxqmmd
+3-20 v: hmhjxjffzczvbwqfnngv
+15-16 d: ddddddddddddhddd
+4-7 x: jxxbwnxpbqrkx
+5-7 z: zrzzzzmzt
+16-20 c: hcdccfkcjcsxrcnccbpv
+8-9 j: jjjqjjjjk
+4-12 c: kszcxlswkcbvmxjsbdt
+1-5 r: rrhnr
+12-13 x: xxxxxbxxxxxxx
+2-4 r: rrnl
+1-8 m: rmmmmmvmmmmmm
+10-13 k: kkkkkkkkkkkkbk
+5-15 t: qtrtttxvtlxhtlpttwt
+9-10 k: kkkkkkkkzh
+17-18 q: qqqqqbqqqqqqqqqqwqq
+1-2 k: jkftk
+5-7 t: ltttktvtwtt
+4-6 b: rbbtwb
+1-5 w: gwwwwwmwww
+6-8 x: txqxxtxtx
+9-14 t: ttnttttnttttttw
+3-6 s: spszzskl
+4-9 x: xxxrxvxxkxx
+11-14 r: rrrfhrbrjkrrgh
+1-9 q: wqqqqqqqqqq
+5-14 f: gfdjfdmfmmcgfrffsp
+2-4 b: bvcb
+9-12 c: ccccnccrcccccccc
+9-14 s: ssssssssbgssssss
+15-18 d: ddddddcdkdsddddddw
+17-18 v: vvvvvvvvvvvvzvvvvbvv
+3-7 k: mfkbzqnwhkgkk
+2-5 p: cpqpp
+7-10 r: frrrrrrrrnrrrrrqrw
+5-6 h: fhhhxschhdpbh
+1-2 k: kcrkkk
+1-5 s: kssssssszsnssssssr
+3-4 t: ztct
+1-2 g: grkgc
+8-9 t: tttctttcttqc
+4-9 d: rddvdddddddddd
+5-7 j: jjjjjjnj
+4-5 f: ffrjd
+14-16 x: jqvkmxlxfxbwplhxl
+2-13 j: hkqphvkprvmjdfm
+1-12 b: bbbbbbbbvbbjvbbbbbs
+4-6 m: mmmnmm
+16-18 q: rvfzkvqqmddvqfrrpq
+7-14 c: czcccccccdpccgsc
+1-8 z: zgzfbtzzqp
+7-18 n: tzfktnkcpncxcsvxzv
+2-3 x: xmxz
+4-10 q: qqldqqqqqqql
+2-6 f: ffvfpqfftg
+12-15 c: cccccccccscxlccc
+3-17 d: ddlzddghdddgwdddddd
+11-13 g: lglgmqgcmlggbftgggd
+12-13 q: ldjqqvqqhbfqn
+4-5 h: hhhhp
+9-11 f: tfkcfzcqpzfdggbpw
+10-13 f: fffffffffkffffff
+2-3 l: swln
+6-10 j: kqsjnjtjmd
+8-12 c: ccccctclccscmcc
+10-18 r: rrrrrrrrrjrrjrrrrr
+4-7 t: btcxktc
+8-19 m: mmmmmmmmmmmmmmmmmmhm
+10-12 j: jjjjjjrjjjlj
+1-11 x: xlxxxxxxxxxxz
+11-17 w: fblmwxqwbfdwlcqww
+4-6 c: qchcclc
+3-4 k: kkkkkkkbkkr
+4-5 s: sssfssssssssw
+4-6 m: bvmmvjrlvmzmmtsm
+6-14 f: qftmhffffcccffsz
+3-4 t: rzthtt
+6-19 s: qshpkhjcsssqmzspxss
+3-4 p: vshp
+3-4 w: zwff
+5-7 s: tngctss
+11-14 g: bhshgkpgxrgkqwpprwv
+3-7 t: ttptttt
+1-3 q: qqzqqqvb
+7-12 r: kvzjrmrhvxxs
+11-12 j: jjjkjjjjjjjz
+10-11 p: pppppppppxppp
+1-10 s: rsssssssshsss
+4-5 x: xxxdcx
+3-4 n: fnlnfn
+8-9 l: llfflqlfll
+3-4 z: hzrz
+15-16 f: tdzxfwjvdgsxczff
+12-16 z: zzzzzzzvpzzzzzzzzz
+4-8 f: fwfwffffqmfkff
+7-8 z: zjvzzkzzzxmzz
+7-8 r: drrcsrrg
+7-8 z: znzzzzbzzz
+7-8 l: llllllml
+10-11 b: jbbbbbjbbbs
+5-12 c: cccccccccccpc
+9-13 n: nnnnnnnnpnnnn
+7-8 q: rvqqqqhnrqqqjqq
+4-8 d: xzqwgncdgqtd
+6-7 r: rrrrrmr
+1-2 q: rbql
+13-14 f: ffkfjffjzqfcnfhshw
+6-9 m: mmmhmmkmbmrlrwwmtfl
+5-12 s: ssfsmsbwsrzssstsssss
+6-14 m: bmpbqmjmqxmnrt
+5-7 g: hgwgdntgwgsp
+10-15 q: qzqqrbqmqqqqsntqqq
+7-10 w: wwwwwwnwwwhz
+5-7 v: vvvvrvv
+2-3 z: zzzlz
+5-9 r: rxqbhdrmr
+10-15 c: bchccbcqqcrtcrj
+8-10 g: hplggnlnbfpgfxmkgb
+14-18 p: pwpqppdpfpppppqpph
+8-9 t: ttlgpzmtdkzdrcstztf
+13-19 l: slzsflllllwlllllllg
+5-6 z: zqcnzz
+11-14 c: ccctcccccwckch
+3-5 v: vhblvzmvfv
+18-19 v: vvvvvvvvbvvvvvvvvmv
+4-5 g: gjjwgtlgjtggg
+4-5 l: rlnvlvxllg
+2-11 z: qzclmjsrfrsbrjtd
+9-11 w: gwwwwwwwwsbfrbw
+1-2 v: vzvvvvvvvvvvvvvvvvv
+4-8 b: bzbpbpbjdfbdbqfz
+10-16 m: wxcvdmldmzxvnxmmqb
+4-11 c: cljrsmxwvbcx
+12-17 n: lwzncwfjpwxbnnhnnpx
+9-10 k: vfbbmbxwkd
+17-19 c: ccccccccgcccccccccd
+5-9 h: vhrhmhvsh
+6-10 g: ggfggsggngwgpcgfvz
+4-17 g: ccvgdkxzggzbsjvzqq
+8-10 g: qggggggzggg
+3-4 w: wwvh
+4-5 r: gjrfrb
+1-5 r: qrrrrrrr
+11-15 k: kckkkkpjqmnkcwkkkkq
+3-6 q: qwswqq
+4-5 s: lsssss
+12-13 d: mdwgdddtdfdvr
+1-14 k: vkkkkkkkdkkkkkkk
+1-6 t: zrgnxtt
+8-9 d: kdqdfgndd
+6-7 z: pfnzzzzzwjzxg
+2-9 d: ddddddddddddkddd
+5-7 x: krnfpjx
+4-12 j: ksgkjzbqprvjqjxbp
+10-11 m: hmzmmmnmmmpmmg
+4-8 k: fxmkmppqnlckglvm
+8-11 x: xxxxxxtrxxxdxxx
+1-10 r: rwcrfrlhrsrhr
+5-7 m: mmmmvmm
+7-16 m: mmmmmjmhmmqmwmmqvfm
+8-13 v: mdmrvvsvvmhcxknc
+5-6 w: bwwxnw
+11-12 g: ggggggggggwgggg
+9-16 t: tgtttgtnttttdtttw
+4-7 j: jjjjjvvnjj
+12-17 p: vhbprgsmljmpzzhzn
+4-13 v: vrcntbdvkvtdvzxnptvb
+1-7 j: jjjjjjdjj
+11-14 c: cjhcrkhcccccdc
+17-18 j: jhjjjjjjjjjqjjjjjvj
+8-9 m: jmmkmmmmdmwvmgz
+9-12 x: dkxxxhqxxzzpcvcxgkx
+16-17 m: mmmmmqmmmmmtmmmfmjm
+3-13 b: mbbtrmxlzdpbt
+1-5 g: bggggggg
+11-19 m: dlgmdsscksdrtmmdpjrq
+1-4 g: skgg
+12-20 l: jcgnljnllllqftjrvnhl
+2-3 d: drbdcl
+2-3 t: mtwtt
+8-9 f: fxstfnfsfffft
+14-16 z: zzzzzzzzzzzzzzzrz
+5-8 x: xxxxpxxxxxxt
+10-11 t: ttttttttttv
+5-16 r: xrwrrrqhhlqkhdlzr
+5-7 n: nnnnnnhnnnnnnnnnnnnn
+4-6 v: dzwfvxz
+2-6 c: cccccccc
+5-6 j: jjjpjkjhj
+3-11 j: jjhnjjgjjghjjj
+14-20 s: zskwnsmpsswctgwshxsm
+1-3 j: tjfjj
+2-8 d: dsdrssdwqq
+9-10 j: rjjjjjjjqjjqjjj
+8-10 b: clmwbzzjkb
+4-9 k: klkdkkkkvkkkkkk
+8-16 v: xvvsvvqqvvjvvvvv
+4-5 d: qdrtd
+3-4 p: pppt
+4-5 p: ppvmp
+5-13 g: sggmnggwtggmqggkg
+9-17 g: ggcgggntdgjmgtgxg
+12-13 q: jqqqqqqqqzqqqqq
+2-3 v: tbvzcmzvn
+1-5 m: vnmwtww
+5-6 r: rrhkrs
+14-15 c: cccchccccccccct
+15-17 m: mmmmmmzmmmmmmmhmm
+5-10 k: kqkkkkkkkkkkkkkkkkk
+17-19 z: gxpjhhktxrlwwgqzlxzx
+3-7 s: wsbssvscgss
+3-5 k: kkkkf
+4-7 m: jmmmgmbmmmv
+2-7 p: vpchdqpxxwjpwdgr
+3-6 w: wwwxwwdww
+11-17 h: hhhhhhhhhhhhhhhhb
+1-5 w: zwwwwwwwwwwwwwgw
+2-5 m: mlmmmmk
+10-11 p: nptppbpplpd
+2-8 m: xcmsbqms
+7-13 w: wjvwrwwwlxnsnw
+3-9 r: rrrrrrrrv
+2-4 t: nttw
+17-18 q: ptqqpqrcrgqqqlqqmq
+6-7 h: jhxhkchjhhrhh
+8-11 n: nnbnnnnnnppgnnlnhbq
+15-18 g: gggqggrsggzggggdggg
+5-9 n: ptcnnjrnfnn
+9-15 h: hshwhbhhxhzhhhhhw
+1-3 x: fxxxx
+3-6 z: zzpzqzzzqzzzzzznzzwz
+10-11 p: lllpqpqvpppprppppp
+13-15 n: mnnnnnnntqcpdnn
+14-19 g: ggggggggggggggggggrg
+3-11 w: qtlpkwswvwwww
+3-8 g: lwgzgzml
+1-4 w: wwsw
+14-19 q: zcxqpjgxqfqqqqvjmklq
+4-5 h: hrxkh
+9-12 p: ppppgpppppppppp
+8-11 t: pwgtdxrtwtbskjnq
+2-4 m: pcdmkmlpwwxqw
+1-4 r: rrrxrr
+8-9 l: lllllwlbl
+8-9 p: pppppppfp
+4-5 x: jdxxs
+3-5 h: hvwth
+7-14 z: xkqhzztwjzzsgz
+7-11 b: bbwbbbcbbbbb
+2-4 f: fflf
+4-9 m: cmmmqlmmlxmgmmmmtmpm
+3-18 j: bnjznmljlhpfhcmnpcj
+7-9 z: zzxzvcbzzzz
+14-15 s: ssmssssssslssszss
+12-19 v: vgvvvvnvsvvrzvrvvvv
+8-10 q: qqqqcpqqqnqqqk
+11-14 p: zzvpwltfptcszpv
+2-9 h: khpnvdcvdh
+8-12 q: dqqqqqqlqqqqqq
+2-17 f: fffffffffgfgjfffxtt
+1-8 n: jnnnnrnn
+7-8 k: kkkhmkkdkkkk
+10-11 j: xjwmjcjjqrpjvlbjj
+3-4 v: vrvc
+4-9 r: dprrlbbrsrgqzvkc
+4-8 w: wrcwgsqghwwjw
+11-12 r: rrzrrrrrrrrrf
+4-5 c: rzccmcc
+1-8 w: wqwvwcwtwww
+7-9 f: hjfpvgffllfsfsft
+1-3 d: nddd
+12-13 c: ccccbccsccbbcccpcc
+1-11 d: xdhddwddjdg
+3-5 c: ccvcc
+2-6 d: djddddfd
+4-5 z: kzqszztpzz
+2-5 s: ssssz
+2-6 g: gdvjggrx
+9-11 k: qzklmckckkmkkk
+5-6 g: grjpwv
+8-12 n: nnnnnnngnnnnnnn
+15-19 z: zzzzzlmmczdzztgmzvzp
+4-5 p: pprvpmpdwppbqpmpw
+9-15 q: lfqrxjvdqnlqqtqgnqn
+1-4 w: pwwww
+1-9 q: qvqqqgqqfqnq
+2-4 k: rwlkkcqxcrwd
+2-12 q: qqdlpwqqftgjb
+5-7 q: qqqtlfq
+8-9 g: ggggggrgvtgg
+6-13 l: llllllllllllklll
+1-4 h: dhhhn
+5-6 f: ffjjsfft
+11-12 x: xxcxxxxxvxxxxx
+5-7 z: zzzwzfh
+12-14 d: vpblrhxdwrgdvkg
+1-3 n: xwrjrjdj
+8-9 z: zzzzdpzzghbzzzzwz
+15-16 p: pppppppppppppppw
+4-12 r: rrrvrrrrrrrrr
+8-9 d: dddddddndd
+4-10 l: llsfllllllll
+2-13 z: kzkctzprbpkkd
+2-4 c: qvcccd
+6-7 q: qqqrqqfqdq
+11-13 f: ffhffggfffgbf
+9-19 r: wncrtrxrrrjhjcvtvsbt
+9-11 h: hhhhhhhhlhh
+8-10 s: ggwhksdslsp
+3-13 h: hhhhhhhhhhhhfhhh
+6-7 h: hwghlnh
+7-10 r: rrrrrrjrrrr
+9-10 f: fbjfbfffff
+16-17 b: bbbbbbbbfbbbbbbjbbb
+13-16 t: tttttttttttttttz
+2-3 s: ssrsssjssss
+1-3 b: sbbbbk
+1-5 q: xcdbqqqdjxs
+10-12 p: jppvpstpjjpp
+8-15 b: bglbkmhbqbgfzfh
+1-6 x: xxxxxfx
+14-18 w: mwwwhtwjshwbvwrjrn
+1-2 w: wtww
+2-7 h: pxhntbg
+2-7 c: ccccccs
+2-5 z: zzzzczz
+3-5 n: tggvn
+13-14 h: hfhhhmthvhhwhdhhhhh
+11-16 n: nnnnznnpnnlknnnn
+2-6 d: dkdddddd
+12-15 g: gxbgggggggbnggg
+1-3 c: scxccc
+5-6 w: wwwwwfwww
+12-13 z: zzzzzzzzzzzczz
+6-9 j: psjjmjrxjnrwxzjjnnf
+15-16 h: hhhhhhhthhvhhhkhh
+4-5 n: nnnnj
+11-12 g: gqggdgggggggrgggm
+2-5 n: mqnlthrtjnr
+11-13 n: nnnnnnnnvnnnx
+2-4 b: xbbr
+2-7 j: rzjshrj
+18-20 b: gzcxrqfqmlbqmvrttbbp
+10-13 h: hhhhkhhhhrhhh
+5-6 n: mkjnnnqbdpznlndnnd
+5-6 w: wwwdqww
+15-19 v: vvvvvxvvvvvvvvzvvvv
+2-3 b: wlbhwdjwtncwpkbxvhc
+4-5 f: ffrrf
+15-16 v: vhvpvpvvvmckvbkvvvv
+2-6 m: mmbnrsq
+6-7 r: rlrqgrj
+7-12 c: ccccccsccccmcc
+1-9 g: kggggggglg
+4-9 f: frfffffnfzfcfff
+2-3 g: gcspt
+8-14 v: dvkpxqztcqttvv
+5-11 r: rrrrtrrrrrrrrrrrr
+4-15 c: jdrnrvqrzckbrxmzsgl
+3-5 t: dkttc
+4-11 j: ppjjwjjtdjt
+7-9 k: kkkkkkkkm
+1-4 p: lcpp
+3-6 w: wwwwwvw
+3-13 h: ghhlhhhhhbhgt
+5-6 f: ffzvft
+1-2 p: bppp
+6-12 m: lnnfbnmdrngmpt
+7-8 n: blfngnngnnnn
+5-8 s: ssssssss
+2-8 d: ddddddds
+6-11 x: gxnxbfxcrkjxxxhx
+9-10 m: wzfmmmvmtfrmm
+5-11 n: xgkpshnxwnn
+14-18 z: ztzczzzznzzzzzzzvz
+5-7 k: kgkkkks
+10-11 z: zvglzzxvqzpdj
+1-16 z: rdhsbnvmpfqpzmrzw
+13-14 m: mmmmmmmmmmmmmxm
+12-16 n: fsmnddnmkmjnkncn
+2-5 l: mqlllmgb
+2-4 k: xgmthfprbsk
+2-4 q: qssq
+12-13 r: rrrrrrrrrrrrq
+1-19 v: vzdtngrnnvmnpzvbmwvg
+7-11 m: lrjmsvmmmsjjmw
+4-7 r: rxrbfzrtvrhdq
+1-4 t: ltttttttt
+5-16 k: cktfdzrxppmkjfhk
+5-9 f: qfsfcfbtfl
+2-7 p: pvtkpppmppppd
+2-7 v: jkrmnjv
+2-4 n: qnjhnnnnfnnk
+2-3 n: ndvp
+1-3 g: ggdgg
+16-17 r: rrrrrbtrqrrrrrrvrrr
+8-10 r: rbkprrrmvr
+6-12 j: hqjwbjxjwjmjjqjhn
+16-17 r: rzrrrrrkrrrrrrrvrrr
+5-8 d: ddddldhdhd
+9-20 g: ggggghgggggcggggglgq
+7-9 c: rgmkcfctjpdccdwvtfcc
+2-12 w: wwwswtswhwhbdww
+4-10 t: ttdttttftt
+2-9 g: svtkbzggg
+4-7 r: rqrwrcwrqrr
+9-15 s: dsssrzsksmswwsljbbs
+5-13 d: dddhvdxhdrhddrd
+11-19 s: zdssvpmlqxqjbsssckp
+2-6 w: swcnwz
+17-18 n: nnnnnnnnnnnsnnnnnlcn
+6-7 t: tzzrcht
+4-10 k: bdckkrckkzk
+3-9 h: nrdrdvhhhh
+1-4 s: gssss
+3-15 h: jhhhtzmpvbhhjhck
+3-5 g: xlgzfg
+7-11 j: pmwflgjwjjrkl
+6-18 j: jjjjjjjjjjjjjjjjjt
+6-11 k: kkkkkskkkkkkvk
+4-15 l: llllllllldlllllllll
+5-6 w: rwtwfwg
+1-11 x: xxxgxxxxxxx
+2-7 v: vsgvvcvvv
+12-14 r: rrgrrrrrprrjrrr
+9-10 f: mclwdbqffzcsxqr
+6-7 v: vvkvvvv
+2-4 c: cczch
+6-10 c: hcqccmccscccrck
+1-4 v: vvvh
+6-12 s: nwfjghlpqsks
+4-5 p: hpcpt
+6-11 d: rdbgvdggzsj
+2-4 d: dddmdxx
+1-14 n: gnnnsnpfnnnbvnnj
+2-4 q: ckhqmjqqq
+2-7 w: vwpmwnp
+3-5 w: pnwwb
+8-12 k: kckkkkkknkkkkkp
+5-8 c: cccctcccccfcc
+13-14 n: qnnnnmlnnwhnnx
+3-4 f: qffb
+11-12 w: rwwwwwwwwwjpw
+6-11 b: pxgbbbcbbzbfbb
+12-14 m: mmmmmmmmmmmvmmmmm
+5-13 p: ppppxppppppppqpphh
+5-10 l: llllwllllgll
+1-8 c: ccfzcczscvjcc
+2-4 m: cmlrm
+4-7 j: szjkflj
+6-9 p: cjnppqpsppppjpdbhpf
+11-12 k: kkkjkkkkdkrkg
+4-15 j: jjjqjjjjjjjjdxcjjjj
+4-5 d: dddddd
+4-5 l: hjlllqdwvl
+12-14 r: rrmrrrrqrlrxrr
+7-8 c: nbzxczcn
+8-9 l: pgmlwccjlrg
+6-8 z: zzzzzzbzzj
+1-8 r: mrrrrrrrrrf
+1-3 w: wwww
+5-6 d: qldxdsdk
+3-14 h: hfdhhhhhhhhhhshhh
+9-10 q: lbvqvwfvnkmth
+7-10 v: lvdvwnvvnvt
+2-3 q: qqspq
+10-13 m: mmmmmmmlmmmmcmmmm
+4-6 w: wwwwwlw
+1-9 h: jkkhqlhhd
+6-8 x: xxxxxxxx
+13-16 b: bbbbbbbbbbbbbbbs
+17-18 m: lmmmspmmkmzmdmstvms
+1-5 g: ncgnggglggrgggrh
+2-6 t: sxjbjt
+5-7 k: ktkkkkvk
+7-8 k: kxkzkkkkks
+7-11 p: jvrfhrjpspt
+5-7 k: kkkkkkpk
+3-6 h: qhthhhshhhxhhhh
+1-6 l: llllzq
+2-4 k: bhqk
+2-3 m: tkfm
+4-14 m: mlzmmxjjphrcmcn
+15-19 w: wqwwwwwwwwwwwwfwwwlw
+11-13 k: wzskknsplzkkpnkmk
+3-4 g: gdgn
+1-4 b: psdbbbbkntx
+12-13 d: wdddddlddddfdd
+4-5 d: dddjwdf
+14-18 n: ntnsnnnnknrnnxnqnn
+1-8 v: vvvvvvvtvvv
+13-14 s: shwnbsssjwssss
+3-6 g: dgglgfzzg
+2-5 f: ffffmfff
+8-15 t: dtxltcttwtttttt
+9-14 z: zzzzzzzzzzzzznzz
+6-10 w: swwwwwwwwbww
+4-10 j: tqxwnppjxjbzrjppm
+3-4 b: slbdt
+3-7 d: bdsmhtr
+10-19 z: gznrnzzzzzvkztzznzbl
+8-12 t: whtztgtwtttt
+3-9 r: rfccdfmnrpj
+6-7 m: qhmmmpm
+12-15 q: zrnwqblrdqlqjrlptg
+6-10 c: ccccckccccccc
+15-17 r: rrrrrrrrrrrrrrrrhr
+3-11 g: ggggggggkgjgg
+6-7 b: mxjzshbgsdjcwsbjchgk
+10-11 h: hchghhhhhgh
+4-6 d: qvdddctdd
+2-5 b: qqpzfl
+7-8 z: zztgzzzh
+6-8 h: zmschbhh
+7-15 b: wbbbjpbcbjbbrshp
+1-10 n: ccnnznfnjd
+7-8 s: snjqvsss
+8-16 d: ddddddddddkddddcddd
+8-17 t: tjtrttlttrtptctjr
+5-7 d: ddddkddd
+5-6 k: kkgkks
+6-14 c: szcskczcftcctk
+2-3 b: zblpbt
+12-13 f: grpkpffxfftsf
+6-14 s: sssssssssssssws
+13-16 t: ttmmfcthmtcmttpn
+1-4 h: zrhhs
+2-3 k: krgk
+3-4 l: lllv
+8-9 z: zdbzzzzrzzz
+7-8 g: njlrzggqjgg
+4-5 c: dpcqc
+4-6 n: nnnhnnn
+3-4 l: lllq
+5-7 v: jbvvvphvwnhkmjrbhcsn
+12-14 d: kvbwfkjzdcpcjd
+9-12 h: hrhhhhhhxhhhhhh
+5-7 f: tffvfngffkhfff
+2-7 v: vvvvvvhvvvvvvvvv
+7-9 v: rcdhfnlhmwsgrzqz
+9-11 j: pfgzjbrbmjj
+6-7 j: ldxbbjnrjj
+8-14 d: kdddsdqdvddqcckr
+3-12 l: fxknndgbgdllkpzx
+2-9 f: xffbmfnfffpqf
+9-12 t: lttzwtgtktttkjct
+2-11 s: zsxrcxtqwmv
+5-8 s: ssdsspscsb
+4-13 r: shdxtlrmzqlrrwtdnpwx
+12-14 j: jjjlzzcvjjjvjjz
+2-4 s: ssvsc
+4-6 q: qkqkqqqqkq
+9-11 z: czzmzwzbbhz
+11-12 x: xxxxxxlxxxxpxxx
+7-13 x: xxxxhxxxxxxxxxx
+2-4 g: wggq
+2-6 v: zvxpnqvqwpmbfwnrl
+5-6 m: mmmmmc
+1-4 v: vvccm
+14-16 n: nngdnnnnnntxnwnn
+6-14 q: qfdqszrcvfwcqj
+13-14 z: zznzzszzzzzzdfz
+2-4 p: cppp
+3-7 q: qftqqdvh
+4-6 t: rrqsftttxs
+1-2 z: zzlzsz
+3-4 g: vsbg
+5-6 j: tzljjh
+1-2 v: vptfbrwgvztwp
+2-6 w: hqtnzw
+8-9 f: ffdffhcxf
+1-2 d: dbddddd
+12-14 f: fffffffffsfffpff
+12-13 t: ftwtgttttxxtbtwttt
+6-8 k: qvpkkmkkk
+2-9 b: tvjntzdbgmdbbbljwbmb
+1-4 v: vfvvvc
+8-12 v: vvvvvvvvvvvbv
+2-4 n: wncnxnmch
+10-12 t: tttqxrtttttvjrc
+11-14 f: fffffffffffffpf
+16-20 h: hhhjthhhtphchpkhmhhh
+4-5 m: zzmml
+6-7 c: ccccdcnclkccccck
+15-17 c: sxzcbfcntlgccwckcd
+9-17 t: mkfttrtvtwdsxxttf
+2-3 t: dtzt
+4-5 z: zzzbz
+12-17 f: zcfftrnfwvfhnvfffsdf
+7-16 f: ffdfxxtwffvdffjff
+3-5 r: rrxrr
+13-14 b: kbwbbbvbbmbwbb
+10-15 f: zflnbhfqmhfsqnf
+3-5 p: fwpptwzppkbhp
+13-14 k: kkkkkkkkbkkkjkk
+7-11 b: hqdbtbbhpht
+1-6 f: tffffff
+1-2 d: bddsrd
+13-18 m: mmmmmmmmmmmmxmmmmlmm
+3-4 x: xxkx
+4-13 z: hzmwzszzzzlhzzxknb
+10-15 h: hhhhhchhhbhbhhhhhk
+3-4 h: vhhhb
+10-11 z: zxwzzzzzllvzzzzmz
+7-10 h: phdkrrhkmhh
+2-11 j: jjjjjjjjjjtzjjjjg
+3-4 g: gxfgggg
+1-3 f: fwtdf
+8-9 d: bjqxpvzdddx
+7-15 c: vcccccccccccccccc
+1-7 n: tvnpzhn
+1-2 v: ktvv
+2-3 g: gpggg
+7-13 d: fddcdfgvbmpdd
+4-5 s: rsssw
+2-14 c: jckbwnnlkcmvnwtj

+ 74 - 0
src/main/kotlin/de/doriansnowball/adventofcode/Day4.kt

@@ -0,0 +1,74 @@
+package de.doriansnowball.adventofcode
+
+import java.io.File
+
+fun main() {
+    solvePuzzle4()
+}
+
+fun solvePuzzle4() {
+    var validPasses = 0
+    val lines = File("puzzleInput/Day4-1.txt").readLines();
+
+    // split passports by empty line
+    var currentPassString = "";
+    for (line in lines) {
+        if (line != "") {
+            currentPassString += " $line";
+        } else {
+            if (parsePass(currentPassString))
+                validPasses++
+            currentPassString = "";
+        }
+//        if (lines[lines.size - 1] == line) {
+//            if (currentPassString != "" && parsePass(currentPassString))
+//                validPasses++
+//        }
+    }
+
+    println("found $validPasses valid passes")
+}
+
+fun parsePass(passString: String): Boolean {
+    // split keyword:values by " "
+    val pass = hashMapOf<String, String>()
+
+    val split = passString.trim().split(' ')
+    split.forEach {
+        val keyValues = it.trim().split(":")
+        pass[keyValues[0]] = keyValues[1]
+    }
+
+    val requiredKeys = listOf("byr", "iyr", "eyr", "hgt", "hcl", "ecl", "pid")
+    val eyeColors = listOf("amb", "blu", "brn", "gry", "grn", "hzl", "oth")
+    requiredKeys.forEach {
+        if (!pass.containsKey(it)) return false
+        val value = pass[it]
+        when (it) {
+            "byr" -> {
+                if (value!! !in "1920".."2002") return false
+            }
+            "iyr" -> {
+                if (value!! !in "2010".."2020") return false
+            }
+            "eyr" -> {
+                if (value!! !in "2020".."2030") return false
+            }
+            "hgt" -> {
+                if (value!!.endsWith("cm") && value.dropLast(2) !in "150".."193") return false
+                if (value.endsWith("in") && value.dropLast(2) !in "59".."76") return false
+            }
+            "hcl" -> {
+                if (!value!!.matches("(#)([0-9a-f]{6})".toRegex())) return false
+            }
+            "ecl" -> {
+                if (!eyeColors.contains(value!!)) return false
+            }
+            "pid" -> {
+                if (value!!.length != 9) return false
+            }
+        }
+    }
+
+    return true
+}

+ 55 - 0
src/main/kotlin/de/doriansnowball/adventofcode/Day5.kt

@@ -0,0 +1,55 @@
+package de.doriansnowball.adventofcode
+
+import java.io.File
+
+fun main() {
+    solvePuzzle5()
+}
+
+fun solvePuzzle5() {
+    val seatIds = mutableListOf<Pair<Int, String>>()
+    File("puzzleInput/Day5-1.txt").forEachLine {
+        val rowAndSeat = getRowAndSeat(it)
+        seatIds.add(Pair(rowAndSeat.first * 8 + rowAndSeat.second, it))
+    }
+
+
+
+    seatIds.sortBy { it.first }
+    for ((i, seat) in seatIds.withIndex()) {
+        if (i > 0 && i < seatIds.size - 1) {
+            if ((seatIds[i + 1].first != seat.first + 1)) {
+                println("found empty seat with id: ${seat.first + 1}")
+            }
+        }
+    }
+}
+
+fun getRowAndSeat(pass: String): Pair<Int, Int> {
+    val rowString = pass.dropLast(3)
+    val seatString = pass.drop(7)
+
+    var minRow = 0
+    var maxRow = 127
+    for (c in rowString.toCharArray().iterator()) {
+        when (c) {
+            'F' -> maxRow -= ((maxRow - minRow) / 2) + 1
+            'B' -> minRow += ((maxRow - minRow) / 2) + 1
+        }
+    }
+
+//    val row = if (rowString.last() == 'F') minRow else maxRow
+
+    var minSeat = 0
+    var maxSeat = 7
+    for (c in seatString.toCharArray().iterator()) {
+        when (c) {
+            'R' -> minSeat += ((maxSeat - minSeat) / 2) + 1
+            'L' -> maxSeat -= ((maxSeat - minSeat) / 2) + 1
+        }
+    }
+
+//    val seat = if (seatString.last() == 'L') minSeat else maxSeat
+//    println("$pass: ($minRow,$maxRow) ($minSeat, $maxSeat) selected: ($row, $seat)")
+    return Pair(minRow, minSeat)
+}

+ 29 - 0
src/main/kotlin/de/doriansnowball/adventofcode/DayOne.kt

@@ -0,0 +1,29 @@
+package de.doriansnowball.adventofcode
+
+import java.io.File
+
+fun main() {
+ solvePuzzleOne()
+}
+
+fun solvePuzzleOne() {
+    val input = mutableListOf<Int>()
+    File("puzzleInput/DayOne-1.txt").forEachLine { input.add(it.toInt()) }
+
+    for (i in input) {
+        for (j in input) {
+            if (i+j == 2020) {
+                // Puzzle One
+                println("Found the two entries $i and $j!")
+                println("Sum is ${i*j}")
+            }
+            for (k in input) {
+                if (i+j+k == 2020) {
+                    println("Found the three entries $i, $j and $k!")
+                    println("Sum is ${i*j*k}")
+                }
+            }
+        }
+    }
+
+}

+ 32 - 0
src/main/kotlin/de/doriansnowball/adventofcode/DayThree.kt

@@ -0,0 +1,32 @@
+package de.doriansnowball.adventofcode
+
+import java.io.File
+
+fun main() {
+    solvePuzzleThree()
+}
+
+fun solvePuzzleThree() {
+    var trees = 0
+
+    val lines = File("puzzleInput/DayThree-1.txt").readLines();
+
+//Right 1, down 1: 70
+//Right 3, down 1: 220
+//Right 5, down 1: 63
+//Right 7, down 1: 76
+//Right 1, down 2: 29
+    val right = 1
+    val down = 2
+
+    var y = 0
+    for (x in (lines.indices step down)) {
+//        println("x: $x, y: $y")
+        val char = lines[x][y % lines[x].length];
+        if (char == '#')
+            trees++
+        y += right
+    }
+
+    println("Hit $trees trees!")
+}

+ 35 - 0
src/main/kotlin/de/doriansnowball/adventofcode/DayTwo.kt

@@ -0,0 +1,35 @@
+package de.doriansnowball.adventofcode
+
+import java.io.File
+
+fun main() {
+ solvePuzzleTwo()
+}
+
+fun solvePuzzleTwo() {
+    var valid = 0
+    File("puzzleInput/DayTwo-1.txt").forEachLine {
+        val split = it.split(':')
+        val password = split[1].trim()
+        val char = split[0].takeLast(1)
+        val range = split[0].take(split[0].length-2).split('-')
+
+//        // Part One
+//        val min = range[0].toInt()
+//        val max = range[1].toInt()
+//        val count = password.count{c -> char.contains(c)}
+//        if (count in min..max) {
+//            valid++
+//        }
+        val x = range[0].toInt()
+        val y = range[1].toInt()
+
+        if (char.contains(password[x-1]).xor(char.contains(password[y-1]))) {
+            valid++
+        }
+    }
+    println("Valid passwords: $valid")
+
+
+
+}