def ido_mp(perc, masodperc):
    return 60 * perc + masodperc


def teljes_ido(masodperc):
    o = masodperc // 3600
    p = (masodperc % 3600) // 60
    mp = masodperc - o * 3600 - p * 60
    return [o, p, mp]


def kezdesi_ido(egydal):
    ido = 0
    for dal in adatok:
        if dal == egydal:
            break
        if dal[0] == egydal[0]:
            ido += ido_mp(dal[1], dal[2])
    return ido


def vege_ido(egydal):
    return kezdesi_ido(egydal) + ido_mp(egydal[1], egydal[2])


# 1. feladat
f = open("musor.txt")
db = int(f.readline())
adatok = []
for sor in f:
    x = sor.split(" ", 3)
    ado = int(x[0])
    perc = int(x[1])
    mperc = int(x[2])
    dal = x[3].split(':')
    eloado = dal[0]
    cim = dal[1].strip()
    adatok.append([ado, perc, mperc, eloado, cim])
f.close()
# print(adatok)

# 2. feladat
print("2. feladat:\nAz egyes cstornákon hallható számok száma:")
szamok_db = [0] * 3
for i in range(1, 4):
    szamok_db[i - 1] = sum([1 for x in adatok if x[0] == i])
for i in range(1, 4):
    print("{0}. csatorna: {1} db".format(i, szamok_db[i - 1]))

# 3. feladat
print("3. feladat:")
ido = sum([ido_mp(x[1], x[2]) for x in adatok if x[0] == 1 and x[3] == "Eric Clapton"])
sorszam = []
for i in range(len(adatok)):
    if adatok[i][0] == 1 and adatok[i][3] == "Eric Clapton":
        sorszam.append(i)
osszido_ = 0
for i in range(sorszam[0], sorszam[-1] + 1):
    if adatok[i][0] == 1:
        osszido_ += ido_mp(adatok[i][1], adatok[i][2])

print("Az első és utolsó Eric clapton dal között eltelt idő: ",
      teljes_ido(osszido_)[0], ":", teljes_ido(osszido_)[1], ":", teljes_ido(osszido_)[2], " volt.", sep='')

# 4. feladat
print("4. feladat:")
# Omega:Legenda csatorna
omega_legenda = [x for x in adatok if x[3] == "Omega" and x[4] == "Legenda"][0]
print("Az Omega:Legenda dalt " + str(omega_legenda[0]) + ". csatorna játszotta.")
# azok a dalok, amik az Omega:Legenda előtt kezdődtek az egyik csatornán. Ennek a listának az utolsó eleme kell

dal_egyik_masik = [x for x in adatok if x[0] != omega_legenda[0] \
                   and kezdesi_ido(x) < kezdesi_ido(omega_legenda) < vege_ido(x)]

for dal in dal_egyik_masik:
    print("A", dal[0], "csatornán a", *dal[3:5], "dal ment.")

# 5. feladat
karakterek = input("5. feladat: adjon meg egy karaktersorozatot: ").upper()
talalt = [adatok.index(x) + 1 for x in adatok if karakterek in (x[3] + ' ' + x[4]).upper()]
ki = open("keres.txt", "w")
print(karakterek, file=ki)
for dal in talalt:
    print(dal, file=ki)
ki.close()
print("Fájlbaírás kész.")

# 6. feladat
eredeti = [ido_mp(x[1], x[2]) for x in adatok if x[0] == 1]
eredeti_osszido = sum(eredeti)
osszido = 0
ora = 1
for i in eredeti:
    if osszido + i >= ora * 3600:
        osszido = ora * 3600 + 180 - 60  # ha a zene a bevezetővel együtt nem végződik a hírekig
        ora += 1
    osszido += 60 + i

print("6. feladat\nAz adás vége: ",
      teljes_ido(osszido)[0], ":", teljes_ido(osszido)[1], ":", teljes_ido(osszido)[2], sep='')
print("Az adás eredeti vége: ",
      teljes_ido(eredeti_osszido)[0], ":", teljes_ido(eredeti_osszido)[1], ":", teljes_ido(eredeti_osszido)[2], sep='')
