# 1. feladat
be = open('utca.txt')
ado = be.readline().split()
ado_sav = {'A': int(ado[0]), 'B': int(ado[1]), 'C': int(ado[2])}
utca = []
for sor in be.readlines():
    asz, u, hsz, kat, ter = sor.split()
    utca.append([asz, u, hsz, kat, int(ter)])
be.close()

# 2. feladat
print("2. feladat. A mintában", len(utca), "telek szerepel.")

# 3. feladat
adoszam = input("3. feladat. Egy tulajdonos adószáma: ")
hazak = [haz for haz in utca if haz[0] == adoszam]
if len(hazak) == 0:
    print("Nem szerepel az adatállományban.")
else:
    for asz, u, hsz, kat, ter in hazak:
        print(u, "utca", hsz)

# 4. feladat
def ado(adosav, alapterulet):
    # ado_sav = {'A': 800, 'B': 600, 'C': 100}
    ado = ado_sav[adosav] * alapterulet
    return [0, ado][ado >= 10000]

# 5. feladat
db, adok = {}, {}
for asz, u, hsz, kat, ter in utca:
    db[kat] = db.get(kat, 0) + 1
    adok[kat] = adok.get(kat, 0) + ado(kat, ter)
for k in ado_sav:
    print(k, "sávba", db[k], "telek esik, az adó", adok[k], "Ft.")

# 6. feladat
print("6. feladat. A több sávba sorolt utcák:")
utcak = [u[1] for u in utca]
for ut in set(utcak):
    ka = []
    for asz, u, hsz, kat, ter in utca:
        if u == ut:
            ka.append(kat)
    if len(set(ka)) > 1:
        print(ut)

# 7. feladat
print("7. feladat: Fájlbaírása az adóknak")
ki = open('fizetendo.txt', 'w')
tulaj = [u[0] for u in utca]
for tul in set(tulaj):
    osszeg = 0
    for asz, u, hsz, kat, ter in utca:
        if asz == tul:
            osszeg += ado(kat, ter)
    print(tul, osszeg, file=ki)
ki.close()
print("Fájlbaírás kész.")
