#include <bits/stdc++.h>

using namespace std;

struct pos
{
	int fr, id;
	
	pos()
	{
		fr = 0;
		id = 0;
	}
	
	bool operator<(pos b)
	{
		return fr < b.fr;
	}
};

int n;
pos v[205];
long long sum[205];

long long dp[205][205];
long long last[205][205];

string ans[205];


void recon(int st, int dr, string &s)
{
	if(st == dr)
	{
		ans[v[st].id] = s;
		return;
	}
	
	int mij = last[st][dr];
	
	string sl = s + "-";
	string sr = s + ".";
	
	recon(st, mij, sl);
	recon(mij+1, dr, sr);
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	
	cin>>n;
	
	for(int i=1;i<=n;i++)
	{
		long double x;
		cin>>x;
		
		v[i].fr = x * 1000;
		v[i].id = i;
	}
	
	sort(v+1, v+n+1);
	
	for(int i=1;i<=n;i++)
		sum[i] = sum[i-1] + v[i].fr;
		
	
	for(int i=n; i>=1; i--)
		for(int j=i; j<=n; j++)
		{
			if(i == j)
				dp[i][j] = 0;
				
			else
			{
				dp[i][j] = 1e18;
				
				for(int k=i; k<j; k++)
				{
					int nans =  2*(sum[k] - sum[i-1]) + dp[i][k] +
								1*(sum[j] - sum[k]) + dp[k+1][j];
								
					if(nans < dp[i][j])
					{
						dp[i][j] = nans;
						last[i][j] = k;
					} 
				}
			}
		}
		
	string aux;
	recon(1, n, aux);
	
	for(int i=1;i<=n;i++)
		cout<<ans[i]<<'\n';
	return 0;
}