#include <iostream>
#include <math.h>
const int SZEROKOSC = 30;
void toAssign(int amount,int[]);
int searchMax(int[]);
void toWrite(int,int[]);
int main()
{
int amount,tab[21];
for(int i=0;i<21;++i)tab[i]=0;
while(std::cin>>amount)
{
if(amount<=0)toAssign(amount,tab);
else tab[amount+10]++;
}
int maximum=searchMax(tab);
if(maximum>0)toWrite(maximum,tab);
return 0;
}
void toAssign(int amount,int tab[])
{
switch(amount)
{
case 0: tab[10]++; break;
case -1: tab[9]++; break;
case -2: tab[8]++; break;
case -3: tab[7]++; break;
case -4: tab[6]++; break;
case -5: tab[5]++; break;
case -6: tab[4]++; break;
case -7: tab[3]++; break;
case -8: tab[2]++; break;
case -9: tab[1]++; break;
case -10: tab[0]++; break;
}
}
int searchMax(int tab[])
{
int maxi=tab[0];
for(int i=1;i<21;++i)if(tab[i]>maxi)maxi=tab[i];
return maxi;
}
void toWrite(int maximum,int tab[])
{
for(int j=-10,i=0;i<21;++i,++j)
{
std::cout.width(4);
std::cout<<j<<std::right<<":|";
for(int k=0;k<SZEROKOSC;++k)
{
if(k<round(SZEROKOSC*tab[i]/maximum))std::cout<<'*';
else std::cout<<' ';
}
std::cout<<'|'<<std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgpjb25zdCBpbnQgU1pFUk9LT1NDID0gMzA7CnZvaWQgdG9Bc3NpZ24oaW50IGFtb3VudCxpbnRbXSk7CmludCBzZWFyY2hNYXgoaW50W10pOwp2b2lkIHRvV3JpdGUoaW50LGludFtdKTsKaW50IG1haW4oKQp7CiAgICBpbnQgYW1vdW50LHRhYlsyMV07CiAgICBmb3IoaW50IGk9MDtpPDIxOysraSl0YWJbaV09MDsKICAgIHdoaWxlKHN0ZDo6Y2luPj5hbW91bnQpCiAgICB7CiAgICAgICBpZihhbW91bnQ8PTApdG9Bc3NpZ24oYW1vdW50LHRhYik7CiAgICAgICBlbHNlIHRhYlthbW91bnQrMTBdKys7CiAgICB9CiAgICBpbnQgbWF4aW11bT1zZWFyY2hNYXgodGFiKTsKICAgIGlmKG1heGltdW0+MCl0b1dyaXRlKG1heGltdW0sdGFiKTsKICAgIHJldHVybiAwOwp9CnZvaWQgdG9Bc3NpZ24oaW50IGFtb3VudCxpbnQgdGFiW10pCnsKICAgIHN3aXRjaChhbW91bnQpCiAgICB7CiAgICAgICAgY2FzZSAwOiB0YWJbMTBdKys7IGJyZWFrOwogICAgICAgIGNhc2UgLTE6IHRhYls5XSsrOyBicmVhazsKICAgICAgICBjYXNlIC0yOiB0YWJbOF0rKzsgYnJlYWs7CiAgICAgICAgY2FzZSAtMzogdGFiWzddKys7IGJyZWFrOwogICAgICAgIGNhc2UgLTQ6IHRhYls2XSsrOyBicmVhazsKICAgICAgICBjYXNlIC01OiB0YWJbNV0rKzsgYnJlYWs7CiAgICAgICAgY2FzZSAtNjogdGFiWzRdKys7IGJyZWFrOwogICAgICAgIGNhc2UgLTc6IHRhYlszXSsrOyBicmVhazsKICAgICAgICBjYXNlIC04OiB0YWJbMl0rKzsgYnJlYWs7CiAgICAgICAgY2FzZSAtOTogdGFiWzFdKys7IGJyZWFrOwogICAgICAgIGNhc2UgLTEwOiB0YWJbMF0rKzsgYnJlYWs7CiAgICB9Cn0KCmludCBzZWFyY2hNYXgoaW50IHRhYltdKQp7CiAgICBpbnQgbWF4aT10YWJbMF07CiAgICBmb3IoaW50IGk9MTtpPDIxOysraSlpZih0YWJbaV0+bWF4aSltYXhpPXRhYltpXTsKICAgIHJldHVybiBtYXhpOwp9Cgp2b2lkIHRvV3JpdGUoaW50IG1heGltdW0saW50IHRhYltdKQp7CiAgICBmb3IoaW50IGo9LTEwLGk9MDtpPDIxOysraSwrK2opCiAgICB7CiAgICAgICAgc3RkOjpjb3V0LndpZHRoKDQpOwogICAgICAgIHN0ZDo6Y291dDw8ajw8c3RkOjpyaWdodDw8Ijp8IjsKICAgICAgICBmb3IoaW50IGs9MDtrPFNaRVJPS09TQzsrK2spCiAgICAgICAgewogICAgICAgICAgICBpZihrPHJvdW5kKFNaRVJPS09TQyp0YWJbaV0vbWF4aW11bSkpc3RkOjpjb3V0PDwnKic7CiAgICAgICAgICAgIGVsc2Ugc3RkOjpjb3V0PDwnICc7CiAgICAgICAgfQogICAgICAgIHN0ZDo6Y291dDw8J3wnPDxzdGQ6OmVuZGw7CiAgICB9Cn0K
NQotMQowCjMKMwotMQowCjEKMAoxCi0xCjAKMgowCi0yCjMKMQotMQowCjQKMAo0CjEKMAowCi0xCjEKMQowCjAKMQotMwozCjMKMAowCi0xCjIKMAoyCjEKMAotMQoxCjAKLTEKMgotMgoyCjIKMgoyCi0xCi0yCjIKLTIKLTEKMgotMwowCjIKLTIKMAowCjEKLTEKMQoyCjAKMwoxCjAKLTEKLTEKMAotMgotMQoyCjEKMAotMQoyCi0xCi0xCi0xCjMKMgowCjAKMQotMQoxCi0xCjQKMQowCi0yCjIKMgoy
5
-1
0
3
3
-1
0
1
0
1
-1
0
2
0
-2
3
1
-1
0
4
0
4
1
0
0
-1
1
1
0
0
1
-3
3
3
0
0
-1
2
0
2
1
0
-1
1
0
-1
2
-2
2
2
2
2
-1
-2
2
-2
-1
2
-3
0
2
-2
0
0
1
-1
1
2
0
3
1
0
-1
-1
0
-2
-1
2
1
0
-1
2
-1
-1
-1
3
2
0
0
1
-1
1
-1
4
1
0
-2
2
2
2