#include <bits/stdc++.h>
using namespace std;
class classcomp {
 public:
  bool operator()(const int& l, const int& r) const { return l < r; }
};
int n;
int a[100000 + 10];
int arr[100000 + 10];
int query(int x) {
  int cnt = 0;
  for (; x > 0; x -= (x & (-x))) cnt += arr[x];
  return cnt;
}
void update(int x, int val) {
  for (; x <= n; x += (x & (-x))) arr[x] += val;
}
int main() {
  memset(arr, 0, sizeof(arr));
  scanf("%d", &n);
  int i, j, k, l;
  for (i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  k = a[n];
  for (i = n - 1; i >= 1; i--) {
    if (k > a[i]) {
      update(i, 1);
      update(i + 1, -1);
      k = k - a[i];
    } else {
      update(i + 1, 1);
      k = a[i] - k;
    }
  }
  for (int i = 1; i <= n; i++) {
    int k = query(i);
    int diff = abs(k);
    if (diff % 2 == 0) {
      printf("+");
    } else {
      printf("-");
    }
  }
  printf("\n");
  return 0;
}
