#include <bits/stdc++.h>
using namespace std;
inline int toInt(string s) {
  int v;
  istringstream sin(s);
  sin >> v;
  return v;
}
template <class T>
inline string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
template <class T>
inline T sqr(T x) {
  return x * x;
}
const double EPS = 1e-10;
const double PI = acos(-1.0);
const int dx[] = {-1, 1, 0, 0};
const int dy[] = {0, 0, 1, -1};
int n;
int a[100010];
bool sign[100010];
int main() {
  cin >> n;
  for (int i = (0); i < (n); ++i) cin >> a[i];
  int cur = a[n - 1];
  for (int i = n - 2; i >= 0; --i) {
    int now = a[i];
    if (now >= cur) {
      cur = now - cur;
      sign[i + 1] ^= 1;
    } else {
      cur -= now;
      sign[i] ^= 1;
      sign[i + 1] ^= 1;
    }
  }
  bool f = true;
  for (int i = (0); i < (n); ++i) {
    f ^= sign[i];
    if (f)
      printf("+");
    else
      printf("-");
  }
  printf("\n");
  return 0;
}
