import math

# prevadzanie pismen na cisla
grade_to_num = {
    "A": 1,
    "B": 1.5,
    "C": 2,
    "D": 2.5,
    "E": 3
}

# prevadzanie tych hodnot
def grades_to_num(grades):
    return [grade_to_num[grade] for grade in grades]

# pocitanie priemeru
def mean(values):
    return sum(values)/len(values)

# zadanie predmetu
titles = input("Zadajte názvy predmetov: ").split()

# zadamie znamok z predmetu
print("Zadajte známky:")
courses = []

# z nazvu vytvorime predmety a pridame do pola v cykle
for title in titles:
    courses.append([grade.upper() for grade in input(f"{title}: ").split()])
means = []
print()

# po predmete prechadzame znamky a generujeme najlepsiu, najhorsiu, priemer za predmet
# a celkovy priemer zo zadanych predmetov
for title, course in zip(titles, courses):
    print(title)
    print("Najlepšia známka:", min(course))
    print("Najhoršia známka:", max(course))
    course_mean = mean(grades_to_num(course))
    print("Priemer:", course_mean, "\n")
    means.append(course_mean)

print("Celkový priemer:")
print(mean(means))