#include <iostream>
using namespace std;
int main()
{
int tablica[256];
for (int a=0; a<=255; a++)
{
tablica[a]=0;
}
char pla='ą', plA='Ą', plc='ć', plC='Ć', ple='ę';
char plE='Ę', pll='ł', plL='Ł', pln='ń', plN='Ń';
char plo='ó', plO='Ó', pls='ś', plS='Ś', plz='ż';
char plZ='Ż', plx='ź', plX='Ź', temp;
string wyrazenie;
while(getline(cin,wyrazenie))
{
for (int j=0; j<=wyrazenie.length(); j++)
{
temp=wyrazenie[j];
if (j==wyrazenie.length()&&wyrazenie[j]==0) tablica[10]++;
else if (temp==pla)
{
tablica[196]++;
tablica[133]++;
}
else if (temp==ple)
{
tablica[196]++;
tablica[153]++;
}
else if (temp==plA)
{
tablica[196]++;
tablica[132]++;
}
else if (temp==plc)
{
tablica[196]++;
tablica[135]++;
}
else if (temp==plC)
{
tablica[196]++;
tablica[134]++;
}
else if (temp==plE)
{
tablica[196]++;
tablica[152]++;
}
else if (temp==pll)
{
tablica[197]++;
tablica[130]++;
}
else if (temp==plL)
{
tablica[197]++;
tablica[129]++;
}
else if (temp==pln)
{
tablica[197]++;
tablica[132]++;
}
else if (temp==plN)
{
tablica[197]++;
tablica[131]++;
}
else if (temp==plo)
{
tablica[195]++;
tablica[179]++;
}
else if (temp==plO)
{
tablica[195]++;
tablica[147]++;
}
else if (temp==pls)
{
tablica[197]++;
tablica[155]++;
}
else if (temp==plS)
{
tablica[197]++;
tablica[154]++;
}
else if (temp==plz)
{
tablica[197]++;
tablica[188]++;
}
else if (temp==plZ)
{
tablica[197]++;
tablica[187]++;
}
else if (temp==plx)
{
tablica[197]++;
tablica[186]++;
}
else if (temp==plX)
{
tablica[197]++;
tablica[185]++;
}
else
{
for (int k=0; k<=255; k++)
{
if (k==temp) tablica[k]++;
}
}
}
}
for (int l=0; l<=255; l++)
{
if (tablica[l]>0) cout<<l<<" "<<tablica[l]<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKQp7CmludCB0YWJsaWNhWzI1Nl07CmZvciAoaW50IGE9MDsgYTw9MjU1OyBhKyspCnsKdGFibGljYVthXT0wOwp9CgpjaGFyIHBsYT0nxIUnLCBwbEE9J8SEJywgcGxjPSfEhycsIHBsQz0nxIYnLCBwbGU9J8SZJzsKY2hhciBwbEU9J8SYJywgcGxsPSfFgicsIHBsTD0nxYEnLCBwbG49J8WEJywgcGxOPSfFgyc7CmNoYXIgcGxvPSfDsycsIHBsTz0nw5MnLCBwbHM9J8WbJywgcGxTPSfFmicsIHBsej0nxbwnOwpjaGFyIHBsWj0nxbsnLCBwbHg9J8W6JywgcGxYPSfFuScsIHRlbXA7CiAKc3RyaW5nIHd5cmF6ZW5pZTsKd2hpbGUoZ2V0bGluZShjaW4sd3lyYXplbmllKSkKewpmb3IgKGludCBqPTA7IGo8PXd5cmF6ZW5pZS5sZW5ndGgoKTsgaisrKQp7CnRlbXA9d3lyYXplbmllW2pdOwppZiAoaj09d3lyYXplbmllLmxlbmd0aCgpJiZ3eXJhemVuaWVbal09PTApIHRhYmxpY2FbMTBdKys7CmVsc2UgaWYgKHRlbXA9PXBsYSkKewp0YWJsaWNhWzE5Nl0rKzsKdGFibGljYVsxMzNdKys7Cn0KZWxzZSBpZiAodGVtcD09cGxlKQp7CnRhYmxpY2FbMTk2XSsrOwp0YWJsaWNhWzE1M10rKzsKfQplbHNlIGlmICh0ZW1wPT1wbEEpCnsKdGFibGljYVsxOTZdKys7CnRhYmxpY2FbMTMyXSsrOwp9CmVsc2UgaWYgKHRlbXA9PXBsYykKewp0YWJsaWNhWzE5Nl0rKzsKdGFibGljYVsxMzVdKys7Cn0KZWxzZSBpZiAodGVtcD09cGxDKQp7CnRhYmxpY2FbMTk2XSsrOwp0YWJsaWNhWzEzNF0rKzsKfQplbHNlIGlmICh0ZW1wPT1wbEUpCnsKdGFibGljYVsxOTZdKys7CnRhYmxpY2FbMTUyXSsrOwp9CmVsc2UgaWYgKHRlbXA9PXBsbCkKewp0YWJsaWNhWzE5N10rKzsKdGFibGljYVsxMzBdKys7Cn0KZWxzZSBpZiAodGVtcD09cGxMKQp7CnRhYmxpY2FbMTk3XSsrOwp0YWJsaWNhWzEyOV0rKzsKfQplbHNlIGlmICh0ZW1wPT1wbG4pCnsKdGFibGljYVsxOTddKys7CnRhYmxpY2FbMTMyXSsrOwp9CmVsc2UgaWYgKHRlbXA9PXBsTikKewp0YWJsaWNhWzE5N10rKzsKdGFibGljYVsxMzFdKys7Cn0KZWxzZSBpZiAodGVtcD09cGxvKQp7CnRhYmxpY2FbMTk1XSsrOwp0YWJsaWNhWzE3OV0rKzsKfQplbHNlIGlmICh0ZW1wPT1wbE8pCnsKdGFibGljYVsxOTVdKys7CnRhYmxpY2FbMTQ3XSsrOwp9CmVsc2UgaWYgKHRlbXA9PXBscykKewp0YWJsaWNhWzE5N10rKzsKdGFibGljYVsxNTVdKys7Cn0KZWxzZSBpZiAodGVtcD09cGxTKQp7CnRhYmxpY2FbMTk3XSsrOwp0YWJsaWNhWzE1NF0rKzsKfQplbHNlIGlmICh0ZW1wPT1wbHopCnsKdGFibGljYVsxOTddKys7CnRhYmxpY2FbMTg4XSsrOwp9CmVsc2UgaWYgKHRlbXA9PXBsWikKewp0YWJsaWNhWzE5N10rKzsKdGFibGljYVsxODddKys7Cn0KZWxzZSBpZiAodGVtcD09cGx4KQp7CnRhYmxpY2FbMTk3XSsrOwp0YWJsaWNhWzE4Nl0rKzsKfQplbHNlIGlmICh0ZW1wPT1wbFgpCnsKdGFibGljYVsxOTddKys7CnRhYmxpY2FbMTg1XSsrOwp9CgplbHNlIAp7CmZvciAoaW50IGs9MDsgazw9MjU1OyBrKyspCnsKaWYgKGs9PXRlbXApIHRhYmxpY2Fba10rKzsKfQp9Cn0KfQogCmZvciAoaW50IGw9MDsgbDw9MjU1OyBsKyspCnsKaWYgKHRhYmxpY2FbbF0+MCkgY291dDw8bDw8IiAiPDx0YWJsaWNhW2xdPDxlbmRsOwp9CiAKcmV0dXJuIDA7Cn0=
NzUzMzc3IDIwMDctMDMtMzEgMTg6MDM6MTAgUHJ6ZWNpxJljaWUgdyBaYmlvcnplIE9kY2luayZvYWN1dGU7dwlpbnRlcm5hbCBlcnJvciAwLjAwIDBrIEMrKwo3NTMwNTkgMjAwNy0wMy0zMSAxNTo1MTowNyBQcnplY2nEmWNpZSB3IFpiaW9yemUgT2RjaW5rJm9hY3V0ZTt3CXdyb25nIGFuc3dlciAwLjI1IDUuNk0gQysr
753377 2007-03-31 18:03:10 Przecięcie w Zbiorze Odcinków internal error 0.00 0k C++
753059 2007-03-31 15:51:07 Przecięcie w Zbiorze Odcinków wrong answer 0.25 5.6M C++