Tocmai am luat 100, am facut asa: gradul cuvantului l-am descompus in factori primi ca sa imi fie usor sa aflu numarul de divizori. O sa ai nevoie de un vector V unde sa tii V[ i ] - de cate ori apare i in descompunerea in factori primi a gradului.
Cand iei o litera, inmultesti gradul cu un numar de forma X ^ Y. Descompui pe X in factori primi, iar in V in loc sa faci V[factorprim] += puterea, faci V[factorprim] += puterea * Y, pt ca daca te uiti 4 ^ 3 poti sa il scrii ca (2 ^ 2) ^ 3 = 2 ^ 6, 2 ^ 2 fiind descompunerea in factori primi a lui 4.
La final iterezi prin numerele prime si faci numarul de divizori dupa formula si aduni la solutie. Dupa ce termini cu un cuvant sa faci V[ i ] = 0 peste tot.

LE: problema la tine, cel mai probabil, e ca daca ai o propozitie dintr-un singur cuvant cu 255 de litere, iar ultima litera e z, ai 26 ^ 255, ceea ce e mult prea mult.