#include <bits/stdc++.h>
using namespace std;
bool ya = false;
char F[100005];
int A[100005], ctos;
long long R[100005][5], a, b, men, may, lleva = 0;
void busca(int dnde) {
  if (dnde == 0) {
    if (lleva >= 0 and lleva <= A[1]) {
      for (int i = 1; i <= ctos; i++) {
        printf("%c", F[i]);
      }
      printf("\n");
      ya = true;
    }
  } else {
    lleva += A[dnde];
    if (lleva >= R[dnde][0] and lleva <= R[dnde][1] and
        (lleva < R[dnde][2] or lleva > R[dnde][3])) {
      F[dnde] = '+';
      busca(dnde - 1);
    }
    lleva -= A[dnde] * 2;
    if (!ya and lleva >= R[dnde][0] and lleva <= R[dnde][1] and
        (lleva < R[dnde][2] or lleva > R[dnde][3])) {
      F[dnde] = '-';
      busca(dnde - 1);
    }
    lleva += A[dnde];
  }
}
int main() {
  scanf("%d", &ctos);
  for (int i = 1; i <= ctos; i++) {
    scanf("%d", &A[i]);
  }
  a = 0 - A[1];
  b = A[1] * 2;
  men = 1;
  may = A[1] - 1;
  R[1][0] = 0;
  R[1][1] = A[1];
  R[1][2] = A[1] + 1;
  R[1][3] = A[1] + 2;
  for (int i = 2; i <= ctos; i++) {
    R[i][0] = a;
    R[i][1] = b;
    R[i][2] = men;
    R[i][3] = may;
    a -= A[i];
    b += A[i];
    men += A[i];
    may += A[i];
  }
  busca(ctos);
  return 0;
}
