# 1. feladat
foglalasok = []
f = open("fogado.txt")
for sor in f.readlines():
    vnev, knev, ido, foglalas_ideje = sor.strip().split()
    nev = vnev + " " + knev
    ora, perc = ido.split(":")
    datum, idopont = foglalas_ideje.split("-")
    foglalasok.append([nev, ido, foglalas_ideje])
f.close()

# 2. feladat
print("2. feladat\nFoglalások száma:", len(foglalasok))

# 3. feladat
tanar = input("3. feladat:\nAdjon meg egy nevet: ")
db = sum(1 for fog in foglalasok if fog[0] == tanar)
if db:
    print(tanar, "néven", db, "foglalás van.")
else:
    print("A megadott néven nincs foglalás.")

# 4. feladat
ervenyes_ido = input("4. feladat:\nAdjon meg egy érvényes időpontot (pl. 17:10): ")
tanarok = sorted([x[0] for x in foglalasok if x[1] == ervenyes_ido])
fajl = ervenyes_ido.replace(":", "")
ki = open(fajl + ".txt", "w")
for tanar in tanarok:
    print(tanar)
    print(tanar, file=ki)
ki.close()

# 5. feladat
n, i, d = min(foglalasok, key=lambda x: x[2])
print("5. feladat\nTanár neve: {}\nFoglalt időpont: {}\nFoglalás ideje: {}".format(n, i, d))

# 6. feladat
print("6. feladat: ")
idopontok = []  # lehetséges időpontok: 16:00-17:50
ora, perc = 16, 0
for i in range(12):
    if perc == 0:
        idopontok.append(str(ora) + ":0" + str(perc))
    else:
        idopontok.append(str(ora) + ":" + str(perc))
    perc += 10
    if perc == 60:
        ora += 1
        perc = 0
for i in [x[1] for x in foglalasok if x[0] == "Barna Eszter"]:
    if i in idopontok:
        idopontok.remove(i)  # foglalt időpontok törlése
for i in idopontok:
    print(i)


# 7. feladat
def percbe(ido):
    # időpont percben
    o, p = ido.split(":")
    o = int(0)
    p = int(p)
    return o * 60 + p


idopontok = sorted(idopontok, reverse=True)
for i in range(len(idopontok) - 1):
    if percbe(idopontok[i]) - percbe(idopontok[i + 1]) > 10:
        break
print("Barna Eszter legkorábban távozhat:", idopontok[i])
