# Using names.txt (right click and 'Save Link/Target As...'), a 46K text file containing over five-thousand first names,
# begin by sorting it into alphabetical order. Then working out the alphabetical value for each name, multiply this
# value by its alphabetical position in the list to obtain a name score.

# For example, when the list is sorted into alphabetical order, COLIN, which is worth 3 + 15 + 12 + 9 + 14 = 53, is
# the 938th name in the list. So, COLIN would obtain a score of 938 × 53 = 49714.

# What is the total of all the name scores in the file?


# ouvrir le fichier à partir de son url


# fonction de calcul des lettre d'un mot
def total_val_lettres(mot):
    val_lettres = 0
    #Lecture un par un des lettres du mot
    for i in mot :
        # l'alphabet démarre à la valeur 65
        # ord renvoie la valeur ascii
        # le rang d'une lettre est cette valeur - 64
        val_lettres += ord(i) - 64
    return val_lettres

resultat = 0

# ouverture du fichier
fichier = open("p022_names.txt", "r")

# Lecture des noms du fichier et génération de la liste des noms
# names = list(eval(fichier.read()))
names = list(fichier.read())
fichier.close()
names.sort()
resultat = 0
for i, name in enumerate(names):
    resultat += total_val_lettres(name)*(i+1)
print(resultat)