https://www.acmicpc.net/problem/15829
import math
# a= 1,..., z= 26
num = int(input())
result = 0
cnt = 0
hash = input()
for i in hash:
x = ord(i) - 96
temp = x * (pow(31,cnt))
result += temp
cnt += 1
print(result%1234567891)
아스키 코드에서 96를 빼면 a=1, b=2 ,... ,z=26 (x)을 가질 수 있습니다. x에 n제곱값을 곱해준 후 result에 더해줍니다.
result에 M(1234567891)을 나눠준 후 출력합니다.