import math


def tavolsag(kezd, vege):
    return vege - kezd


def kerekit(szam):
    # a legközelebbi ötösre kerekít
    return ((szam + 2) // 5) * 5

# 1. feladat
f = open("eladott.txt")
x = f.readline().split()  # első sor beolvasása
adatok = [x.strip().split() for x in f.readlines()]  # többi sor beolvasása

darab = int(x[0])
ut = int(x[1])
ar10km = int(x[2])

# 2. feladat
print("2. feladat:\nA legutolsó vásárló ülése: ", adatok[-1][0], ", a megtett távolság: ",
      tavolsag(int(adatok[-1][1]), int(adatok[-1][2])), sep='')

# 3. feladat
print("3. feladat:\nAkik végig utazták a teljes utat:")
i = 1
for x in adatok:
    if tavolsag(int(x[2]), int(x[1])) == ut:
        print(i, end=" ")
    i += 1

# 4. feladat
osszesen = 0
for x in adatok:
    tav = math.ceil((tavolsag(int(x[1]), int(x[2])) / 10)) * 10  # az utat felfelé kerekítjük
    jegyar = kerekit(tav * ar10km)  # jegyár 5-re kerekítése
    osszesen += jegyar
print("A bevétel:", osszesen, "forint volt.")

print("5. feladat")
utolso_fel = sorted(set(([int(x[1]) for x in adatok])))[-1]  # utolsó megálló, ahol felszállnak
utolso_le = sorted(set(([int(x[2]) for x in adatok if int(x[2]) != ut])))[-1]  # utolsó megálló, ahol leszállnak
utolso = max(utolso_le, utolso_fel)  # utolsó megálló
dble = sum(1 for x in adatok if int(x[1]) == utolso)
dbfel = sum(1 for x in adatok if int(x[2]) == utolso)
print("Az utolsó megállónál leszálló utasok száma: {0}, felszálló utasok száma: {1}".format(dble, dbfel))
megallo = []  # kigyűjtjük a km értékeket, de csak egyszer
for x in adatok:
    if int(x[1]) not in megallo and int(x[1]) != 0:
        megallo.append(int(x[1]))
    if int(x[2]) not in megallo and int(x[2]) != ut:
        megallo.append(int(x[2]))
print("A megállók száma:", len(megallo))

ut_egy_pontja = int(input("7. feladat: adjon meg egy távolságot: "))
ki = open("kihol.txt", "w")
for i in range(1, 49):
    j = 1
    foglalt = 0
    for x in adatok:
        if int(x[1]) < ut_egy_pontja < int(x[2]) and int(x[0]) == i:
            foglalt = j
        elif int(x[1]) == ut_egy_pontja and int(x[0]) == i:
            foglalt = j
        elif int(x[2]) == ut and int(x[0]) == i:
            foglalt = j
        j += 1
    if foglalt:
        print("{0}. ülés: {1}. utas".format(i, foglalt), file=ki)
    else:
        print("{0}. ülés: {1}".format(i, "üres"), file=ki)
ki.close()
