#include <iostream>
#include <vector>
#include <math.h>
int CalculateChars(std::string tag)
{
int Count=0;
for(unsigned int i=0; i<tag.length(); ++i)
if(tag[i]!=' ')Count++;
return Count;
}
void FillTab(int tab[],const int Size)
{
for(int i=0; i<Size; ++i)tab[i]=0;
}
bool isNotWas(std::vector<char>a,char b)
{
for(unsigned int i=0; i<a.size(); ++i)
if(a[i]==b)return false;
return true;
}
void CalculateFrequencyChars(std::string tag,int tab[])
{
std::vector<char>itWas;
int Count=0;
for(unsigned int j=0; j<tag.length(); ++j)
{
if(isNotWas(itWas,tag[j]))
{
for(unsigned int i=0; i<tag.length(); ++i)
{
if(tag[j]==tag[i])Count++;
}
}
else itWas.push_back(tag[j]);
tab[(int)tag[j]%65]=Count;
Count=0;
}
}
std::string writeStars(int sumOfChar,int all)
{
std::string stars="";
int percent=round(sumOfChar*100/all);
for(int i=0; i<percent; ++i)stars+='*';
return stars;
}
void WriteChars(int tab[],int allChars)
{
for(int i=0,j=65; j<=90; ++i,++j)
std::cout<<(char)j<<writeStars(tab[i],allChars)<<std::endl;
}
int main()
{
const int amountChars=26;
std::string tag;
std::getline(std::cin,tag);
int sumOfChars=CalculateChars(tag);
int tab[amountChars];
FillTab(tab,amountChars);
CalculateFrequencyChars(tag,tab);
WriteChars(tab,sumOfChars);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bWF0aC5oPgppbnQgQ2FsY3VsYXRlQ2hhcnMoc3RkOjpzdHJpbmcgdGFnKQp7CiAgICBpbnQgQ291bnQ9MDsKICAgIGZvcih1bnNpZ25lZCBpbnQgaT0wOyBpPHRhZy5sZW5ndGgoKTsgKytpKQogICAgICAgIGlmKHRhZ1tpXSE9JyAnKUNvdW50Kys7CiAgICByZXR1cm4gQ291bnQ7Cn0Kdm9pZCBGaWxsVGFiKGludCB0YWJbXSxjb25zdCBpbnQgU2l6ZSkKewogICAgZm9yKGludCBpPTA7IGk8U2l6ZTsgKytpKXRhYltpXT0wOwp9CmJvb2wgaXNOb3RXYXMoc3RkOjp2ZWN0b3I8Y2hhcj5hLGNoYXIgYikKewogICAgZm9yKHVuc2lnbmVkIGludCBpPTA7IGk8YS5zaXplKCk7ICsraSkKICAgICAgICBpZihhW2ldPT1iKXJldHVybiBmYWxzZTsKICAgIHJldHVybiB0cnVlOwp9CnZvaWQgQ2FsY3VsYXRlRnJlcXVlbmN5Q2hhcnMoc3RkOjpzdHJpbmcgdGFnLGludCB0YWJbXSkKewogICAgc3RkOjp2ZWN0b3I8Y2hhcj5pdFdhczsKICAgIGludCBDb3VudD0wOwogICAgZm9yKHVuc2lnbmVkIGludCBqPTA7IGo8dGFnLmxlbmd0aCgpOyArK2opCiAgICB7CiAgICAgICAgaWYoaXNOb3RXYXMoaXRXYXMsdGFnW2pdKSkKICAgICAgICB7CiAgICAgICAgICAgIGZvcih1bnNpZ25lZCBpbnQgaT0wOyBpPHRhZy5sZW5ndGgoKTsgKytpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZih0YWdbal09PXRhZ1tpXSlDb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaXRXYXMucHVzaF9iYWNrKHRhZ1tqXSk7CiAgICAgICAgdGFiWyhpbnQpdGFnW2pdJTY1XT1Db3VudDsKICAgICAgICBDb3VudD0wOwogICAgfQp9CnN0ZDo6c3RyaW5nIHdyaXRlU3RhcnMoaW50IHN1bU9mQ2hhcixpbnQgYWxsKQp7CiAgICBzdGQ6OnN0cmluZyBzdGFycz0iIjsKICAgIGludCBwZXJjZW50PXJvdW5kKHN1bU9mQ2hhcioxMDAvYWxsKTsKICAgIGZvcihpbnQgaT0wOyBpPHBlcmNlbnQ7ICsraSlzdGFycys9JyonOwogICAgcmV0dXJuIHN0YXJzOwoKfQp2b2lkIFdyaXRlQ2hhcnMoaW50IHRhYltdLGludCBhbGxDaGFycykKewogICAgZm9yKGludCBpPTAsaj02NTsgajw9OTA7ICsraSwrK2opCiAgICAgICAgc3RkOjpjb3V0PDwoY2hhcilqPDx3cml0ZVN0YXJzKHRhYltpXSxhbGxDaGFycyk8PHN0ZDo6ZW5kbDsKfQppbnQgbWFpbigpCnsKICAgIGNvbnN0IGludCBhbW91bnRDaGFycz0yNjsKICAgIHN0ZDo6c3RyaW5nIHRhZzsKICAgIHN0ZDo6Z2V0bGluZShzdGQ6OmNpbix0YWcpOwogICAgaW50IHN1bU9mQ2hhcnM9Q2FsY3VsYXRlQ2hhcnModGFnKTsKICAgIGludCB0YWJbYW1vdW50Q2hhcnNdOwogICAgRmlsbFRhYih0YWIsYW1vdW50Q2hhcnMpOwogICAgQ2FsY3VsYXRlRnJlcXVlbmN5Q2hhcnModGFnLHRhYik7CiAgICBXcml0ZUNoYXJzKHRhYixzdW1PZkNoYXJzKTsKICAgIHJldHVybiAwOwp9Cg==
QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJCQkJCQg==
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBB