defsolution(strings):deftoint(ch):return ord(ch)-65
power = [10**i for i in range(10)]
count = {}
firsts = set()
for string in strings:
firsts.add(toint(string[0]))
val = 1for index in [toint(ch) for ch in string[::-1]]:
if index in count:
count[index]+= val
else:
count[index] = val
val*=10
count = sorted(count.items(),key=lambda x:x[1])
result = [0]*10
print(len(count))
if len(count)==10:
for i,index in count:
if i notin firsts:
count.remove((i,index))
result[i] = 0break
init=9for i,j in count[::-1]:
result[i],init = init,init-1
ans = 0
print(result,count,firsts)
for string in strings:
ans += reduce(lambda x,y:x+result[toint(y[0])]*y[1],zip(string[::-1],power),0)
return ans