Avem la dispoziție un text format din litere mici ale alfabetului englez și spații. În text cuvintele sunt separate prin unul sau mai multe spații. Fiecare literă din alfabet are asociat un număr ce reprezintă ordinea literei în alfabet. Astfel, a
are asociat numărul , b
numărul , c
numărul și așa mai departe. Folosind această asociere definim gradul unui cuvânt ca fiind suma numerelor asociate fiecărei litere. Spre exemplu cuvântul bac
are gradul .
Folosind cuvintele unui text putem forma grupe de cuvinte. Două cuvinte fac parte din aceeași grupă, dacă au același grad.
Cerință
Să se scrie un program care, pentru un text dat determină numărul de cuvinte și numărul de grupe.
Date de intrare
Fișierul de intrare grad.in
are pe prima linie un număr natural reprezentând numărul de caractere din text, iar pe linia a doua textul.
Date de ieșire
Fișierul de ieșire grad.out
va conține pe prima linie numărul de cuvinte, iar pe linia a doua numărul de grupe.
Restricții și precizări
- Textul conține cel puțin un cuvânt.
- Primul și ultimul caracter din text este literă.
- Pentru determinarea corectă a numărului de cuvinte se obţine din punctaj. Pentru determinarea corectă a ambelor valori se obtine din punctaj.
Exemplu
grad.in
17
bac daca aaac bbb
grad.out
4
2
Explicație
Textul conține cuvinte și două grupe.
Prima grupă este formată din cuvintele bac
, aaac
și bbb
, care au fiecare gradul .
A doua grupă conține doar cuvântul daca
, cu gradul .