naplo = []
be = open("autok.txt")
for sor in be.readlines():
    nap, ido, rendszam, szemely, km, kibe = sor.split()
    naplo.append([int(nap), ido, rendszam, int(szemely), int(km), int(kibe)])
be.close()

# 2. feladat
utoljara = [[x[0], x[2]] for x in naplo if x[-1] == 0][-1]
print("2. feladat\n{}. nap rendszám: {}".format(utoljara[0], utoljara[1]))

# 3. feladat
Nap = int(input("3. feladat\nNap: "))
print("Forgalom a(z) {}. napon:".format(Nap))
for nap, ido, rendszam, szemely, km, kibe in naplo:
    if nap == Nap:
        print(ido, rendszam, szemely, ['ki', 'be'][kibe])

# 4. feladat
autok = [x[2] for x in naplo]
db = 0
for auto in set(autok):
    if autok.count(auto) % 2:
        db += 1
print("4. feladat\nA hónap végén", db, "autót nem hoztak vissza.")

# 5. feladat
print("5. feladat")
for auto in sorted(set(autok)):
    km = [x[4] for x in naplo if x[2] == auto]
    print(auto, km[-1]-km[0], "km")

# 6. feladat
szemelyek = [x[3] for x in naplo]
maxtavok = []
for szem in set(szemelyek):
    tavolsag = []
    utak = [x[4] for x in naplo if x[3] == szem]  # egy személyhez tartozó utak
    if len(utak) % 2 == 1:
        utak.append(utak[-1])  # ha az autó nincs bent, akkor páratlan a lista, az utolsót hozzáadjuk
    for i in range(1, len(utak), 2):
        tavolsag.append(utak[i]-utak[i-1])  # kigyűjtjük a megtett távolságokat
    maxtavok.append([max(tavolsag), szem])
legtobb = max(maxtavok, key=lambda x: x[0])
print("6. feladat\nA leghosszabb út: {}, személy: {}".format(*legtobb))

# 7. feladat
rendsz = input("7. feladat\nRendszám: ")
ki = open(rendsz + "_menetlevel.txt", "w")
for nap, ido, rendszam, szemely, km, kibe in naplo:
    if rendszam == rendsz:
        if kibe == 0:
            print("{}\t{}.\t{}\t{} km".format(szemely, nap, ido, km), end="\t", file=ki)
        else:
            print("{}.\t{}\t{} km".format(nap, ido, km), file=ki)
print("menetlevél kész.")
ki.close()
