| 1234567891011121314151617181920212223242526272829303132333435 | 
							- import re
 - 
 - def valid(ppt):
 -     k = ppt.keys()
 -     for v in ["byr", "iyr", "eyr", "hgt", "hcl", "ecl", "pid"]:
 -         if v not in k:
 -             print(f"Missing {v}.")
 -             return False
 -     return True
 - 
 - def main():
 -     with open("input4.txt") as file:
 -         text = file.read()
 -     ppts = text.split("\n\n")
 -     print(f"I have {len(ppts)} passports.")
 -     count = 0
 -     cinv = 0
 -     for ppt in ppts:
 -         ppt = ppt.replace("\n", " ")
 -         pptchunks = ppt.split(" ")
 -         pptdct = {}
 -         for chunk in pptchunks:
 -             if chunk != "":
 -                 bits = chunk.split(":")
 -                 pptdct[bits[0]] = bits[1]
 -         # print(ppt)
 -         # print(pptdct)
 -         if valid(pptdct):
 -             count += 1
 -         else:
 -             cinv += 1
 -     print(f"There are {count} valid passports and {cinv} invalid ones.")
 - 
 - if __name__ == "__main__":
 -     main()
 
 
  |