#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; }