Alfametik

\includegraphics{alfametik}

En alfametik är ett matematiskt pussel där en antal ord är ordnade på den form man använder när man utför en addition "för hand", och där det går ut på att ersätta bokstäverna med siffror så att resultatet blir en giltig aritmetisk summa. Den första moderna alfametiken, publicerad av H E Dudeney i juli 1924, visas i figuren ovan och har lösningen $9567 + 1085 = 10652$.

Det finns två tämligen självklara regler för en alfametik:

  • Det ska finnas ett 1 - 1 förhållande mellan bokstäverna och siffrorna i alfametiken. Det vill säga, samma bokstav står alltid för samma siffra, och samma siffra är alltid representerad av samma bokstav.

  • Siffran 0 får inte förekomma längst till vänster i termerna eller summan.

Indata

På första raden står antalet termer, ett tal mellan 2 och 10. Därefter kommer termerna, en på varje rad, och sist summan. Inget av dessa "tal" kommer att vara längre än 8 bokstäver. Bokstäverna kommer att vara uteslutande versaler, A till Z.

Utdata

Programmet ska ange lösningen till problemet genom att skriva ut termerna (i samma ordning som i indatan) samt summan på separata rader. Du kan anta att det existerar exakt en lösning.

Poängsättning

Testdata består av tre olika testfall. Tre lösta testfall ger 100 poäng, två lösta testfall ger 50 poäng.

Sample Input 1 Sample Output 1
4
SATURN
URANUS
NEPTUNE
PLUTO
PLANETS
127503
502351
3947539
46578
4623971