# Задача 22
# Очки за имена
# Используйте names.txt (щелкнуть правой кнопкой мыши и выбрать 'Save Link/Target As...'), текстовый файл размером 46 КБ,
# содержащий более пяти тысяч имен. Начните с сортировки в алфавитном порядке.
# Затем подсчитайте алфавитные значения каждого имени и умножьте это значение на
# порядковый номер имени в отсортированном списке для получения количества очков имени.
#
# Например, если список отсортирован по алфавиту, имя COLIN
# (алфавитное значение которого 3 + 15 + 12 + 9 + 14 = 53) является 938-м в списке.
# Поэтому, имя COLIN получает 938 × 53 = 49714 очков.
#
# Какова сумма очков имен в файле?
#
# Оригинал




f = open('p022_names.txt', mode='r')
# f.read()
# for line in f:
#     print(line)

str = f.read()

# for i in range(len(str)):
#     print(str[i])

A = []

start = 1
i = 0

while str.find('","', i) > 0:
    n = str.find('","', i)
    A.append(str[start:n])
    start = n + 3
    i += 1

while '' in A:
    A.remove('')

A.sort()
res = 0

for i in range(len(A)):
    s = 0
    for n in range(len(A[i])):
        s = s + ord(A[i][n]) - 64
        print(A[i][n],end='')
    print(' ',s*i)
    res += s*i

print('Result=',res)
f.close() #Result= 870544838
