#!/usr/bin/env python3

# ##################################################################
#
#
#
# projecteuler.net problem 22
#
#
#
#
#
#
#
#
#
#
# #####################################################################3

CHAR_MAPPING = dict(
    A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8, I=9, J=10, K=11, L=12, M=13,
    N=14, O=15, P=16, Q=17, R=18, S=19, T=20, U=21, V=22, W=23, X=24,
    Y=25, Z=26)


def parse_file(filepath='problem22.txt'):
    f = open(filepath)

    names = f.readline().split(',')
    names.sort()
    return [name.strip('"') for name in names]


def count_naive_score(name):
    """
    This is naive of positioning, and only considers the letters
    themselves, not the location in the list.
    """
    score = 0
    for c in name:
        score += CHAR_MAPPING[c]

    return score


def total_scores(names):
    total = 0
    for index, name in enumerate(names):
        total += count_naive_score(name) * (index + 1)
    return total

if __name__ == '__main__':
    print(total_scores(parse_file()))
