There is an ice cream shop named Ten Ice Cream. At this store, we always have 10 types of ice cream on the shelves. The store manager creates a daily graph showing how well ice cream is selling for reference in product development.

For such a store manager, you decided to create a program that displays the number of each ice cream sold in a graph.

Enter the total number of ice creams sold in a day and the number of ice creams sold, and create a program that outputs as many * (half-width asterisks) as the number sold for each type of ice cream. However, the type of ice cream is represented by an integer from 0 to 9. Also, for ice cream with zero sales, one- (half-width hyphen) is output.



Input

A sequence of multiple datasets is given as input. The end of the input is indicated by a single line of zeros. Each dataset is given in the following format:


n
c1
c2
::
cn


The first line gives the total number of ice creams sold per day n (1 ≤ n ≤ 10000). The next n lines are given the i-th ice cream type ci (0 ≤ ci ≤ 9).

The number of datasets does not exceed 20.

Output

For each input dataset, the number of sales is output in numerical order of each ice cream type.

Example

Input

15
2
6
7
0
1
9
8
7
3
8
9
4
8
2
2
3
9
1
5
0


Output

*
*
***
*
*
-
*
**
***
**
-
*
-
-
-
*
-
-
-
*
#include <iostream>

using namespace std;

void solve()
{
	int n;
	while(cin >> n, n)
	{
		int count[10] = {0};
		while(n--)
		{
			int num;
			cin >> num;
			++count[num];
		}
		for(int i = 0; i < 10; ++i)
		{
			if(count[i] == 0)
			{
				cout << "-" << endl;
				continue;
			}
			for(int j = 0; j < count[i]; ++j)
			{
				cout << "*";
			}
			cout << endl;
		}
	}
}

int main()
{
	solve();
	return(0);
}