# 1. feladat
def mpbe(o, p, mp):
    return o * 3600 + p * 60 + mp


def opmp(mp):
    return mp // 3600, (mp // 60) % 60, mp % 60


# 2. feladat
hivasok = []
sorszam = 0
f = open("hivas.txt")
for hivas in f.readlines():
    ido = [int(i) for i in hivas.split()]
    sorszam += 1
    hivasok.append([sorszam, mpbe(*ido[:3]), mpbe(*ido[3:])])

# 3. feladat
print("3. feladat")
statisztika = [0] * 24
for sorszam, kezdet, veg in hivasok:
    statisztika[kezdet // 3600] += 1
for index, db in enumerate(statisztika):
    if db:
        print(index, "óra", db, "hívás")

# 4. feladat
leghosszabb = max(hivasok, key=lambda x: x[2] - x[1])
print("4. feladat\nA leghosszabb ideig vonalban lévő hívó {}. sorban szerepel, a hívás hossza: {} masodperc.".
      format(leghosszabb[0], leghosszabb[2] - leghosszabb[1]))

# 5. feladat
var = 0
hivo_sorszam = None
o, p, mp = input("5. feladat\nAdjon meg egy időpontot! (óra perc másodperc): ").split()
idopont = mpbe(int(o), int(p), int(mp))
for sorszam, kezdet, veg in hivasok:
    if kezdet <= idopont <= veg:
        var += 1
        if not hivo_sorszam:
            hivo_sorszam = sorszam
            var -= 1
if hivo_sorszam:
    print("A várakozók száma: {} a beszélő a {}. hívó.".format(var, hivo_sorszam))
else:
    print("Nem volt beszélő")

# 6. feladat
print("6. feladat:")
fogadott = []  # sorszám, bkezdet, bvég, várakozás
bkezd = mpbe(8, 0, 0)
bveg = mpbe(8, 0, 0)
varakozas = None
for sorszam, hkezd, hveg in hivasok:
    if hveg // 3600 < 8:  # 8 óra előtt lerakta
        continue
    if hkezd // 3600 >= 12:  # 12 óra után jött a hívás, nem kell vele törődni
        break
    if hveg <= bveg:  # a hívó letette, mielőtt kapcsolták volna
        continue
    if hkezd < bveg:
        varakozas = bveg - hkezd
        bkezd = bveg
    else:
        varakozas = 0
        bkezd = hkezd
    bveg = hveg
    fogadott.append([sorszam, bkezd, bveg, varakozas])
print("Az utolsó telefonáló adatai a {}. sorban van és {} másodpercet várt.".format(fogadott[-1][0], fogadott[-1][-1]))

print("7. feladat:")
ki = open("sikeres.txt", "w")
for sorszam, bkezd, bveg, varkozas in fogadott:
    bko, bkp, bkmp = opmp(bkezd)
    bvo, bvp, bvmp = opmp(bveg)
    print(sorszam,  bko, bkp, bkmp, bvo, bvp, bvmp, file=ki)

ki.close()
