file = open('ut.txt')

meter = int(file.readline())

megtett = []
jelzes = []

for sor in file:
    sor = sor.strip().split()
    megtett.append(int(sor[0]))
    jelzes.append(sor[1])

file.close()

db = len(megtett)



print('2. feladat')
for i in range(db):
        if 'Varos' in jelzes[i]:
            print(jelzes[i])
print()


print('3. feladat')

bem = input('Adja meg a vizsgált szakasz hosszát km-ben! ')
if '.' in bem:
    bem = int(bem[0])*1000 + int(bem[2])*100
else:
    bem = int(bem)*1000
minn = 90
for i in range(db):
    if megtett[i] < bem:
        if jelzes[i] == '30':
            minn = 30
        if jelzes[i] == '40' and minn > 40:
            minn = 40
        if jelzes[i] == '50' and minn > 50:
            minn = 50
        if jelzes[i] == '60' and minn > 60:
            minn = 60
        if jelzes[i] == '70' and minn > 70:
            minn = 70
        if jelzes[i] == '80' and minn > 80:
            minn = 80
        if 'Varos' in jelzes[i] and minn > 50:
            minn = 50
        
        
print(f'Az elso {bem/1000} km-en {minn} km/h volt a legalacsonyabb megengedett sebesség.')
print()




print('4. feladat')
varos4 = []
kezdet4 = 0
veg4 = 0
for i in range(db):
    if 'Varos' in jelzes[i]:
        kezdet4 += megtett[i]
    elif jelzes[i] == ']':
        veg4 += megtett[i]
varosut = veg4 - kezdet4
print(f'Az út {round(varosut/meter*100, 2)} százaléka vezet településen belül.')
print()


print('5. feladat')
bevaros = input('Adja meg eg település nevét! ')
tablak = 0
belul1 = 0
belul2 = 0
for i in range(db):
    if bevaros == jelzes[i]:
        belul1 = megtett[i]
        for j in range(i,db):
            if 1 < len(jelzes[j]) < 4:
                tablak += 1
            if jelzes[j] == ']':
                belul2 = megtett[j]
                break
print(f'A sebességkorlátozó táblák száma: {tablak}')
print(f'Az út hossza a településen belül {belul2-belul1} méter.')
print()



print('6. feladat')
elsovaros = []
for i in range(db):
    if 'Varos' in jelzes[i]:
        elsovaros.append(jelzes[i])
        break
utolsovaros = []
for i in reversed(range(db)):
    if 'Varos' in jelzes[i]:
        utolsovaros.append(jelzes[i])
        break

varosok = []
varoskezdet = []
varosveg = []
for i in range(db):
    if bevaros == elsovaros:
        print(f'A legközelebbi település: {varosok[j+1]}')
        break
    elif bevaros == utolsovaros:
        print(f'A legközelebbi település: {varosok[j-1]}')
        break



    elif 'Varos' in jelzes[i]:
        varosok.append(jelzes[i])
        varoskezdet.append(megtett[i])
        for j in range(i, db-1):
            if jelzes[i] == ']':
                varosveg.append(megtett[j])
                break

for j in range(2, len(varosok)-1):
        if bevaros == varosok[j]:
            if (varoskezdet[j] - varosveg[j-1]) > (varoskezdet[j+1] - varosveg[j]):
                print(f'A legközelebbi település: {varosok[j-1]}')
            else:
                print(f'A legközelebbi település: {varosok[j+1]}')
