m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-12-25 15:14:20 +0100
committerMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2020-12-25 15:14:20 +0100
commit8216a91439c30ba2c6f57a49be2daef7ec6e596c (patch)
treea05cb67d42211aacbcf2b9fada606d8213c233ed
parentd4792ef0e009a6c6f58d01e8387ac3cceb8c9687 (diff)
Add day 4
-rw-r--r--04/a.rb20
-rw-r--r--04/b.rb29
-rw-r--r--04/input.txt1136
3 files changed, 1185 insertions, 0 deletions
diff --git a/04/a.rb b/04/a.rb
new file mode 100644
index 0000000..27f7959
--- /dev/null
+++ b/04/a.rb
@@ -0,0 +1,20 @@
+file = File.read('input.txt')
+records = file.split "\n\n"
+
+fields = [ 'byr', 'iyr', 'eyr', 'hgt', 'hcl', 'ecl', 'pid' ]
+
+count = 0
+records.each do |record|
+ fields_seen = 0
+ entries = record.split
+ entries.each do |entry|
+ f, _ = entry.split ':'
+ if fields.include?(f)
+ fields_seen += 1
+ end
+ end
+ if fields_seen == 7
+ count += 1
+ end
+end
+puts count
diff --git a/04/b.rb b/04/b.rb
new file mode 100644
index 0000000..e2cd254
--- /dev/null
+++ b/04/b.rb
@@ -0,0 +1,29 @@
+file = File.read('input.txt')
+records = file.split "\n\n"
+
+fields = [ 'byr', 'iyr', 'eyr', 'hgt', 'hcl', 'ecl', 'pid' ]
+
+regexes = [
+ /^byr:(19[2-9]\d|200[0-2])$/,
+ /^iyr:(201\d|2020)$/,
+ /^eyr:(202\d|2030)$/,
+ /^hgt:((1[5-8]\d|19[0-3])cm|(59|6\d|7[0-6])in)$/,
+ /^hcl:#[0-9a-f]{6}$/,
+ /^ecl:(amb|blu|brn|gry|grn|hzl|oth)$/,
+ /^pid:\d{9}$/
+]
+
+count = 0
+records.each do |record|
+ fields_correct = 0
+ record.split.each do |entry|
+ if regexes.any? {|r| r.match?(entry)}
+ fields_correct += 1
+ end
+ end
+
+ if fields_correct == 7
+ count += 1
+ end
+end
+puts count
diff --git a/04/input.txt b/04/input.txt
new file mode 100644
index 0000000..fa39bc7
--- /dev/null
+++ b/04/input.txt
@@ -0,0 +1,1136 @@
+ecl:hzl byr:1926 iyr:2010
+pid:221225902 cid:61 hgt:186cm eyr:2021 hcl:#7d3b0c
+
+hcl:#efcc98 hgt:178 pid:433543520
+eyr:2020 byr:1926
+ecl:blu cid:92
+iyr:2010
+
+iyr:2018
+eyr:2026
+byr:1946 ecl:brn
+hcl:#b6652a hgt:158cm
+pid:822320101
+
+iyr:2010
+hgt:138 ecl:grn pid:21019503 eyr:1937 byr:2008 hcl:z
+
+byr:2018 hcl:z eyr:1990 ecl:#d06796 iyr:2019
+hgt:176in cid:75 pid:153cm
+
+byr:1994
+hcl:#ceb3a1 hgt:176cm cid:80 pid:665071929 eyr:2024 iyr:2020 ecl:grn
+
+cid:280 byr:1955 ecl:blu hgt:155cm hcl:#733820
+eyr:2013 iyr:2011 pid:2346820632
+
+hcl:#4a5917 hgt:61cm
+pid:4772651050
+iyr:2026 ecl:brn byr:2015 eyr:2026
+
+iyr:2019 hcl:#a97842 hgt:182cm eyr:2024 ecl:gry pid:917294399 byr:1974
+
+ecl:#9c635c pid:830491851 hgt:175cm cid:141
+iyr:2010
+hcl:z
+byr:2026 eyr:1998
+
+byr:1927 iyr:2011 pid:055176954 ecl:gry hcl:#7d3b0c eyr:2025 hgt:166cm
+
+hcl:#733820 byr:2008 ecl:utc eyr:1920 pid:159cm hgt:66cm iyr:2030
+
+pid:027609878
+eyr:2022 iyr:2012
+byr:1960 hgt:157cm
+hcl:#b6652a
+cid:117
+ecl:grn
+
+iyr:2025 pid:7190749793 ecl:grn byr:1984 hgt:71in hcl:c41681
+cid:259 eyr:1928
+
+eyr:2029 pid:141655389 cid:52 hcl:#cfa07d iyr:2019
+ecl:blu hgt:69in byr:1938
+
+eyr:2020 hgt:166cm
+ecl:gry
+pid:611660309 iyr:2011
+hcl:#623a2f byr:1943
+
+hgt:190cm eyr:2022 byr:2000 cid:210 pid:728418346 hcl:#a97842 ecl:xry iyr:2015
+
+byr:1973 eyr:2028 iyr:2012
+hcl:#ff0ec8 pid:740554599 ecl:amb cid:58 hgt:155cm
+
+iyr:2016 pid:922938570 ecl:oth hcl:#fffffd hgt:154cm eyr:2021 byr:1966
+
+ecl:amb
+byr:1929
+hcl:#c3bbea pid:511876219
+iyr:2019
+hgt:191cm
+eyr:2026
+
+ecl:utc hgt:155cm pid:#9f0a41 iyr:2012 hcl:#bd4141
+byr:1998 eyr:2020
+
+ecl:grn hgt:173cm cid:321 pid:851120816 byr:1968 hcl:#a97842 eyr:2027
+iyr:2014
+
+hgt:155cm hcl:#f40d77 pid:038224056 byr:1953 ecl:brn iyr:2014
+eyr:2022
+
+pid:181869721
+iyr:2011 hgt:151cm hcl:#733820 cid:110 ecl:blu
+byr:1931 eyr:2024
+
+byr:1948
+hcl:#888785
+hgt:74in
+cid:112 ecl:hzl pid:921761213 eyr:2028
+iyr:2015
+
+ecl:gry
+byr:1931
+pid:600127430 hcl:#341e13 eyr:2027
+iyr:2013 hgt:173cm
+
+hgt:178cm pid:530791289 hcl:#6b5442
+eyr:2022 byr:1979 iyr:2014 ecl:hzl
+
+pid:412193170 hcl:#cfa07d hgt:186cm iyr:2012 cid:284 eyr:2020 byr:1967
+ecl:grn
+
+hcl:#6b5442
+iyr:2015 pid:808448466 ecl:blu eyr:2022 hgt:159cm byr:1969
+
+eyr:2020
+iyr:2019 hgt:170cm pid:8964201562 hcl:#6b5442 byr:1947 ecl:amb
+
+eyr:2029 ecl:hzl hcl:#866857 byr:1961
+iyr:2017
+
+ecl:#3456ba eyr:2013 iyr:2020 pid:378280953
+hcl:z hgt:174cm
+
+hgt:172cm
+cid:202 ecl:oth eyr:2021 byr:1980
+iyr:2012
+hcl:#cfa07d pid:605707698
+
+cid:281 hgt:161cm iyr:2017 pid:122936432 hcl:#602927 byr:1981 ecl:gry eyr:2021
+
+byr:1959 hgt:193cm pid:083900241 iyr:2020 eyr:2037 hcl:#623a2f
+ecl:hzl
+
+iyr:2030 hgt:153cm eyr:2022 hcl:#efcc98 cid:131
+byr:2016 ecl:hzl pid:64053944
+
+hgt:172cm eyr:2025
+hcl:#866857
+byr:1938 ecl:dne
+pid:192cm iyr:2014
+
+pid:016297574 cid:152 iyr:2015
+eyr:2024 hcl:#341e13 byr:1965 hgt:175cm
+ecl:oth
+
+pid:604330171 cid:125 byr:1974 hgt:160cm iyr:2014
+eyr:2022 ecl:oth hcl:#6b5442
+
+pid:59747275
+byr:2027
+hgt:145
+hcl:1fd71f iyr:1944 eyr:2037 ecl:brn
+
+iyr:2010
+eyr:2021 byr:1953
+pid:7098774146 ecl:brn hcl:98737d hgt:158cm
+
+hcl:#602927 eyr:2039 pid:#81a5a1 iyr:2012 cid:67 byr:1951
+ecl:#6551f5 hgt:76cm
+
+hgt:170cm ecl:oth
+cid:235 eyr:2022
+byr:1929 iyr:2019
+hcl:#341e13 pid:797557745
+
+iyr:2011
+hcl:#733820
+eyr:2022 pid:830183476 ecl:blu byr:1976 cid:157 hgt:75in
+
+hgt:164cm ecl:amb pid:653425455 hcl:#623a2f byr:1977 eyr:2020
+iyr:2013
+
+byr:2009 eyr:1953 hgt:178cm pid:#5d02f0
+hcl:#a97842 iyr:2016
+ecl:amb
+
+pid:009643210 eyr:2036 ecl:zzz
+cid:97 hcl:32e540 byr:2005 hgt:187cm iyr:2021
+
+pid:155cm
+iyr:2022 byr:2024 eyr:2031 ecl:amb cid:79
+hcl:#cfa07d hgt:69cm
+
+cid:176 ecl:oth
+pid:688645779 byr:1933 eyr:2026 hgt:69cm
+iyr:2016 hcl:#888785
+
+hcl:#888785
+eyr:2027
+iyr:2020 pid:802243213 ecl:brn
+hgt:179cm byr:1976
+
+hcl:#6cad3e hgt:164cm byr:1982 iyr:2020
+ecl:gry
+pid:142160687 eyr:2023
+
+hcl:#18171d
+hgt:153cm
+iyr:2014 ecl:hzl cid:231 pid:167809118 byr:1997 eyr:2028
+
+byr:1940
+ecl:hzl iyr:2016 cid:67 hcl:#c800da
+pid:563956960 eyr:2021
+hgt:189cm
+
+pid:133094996 eyr:2032 hgt:60cm hcl:#623a2f byr:2030 ecl:dne iyr:2023
+
+pid:65195409 hcl:d0d492
+iyr:1956
+byr:2019 ecl:#bb043f eyr:2031 hgt:167in
+
+iyr:2016 byr:2006 ecl:#35d62f eyr:2029
+hgt:186cm
+hcl:1d8307
+
+eyr:1935 iyr:1960 pid:346667344 ecl:grn hgt:170cm hcl:cfcc36
+
+ecl:oth byr:1979 pid:165581192
+hgt:177cm
+hcl:#c0946f
+iyr:2011
+
+iyr:2011 eyr:2030 pid:250840477
+byr:1934 cid:174 hgt:179cm hcl:#866857
+ecl:blu
+
+hgt:157cm hcl:#7d3b0c eyr:2027 pid:979510046
+ecl:oth
+
+iyr:2025
+hgt:69
+ecl:grt byr:1935
+eyr:1928 pid:168cm
+cid:271 hcl:z
+
+pid:998166233
+iyr:2020 hgt:166cm ecl:amb byr:1995 hcl:#fffffd
+
+hcl:#ceb3a1 ecl:amb
+iyr:2019
+eyr:2024 hgt:184cm byr:1980 pid:839215481
+cid:146
+
+byr:1967
+pid:444303019 ecl:oth hgt:150cm eyr:2024
+
+eyr:2023 byr:1960 iyr:2010
+cid:236 hcl:#733820 pid:900635506
+hgt:69in
+ecl:hzl
+
+eyr:2029 pid:969574247
+hgt:150cm byr:1967
+iyr:2010 ecl:blu
+
+pid:575879605 iyr:2010
+ecl:hzl
+byr:1963
+hgt:151cm
+hcl:#c0946f cid:277
+
+byr:1998 pid:621374275
+ecl:brn hcl:z iyr:2029
+eyr:2024
+hgt:68cm
+
+pid:365407169 ecl:amb hcl:#87f433 iyr:2011 eyr:2021 byr:1987
+hgt:175cm cid:201
+
+hgt:175cm iyr:2020
+ecl:gry
+eyr:2029 pid:806927384 cid:59
+byr:1932 hcl:#888785
+
+pid:589898274 cid:113 hcl:z hgt:184cm eyr:2000
+ecl:lzr iyr:2016 byr:2016
+
+ecl:#2bafbb
+eyr:2038 iyr:2027
+hcl:#fffffd
+hgt:174 byr:2007
+pid:093750113
+
+eyr:2022 hgt:59in
+hcl:#ceb3a1
+pid:159921662 ecl:gry
+byr:1948 iyr:2014
+cid:50
+
+hgt:190cm
+iyr:2014 pid:480507618 hcl:#fffffd byr:1945 eyr:2029
+
+byr:1951 hgt:152cm ecl:brn iyr:2016 eyr:2029 cid:179 pid:027575942
+hcl:#fffffd
+
+cid:198 pid:728480773 eyr:2028 hgt:153cm iyr:2018
+hcl:#888785 ecl:amb byr:1983
+
+byr:1968 hcl:#c0946f ecl:grn eyr:2027
+iyr:2013 pid:269749807
+cid:227
+hgt:178cm
+
+eyr:2024 hgt:185cm ecl:oth
+hcl:#448ace byr:1987 iyr:2018 pid:454243136
+
+byr:1930 ecl:grn iyr:2018 hgt:158cm
+hcl:#341e13 eyr:2021
+
+eyr:2024 cid:194 pid:425431271
+hgt:169cm ecl:grn byr:1973
+iyr:2014 hcl:#fffffd
+
+ecl:grn cid:110 iyr:2013 hcl:#18171d
+hgt:155cm eyr:2024 byr:1962 pid:522435225
+
+byr:1934 ecl:hzl hgt:152cm iyr:2018
+eyr:2024 pid:079740520
+
+ecl:grn eyr:2023 hcl:c3f119 pid:468039715 iyr:2013 hgt:150cm byr:1955
+
+pid:809357582 eyr:2025 byr:1958
+hcl:#6b5442 iyr:2013
+hgt:161cm ecl:hzl
+
+hcl:#b6652a pid:068979430 byr:1960 iyr:2010 ecl:grn hgt:159cm eyr:2021
+
+cid:105 pid:495292692 byr:1965
+hcl:#ceb3a1 hgt:160cm ecl:amb
+iyr:2020
+
+iyr:2010
+eyr:2024 byr:1941 ecl:grn hcl:#b35770 hgt:171cm cid:132 pid:975699036
+
+pid:767448421 hgt:186cm hcl:#733820
+byr:1972 iyr:2020 eyr:2026 ecl:grn
+
+pid:036236909 iyr:2012
+hgt:181cm hcl:#888785
+eyr:2026
+ecl:hzl byr:1936
+
+hgt:173cm
+byr:1923 ecl:blu
+eyr:2026 pid:570818321
+hcl:#733820 iyr:2016
+cid:59
+
+pid:2711059768
+byr:2024
+cid:139 ecl:blu hcl:z hgt:60cm
+
+eyr:2025
+pid:671193016
+byr:1950 hcl:#6b4b25 iyr:2017 hgt:158cm ecl:blu
+
+hgt:175cm iyr:2015 ecl:amb
+byr:1984 eyr:2026 pid:342782894
+cid:140
+
+iyr:2019 eyr:2027 byr:1972
+pid:196266458
+hgt:158cm hcl:#7d3b0c cid:69
+
+pid:604018034 iyr:2016 ecl:brn eyr:2028 hgt:172cm hcl:#6b5442 byr:1922
+cid:238
+
+eyr:2024 ecl:gry byr:1970 pid:356551266 cid:340 hgt:162cm iyr:2013
+
+ecl:amb
+hgt:151cm hcl:#18171d byr:1921 pid:187276410 eyr:2030 iyr:2015
+
+eyr:2030 pid:056372924 hcl:#d236d9 hgt:156cm
+iyr:2014 ecl:blu
+
+iyr:2014 eyr:2028 byr:1991
+hcl:#b6652a pid:119231378 hgt:155cm ecl:blu
+cid:77
+
+hcl:#341e13
+eyr:2027
+iyr:2012 ecl:grn hgt:152cm pid:405955710 byr:1970
+
+iyr:2013 hgt:180cm eyr:1978 ecl:amb byr:1929 pid:3198111997 hcl:z
+
+pid:32872520 ecl:#8a0dd4 iyr:1955 eyr:2036
+byr:2027 cid:133 hcl:z hgt:184in
+
+hgt:152cm pid:402361044
+hcl:#efcc98 eyr:2029 ecl:grn iyr:2014
+byr:1960
+
+byr:1972 eyr:2026 pid:411187543 iyr:2014
+hgt:184cm cid:211 hcl:#866857 ecl:brn
+
+ecl:brn
+hcl:#efcc98
+pid:311916712
+byr:1957 hgt:151cm eyr:2020 iyr:2020
+
+iyr:1968
+hcl:a28220
+pid:#ed250d cid:240 eyr:2031
+hgt:181cm ecl:xry
+
+ecl:grn byr:1946 hgt:172cm iyr:2010 hcl:#b6652a pid:372011640 eyr:2026
+
+ecl:brn
+eyr:2026 byr:1980 hcl:#c0946f
+hgt:151cm pid:153076317 iyr:2012
+
+byr:1966 pid:852999809 ecl:oth
+hgt:163cm
+iyr:2014 eyr:2029 hcl:#341e13
+
+ecl:blu
+byr:1959 hgt:191cm pid:195095631 iyr:2016 hcl:#ceb3a1 eyr:2028
+
+byr:2001 ecl:gry hcl:#888785 iyr:2018 hgt:177cm pid:576714115
+
+iyr:2017
+byr:1949
+ecl:blu hgt:186cm cid:289 pid:859016371
+hcl:#ceb3a1 eyr:2021
+
+byr:1999 hcl:#b6652a eyr:2023
+hgt:175cm
+ecl:gry iyr:2013 cid:165 pid:194927609
+
+hgt:70in eyr:2027 ecl:brn iyr:2012 pid:162238378 hcl:#ceb3a1 byr:1986
+
+hgt:63in ecl:xry
+byr:2011 iyr:2024
+hcl:5337b0
+
+hcl:#341e13 eyr:2029
+hgt:184cm ecl:amb iyr:2012
+byr:1970
+
+byr:1920 pid:472914751
+eyr:2028
+hgt:187cm hcl:#cfa07d cid:290 ecl:gry
+
+byr:1948 ecl:gry eyr:2025 hgt:151cm cid:276 hcl:#6b5442 pid:937979267
+iyr:2016
+
+byr:1934
+pid:626915978 hcl:#623a2f hgt:167cm ecl:gry
+iyr:2020 eyr:2023
+
+byr:1949
+hgt:68in eyr:2027 iyr:2019 hcl:#733820 ecl:brn cid:237
+pid:057797826
+
+pid:155cm
+hgt:68cm ecl:lzr hcl:z cid:344 eyr:2028 iyr:2020 byr:2017
+
+byr:1959
+hcl:#341e13 eyr:2022
+iyr:2019 pid:728703569
+hgt:167cm
+ecl:oth
+
+ecl:grn
+eyr:2024 byr:1999
+pid:566956828
+iyr:2015 cid:293 hcl:#602927 hgt:192cm
+
+byr:1939
+ecl:xry pid:929512270 hgt:66in iyr:1939 eyr:2030 hcl:#efcc98
+
+eyr:2026
+iyr:2014
+pid:176cm hcl:#fffffd
+ecl:gry
+hgt:151cm byr:1933
+cid:256
+
+ecl:oth eyr:2025 iyr:2017 hgt:159cm pid:055267863 cid:55 byr:2001 hcl:#cfa07d
+
+eyr:2029 byr:1954 ecl:hzl cid:123 iyr:2020 hgt:192cm hcl:#866857
+pid:225593536
+
+pid:320274514 cid:289 byr:1963
+eyr:1942
+ecl:gmt hcl:z hgt:167in iyr:2022
+
+byr:2013
+ecl:gmt
+iyr:2011
+hcl:#733820 pid:#e7962f
+hgt:178cm eyr:2029
+
+pid:154cm ecl:hzl
+eyr:2035 byr:2023 cid:104 iyr:2026
+
+eyr:2024 ecl:hzl hcl:#7d3b0c iyr:2010
+pid:105864164
+byr:1955
+hgt:163cm
+
+eyr:2021 hgt:151cm
+iyr:2017 hcl:#c0946f
+ecl:amb
+cid:150
+pid:296798563
+byr:1953
+
+iyr:2012
+byr:1990 hcl:#341e13
+pid:189449931 eyr:2024 hgt:64in
+
+hcl:z cid:79 byr:2028
+eyr:2028 pid:886152432
+ecl:#ce0596 hgt:178cm
+iyr:2029
+
+ecl:brn
+iyr:2019 hgt:151cm
+hcl:#341e13
+byr:1969
+pid:468846056
+eyr:2022
+
+ecl:grn hgt:157cm iyr:2012
+eyr:2020
+hcl:#b6652a cid:338
+byr:1954 pid:153867580
+
+iyr:2011
+eyr:2027
+byr:1935
+hgt:151cm
+ecl:blu pid:802665934 cid:276 hcl:#623a2f
+
+hcl:#efcc98 eyr:2026 ecl:amb
+iyr:2014 pid:320160032
+hgt:157cm
+byr:1976
+
+eyr:2021 cid:172
+iyr:2012 ecl:oth hgt:187cm
+pid:432856831 byr:2001 hcl:#733820
+
+eyr:2028 ecl:amb hcl:#efcc98
+iyr:2020 byr:1954 hgt:153cm
+
+byr:1930 ecl:brn hcl:#fffffd
+pid:458840035 hgt:178cm eyr:2021
+iyr:2011 cid:336
+
+pid:216876576 hcl:#341e13
+eyr:2028 iyr:2018 hgt:177cm byr:1938
+ecl:brn cid:214
+
+byr:2029 eyr:1987
+hgt:75cm pid:193cm hcl:#b6652a cid:246 iyr:2028
+
+ecl:hzl hgt:151cm hcl:#7d3b0c
+eyr:2030 pid:910999919
+iyr:2019 byr:1956
+
+byr:1950
+cid:95 iyr:2013 ecl:grn
+eyr:2020 hcl:#623a2f
+pid:603817559 hgt:159cm
+
+pid:913791667
+iyr:2018 byr:1959 hcl:#a97842 hgt:179cm eyr:2029 ecl:gry
+
+hgt:71in
+ecl:blu eyr:2028
+hcl:#18171d byr:1937 iyr:2011 pid:951572571
+
+hcl:#b6652a iyr:2015 hgt:170cm ecl:blu cid:292
+byr:1977 pid:475457579 eyr:2020
+
+ecl:amb eyr:2029
+pid:530769382 iyr:2018 cid:53
+hgt:63in
+byr:1954 hcl:#07de91
+
+hcl:#cfa07d hgt:185cm
+byr:1929 iyr:2011
+eyr:2027
+
+iyr:2019 ecl:oth byr:2023 hcl:#341e13 pid:879919037
+eyr:2030 hgt:174cm
+
+hcl:z hgt:182cm ecl:grn iyr:2010 eyr:2020 pid:2063425865
+cid:182
+byr:2019
+
+byr:1930 hgt:185cm pid:412694897 eyr:2025 ecl:brn iyr:2020
+hcl:#a97842
+
+hgt:150cm byr:1955 eyr:2020 cid:149 pid:597600808
+hcl:#ceb3a1
+ecl:hzl
+
+pid:209568495
+eyr:2026 byr:1928 hcl:#341e13 hgt:183cm ecl:brn iyr:2011
+
+pid:723789670 ecl:blu iyr:2013 byr:1933
+cid:239 hcl:#7d3b0c eyr:2026 hgt:151cm
+
+byr:1978 eyr:2027 hgt:164cm
+pid:009071063
+hcl:#602927 iyr:2014 ecl:blu
+
+hcl:#18171d ecl:grn hgt:154cm cid:154 iyr:2016
+byr:1952 pid:730027149 eyr:2024
+
+eyr:2025 hcl:#888785 iyr:2013 cid:90
+byr:1975 ecl:grn
+pid:619198428 hgt:161cm
+
+ecl:gry iyr:2013 pid:795604673 cid:198 byr:1962
+hcl:#6b5442 hgt:64in eyr:2021
+
+hcl:#ceb3a1 ecl:oth iyr:2015
+eyr:2021 pid:920586799 cid:302 hgt:60in
+byr:1964
+
+eyr:2021 ecl:gry iyr:2019
+hcl:#6b5442 hgt:192cm
+byr:1996
+pid:692698177
+
+ecl:grn pid:141369492 byr:1956 eyr:2028 hcl:#6b5442 hgt:190cm iyr:2014
+
+hcl:#6b5442
+ecl:grn iyr:2020 hgt:153cm
+pid:312738382 eyr:2028
+byr:1985
+
+byr:1979
+eyr:2021 ecl:gry hgt:175cm pid:787676021 cid:81 hcl:#b6652a iyr:2012
+
+cid:80 hgt:188cm byr:1964 pid:105773060 iyr:2014 hcl:#733820 ecl:gry eyr:2028
+
+byr:1960 pid:251870522 iyr:2018 hgt:168cm ecl:blu hcl:#c0946f eyr:2026
+
+cid:270
+pid:#5661f0 hgt:182in
+ecl:dne
+byr:1930
+hcl:z iyr:2026
+
+hcl:#888785 byr:1954 pid:170544716 eyr:2028 hgt:162cm cid:244
+iyr:2014
+ecl:grn
+
+iyr:2017
+hgt:69in
+ecl:hzl
+pid:544135985 hcl:#ceb3a1 eyr:2020
+
+hcl:92d4a1 iyr:2018 pid:178cm
+cid:347
+hgt:97 eyr:2017
+ecl:gmt byr:2004
+
+ecl:oth iyr:2018 hcl:#fffffd byr:1999 pid:853396129
+cid:119 eyr:2026 hgt:178cm
+
+hgt:69in
+hcl:#fffffd eyr:2026 byr:1922
+iyr:2010 ecl:oth pid:664840386
+
+hgt:178cm
+byr:2000
+iyr:2013 hcl:#cfa07d
+eyr:2028 pid:842454291
+ecl:amb
+
+ecl:hzl
+hcl:#733820 pid:316835287 byr:1998
+eyr:2024
+iyr:2015 hgt:165cm
+
+pid:684064750 byr:1928 ecl:gry iyr:2015 cid:343
+hgt:189cm
+hcl:#4c6cb4 eyr:2020
+
+byr:1923 hcl:#a97842 eyr:2024 ecl:gry
+pid:095911913
+hgt:185cm iyr:2010
+
+ecl:hzl
+byr:1996
+eyr:2023
+hgt:177cm
+hcl:#b6652a pid:011541746
+iyr:2011
+
+hcl:#efcc98
+iyr:2014 ecl:oth byr:1942 pid:730960830
+hgt:183cm
+eyr:2025
+
+byr:1939 eyr:2029 ecl:amb hcl:#fffffd
+hgt:188cm pid:732730418 iyr:2013 cid:313
+
+hgt:164cm cid:217 byr:1985 hcl:#888785 eyr:2020
+iyr:2014 ecl:oth
+pid:071172789
+
+eyr:2024 pid:215897274 ecl:#c67898
+byr:1972 hcl:#866857 iyr:2010 hgt:170cm cid:310
+
+ecl:hzl pid:030118892 byr:1941 hgt:158cm hcl:#b6652a
+eyr:2029 iyr:2012
+
+ecl:gry hcl:#c0946f hgt:166cm pid:604313781
+byr:1924 eyr:2023 iyr:2020
+
+hcl:#602927 hgt:168cm eyr:2027 ecl:brn
+pid:764635418 byr:1968 iyr:2010
+
+pid:157933284
+ecl:grn
+eyr:2030 byr:2000
+hgt:81 hcl:z
+
+hcl:#ec24d1
+pid:647881680 byr:1922
+hgt:178cm iyr:2020 ecl:amb eyr:2021 cid:94
+
+ecl:hzl byr:1971 iyr:2018 pid:975690657 eyr:2027
+hgt:192in
+cid:202 hcl:#c0946f
+
+pid:678999378
+hgt:61in
+byr:1981 hcl:#cfa07d eyr:2029 iyr:2014
+ecl:oth
+
+eyr:2022 iyr:2012 ecl:grn pid:883419125
+hcl:#ceb3a1
+cid:136 hgt:75in
+byr:1952
+
+iyr:2018 hgt:185cm
+byr:1985 pid:119464380 eyr:2028 hcl:#623a2f ecl:gry
+
+eyr:2025 hcl:#ceb3a1 byr:1953
+cid:277 hgt:164cm iyr:2010 pid:574253234
+
+cid:252 ecl:amb pid:594663323
+hgt:75in hcl:#cfa07d iyr:2019
+eyr:2026 byr:1964
+
+iyr:2026 hcl:z pid:60117235 ecl:lzr
+byr:2016 hgt:156in eyr:1994
+
+pid:448392350
+eyr:2022 hcl:#a97842
+hgt:157cm
+ecl:hzl
+iyr:2018 byr:1973
+
+ecl:brn
+byr:1951
+eyr:2028
+hcl:#7d3b0c iyr:2018 hgt:164cm
+
+hgt:156cm
+byr:1963
+iyr:2014 eyr:2020 ecl:blu hcl:#ceb3a1
+pid:#a87d16
+
+pid:447170366 ecl:blu hcl:#888785
+iyr:2012 cid:236
+hgt:167cm
+eyr:2022 byr:1942
+
+hcl:#623a2f
+eyr:2020 iyr:2017 cid:128 ecl:amb pid:279550425
+byr:1983 hgt:154cm
+
+byr:2014 eyr:2034 hgt:176in hcl:z
+ecl:#d4e521
+pid:3629053477 cid:177
+iyr:1970
+
+pid:30370825 byr:1966 eyr:2026
+iyr:2026 hcl:#866857
+cid:346 ecl:#f7c189
+
+iyr:2010 pid:271066119 eyr:2023 hcl:#efcc98 hgt:179cm byr:1956
+
+byr:1966 hgt:156cm pid:977897485 cid:287 iyr:2011 hcl:#b6652a ecl:amb eyr:2029
+
+cid:211 ecl:gmt byr:2017
+hcl:z eyr:2029 hgt:180in iyr:2021 pid:81920053
+
+byr:2019
+pid:5229927737 hcl:75b4f1 hgt:146 iyr:2026 ecl:#92cf7d eyr:2032
+
+eyr:2027 pid:604671573
+ecl:hzl
+hgt:189cm byr:1979
+hcl:#efcc98 iyr:2020
+
+iyr:2018 cid:192
+eyr:2029 ecl:grn
+pid:653764645 hgt:179cm
+hcl:#341e13 byr:1927
+
+byr:2012
+iyr:2015
+hcl:#b6652a
+pid:168500059 eyr:2038 cid:234 hgt:191cm ecl:zzz
+
+ecl:gry hcl:#623a2f byr:1925
+iyr:2016
+eyr:2028 cid:157
+hgt:154cm
+pid:196280865
+
+cid:319 pid:928322396 ecl:gry
+byr:1949
+eyr:2028
+hcl:#341e13 hgt:171cm
+iyr:2018
+
+byr:2023
+iyr:1953 hgt:154cm ecl:dne
+hcl:#888785
+pid:066246061 eyr:1983
+
+hcl:z
+iyr:2016 byr:1986 ecl:utc
+hgt:179cm eyr:2019 pid:583251408
+
+ecl:amb iyr:2014 pid:499004360
+byr:1927 eyr:2021 hgt:193cm hcl:#ceb3a1
+
+pid:631303194 ecl:gry
+hcl:#18171d cid:216 iyr:2019
+eyr:2024 hgt:178cm
+
+hcl:#341e13 cid:201
+byr:1949 iyr:2019 ecl:gry pid:372356205
+eyr:2024
+
+hcl:#18171d
+pid:867489359
+hgt:185cm
+iyr:2020 ecl:amb
+eyr:2030
+byr:1955
+
+byr:1991
+ecl:brn eyr:2025 hgt:184cm iyr:2016 pid:202216365
+
+ecl:xry pid:#524139 hgt:151cm hcl:z eyr:2031 byr:2030 iyr:2005
+
+byr:1971 hgt:178cm ecl:amb hcl:#ceb3a1
+iyr:2010
+eyr:2026 pid:396974525
+
+iyr:2014
+hgt:177cm pid:928522073
+eyr:2022
+ecl:hzl
+hcl:#c0946f byr:1983
+
+hgt:167cm hcl:#ceb3a1 iyr:2014
+pid:172415447
+eyr:2020 byr:1956
+
+iyr:2011 hgt:188cm byr:1947 eyr:2020 pid:667108134 ecl:amb hcl:#44a86b
+
+cid:302 ecl:brn pid:292483175 hgt:154cm
+byr:1997
+eyr:2026
+iyr:2014 hcl:#623a2f
+
+hgt:171cm
+iyr:2014 hcl:z ecl:hzl pid:321513523 eyr:2027 cid:146
+byr:2001
+
+eyr:1956 ecl:dne hgt:75cm hcl:82e1fa
+iyr:2030 byr:2027
+
+eyr:2020
+iyr:2011 pid:656669479 ecl:oth hgt:151cm hcl:#efcc98 byr:1981
+
+iyr:2013
+byr:1934
+pid:142890410 hgt:62in
+eyr:2022
+hcl:#87cca4
+ecl:hzl
+
+pid:006232726
+hgt:173cm ecl:hzl cid:110
+eyr:2026 hcl:#866857 iyr:2017 byr:1992
+
+cid:208
+iyr:2014 ecl:brn eyr:2024 byr:1935 hgt:187cm
+hcl:#b6652a
+pid:770836724
+
+iyr:2014 cid:144 hgt:169cm
+eyr:2022
+ecl:oth
+pid:117575716 hcl:#fffffd byr:1926
+
+byr:1971 ecl:brn
+hcl:#733820 eyr:1942 iyr:2013
+pid:606274259 hgt:163cm cid:196
+
+byr:1964
+pid:997828217 eyr:2029 iyr:2017 ecl:blu hcl:#341e13
+hgt:158cm
+
+pid:568202531 hcl:#efcc98 hgt:154cm eyr:2029 iyr:2010
+byr:1946
+ecl:blu
+
+iyr:2011
+pid:619355919
+byr:1955
+ecl:brn hcl:#888785 eyr:2030 hgt:155cm
+
+ecl:hzl pid:367152545
+hgt:162cm
+cid:221 hcl:#866857
+eyr:2024
+byr:1997 iyr:2019
+
+hgt:157in
+cid:268 hcl:32371d byr:2020
+ecl:zzz pid:1081234390
+
+ecl:hzl eyr:2026
+byr:1969 pid:850482906 cid:166 hcl:#602927 hgt:60in
+iyr:2019
+
+hcl:#c0946f
+hgt:176cm
+ecl:brn eyr:2026 iyr:2018 cid:172 byr:1986 pid:172963254
+
+ecl:grn iyr:2016
+hgt:187cm
+byr:1983
+hcl:#efcc98
+pid:722084344 eyr:2025
+
+ecl:oth hcl:#341e13 pid:130312766 hgt:171cm iyr:2018 byr:1927 eyr:2024
+
+byr:2021 hgt:152cm hcl:74dda6
+eyr:1984 cid:216
+iyr:2018 pid:95283942
+
+hcl:#b6652a pid:924778815 iyr:2017 ecl:gry
+eyr:2035
+hgt:68cm
+
+iyr:2010
+hcl:#efcc98 ecl:brn eyr:2020 pid:801894599 hgt:163cm byr:1959
+
+pid:798701070 eyr:2030
+hcl:#866857 ecl:hzl hgt:169cm byr:1994 cid:219 iyr:2010
+
+pid:#e9b41b
+hcl:#341e13 byr:1970
+iyr:2014
+ecl:oth cid:266 hgt:68cm eyr:2023
+
+byr:1931 pid:929960843 hgt:187cm hcl:#6b5442 cid:52 iyr:2010 eyr:2024 ecl:brn
+
+iyr:2017 byr:1974
+ecl:hzl cid:243 pid:66053995 hgt:147 eyr:1920 hcl:z
+
+iyr:2012 byr:1962 ecl:brn pid:773399437 hcl:#341e13
+eyr:2026
+
+pid:738442771 hgt:186cm eyr:2027 hcl:#efcc98 iyr:2013
+ecl:brn byr:1928
+
+pid:855794198
+ecl:oth
+hgt:67in
+cid:81
+iyr:2011 hcl:#b6652a eyr:2020
+byr:1921
+
+hcl:176abf hgt:161in
+byr:2002 iyr:2016 eyr:2027 pid:639047770 ecl:brn
+cid:178
+
+pid:335686451
+hcl:#86c240 iyr:2017 hgt:190cm byr:1968 ecl:amb
+
+hgt:150cm
+hcl:094a87 ecl:#09c463 eyr:1926 pid:537511570 byr:2009
+iyr:1998
+
+hgt:74in
+pid:927963411
+eyr:2026 ecl:gry cid:323 iyr:2012 hcl:#fffffd byr:1959
+
+iyr:2018 byr:1978
+hcl:#ff1829 eyr:2023
+pid:823129853 ecl:hzl
+hgt:65in
+
+pid:189cm
+ecl:#00391e hgt:72cm hcl:11050f
+byr:2029
+eyr:1994
+iyr:1935
+cid:186
+
+ecl:grn byr:1942 pid:217290710 hgt:181cm eyr:2021 hcl:#7d3b0c iyr:2019 cid:320
+
+byr:1983 iyr:2013 cid:122 hcl:#ceb3a1 eyr:2030 hgt:59in ecl:grn pid:946451564
+
+ecl:amb
+cid:236 hgt:184cm
+hcl:#cfa07d iyr:2017 pid:934730535 eyr:2021 byr:2002
+
+byr:1950 ecl:hzl eyr:2030 hcl:#623a2f pid:742249321
+hgt:158cm iyr:2018
+
+byr:1946 eyr:2021 hcl:#a97842 pid:204671558 ecl:grn
+iyr:2010 hgt:187cm
+
+hcl:#b6652a pid:528124882 hgt:162cm byr:1924 ecl:amb iyr:2027 cid:157
+eyr:2028
+
+hgt:180cm iyr:2013 byr:1926 pid:232265934 hcl:#602927 ecl:oth
+
+byr:1984 ecl:brn
+iyr:2016 pid:756596443 eyr:2030 hcl:#7d3b0c hgt:183cm
+
+hgt:185cm
+hcl:#fffffd byr:1991 eyr:2023 iyr:2014
+ecl:amb
+pid:759105859
+
+cid:82 iyr:2012 hgt:160cm eyr:2022 pid:593798464 ecl:gry hcl:#4e7571 byr:1983
+
+pid:478427550
+iyr:2010
+ecl:amb byr:1969 hgt:68in cid:94 eyr:2021 hcl:#866857
+
+ecl:amb iyr:2019 byr:1986 hgt:170cm
+hcl:#c0946f
+pid:779205106 eyr:2027
+
+ecl:brn eyr:2025 byr:1925
+hcl:#7d3b0c hgt:76in pid:576353079 iyr:2010
+
+hgt:175cm hcl:4bf5ae ecl:amb
+eyr:2029 pid:173cm cid:329
+iyr:1952 byr:1972
+
+ecl:grn
+eyr:2030
+iyr:2015 hcl:#c0946f
+byr:1989
+hgt:178cm
+pid:287209519
+
+pid:834505198 byr:1985 ecl:gry eyr:2024
+cid:295 hgt:169cm iyr:2017
+
+hgt:170cm
+pid:054644831 eyr:2023 iyr:1949 ecl:amb
+hcl:#888785
+byr:1955
+
+hgt:171cm
+pid:947263309 iyr:2015 byr:1944 eyr:2027 ecl:grn cid:79 hcl:#341e13
+
+eyr:1982
+cid:147
+iyr:2015
+hgt:70cm hcl:a77c10 ecl:zzz byr:2007
+pid:161cm
+
+ecl:gry byr:1933
+hcl:#c0946f pid:483275512 iyr:2012 eyr:2025 hgt:161cm
+
+eyr:1985 hgt:176cm hcl:7b6ddc iyr:2012 cid:326 byr:1973 pid:929418396 ecl:gmt
+
+ecl:gry
+byr:1971
+hgt:184cm
+eyr:2027 hcl:#3adf2c iyr:2017 cid:210
+pid:693561862
+
+eyr:2021 pid:779298835 byr:1921 hgt:193cm ecl:amb
+iyr:2016 hcl:#ceb3a1
+
+hcl:4a1444
+byr:2019 iyr:2024 hgt:182in
+cid:87 ecl:#122264
+pid:181cm
+eyr:1927
+
+cid:267 ecl:amb eyr:2020 byr:2000
+hcl:#18171d iyr:2012 hgt:190cm pid:18525759
+
+ecl:oth byr:1988
+iyr:2019 pid:660570833
+hcl:#866857 hgt:176cm
+
+eyr:2030 hcl:#866857
+byr:1967 cid:316 pid:560346474 iyr:2015
+hgt:160cm
+ecl:gry
+
+ecl:hzl
+iyr:2014 hgt:164cm hcl:#733820 eyr:2025
+pid:106302413 byr:1920
+
+iyr:2016 pid:515066491
+ecl:grn eyr:2026 hgt:179cm hcl:#b6652a byr:1982
+
+ecl:#7de6a0
+iyr:2004 eyr:1955 hgt:154cm cid:138 byr:2004
+pid:758934555
+hcl:a21980
+
+pid:#2a21e0 ecl:#1b9b27 hgt:165in
+byr:1998 iyr:2014 eyr:2032
+
+eyr:2021 hgt:184cm pid:431054313 hcl:#ceb3a1 cid:109 byr:1977 ecl:blu
+iyr:2011
+
+pid:006339126 hgt:177cm
+cid:188 hcl:#a97842
+iyr:1959
+ecl:xry
+
+byr:2000
+ecl:hzl eyr:2029
+iyr:2011 hcl:#866857 hgt:74in