#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
template <class T>
int getbit(T x, int pos) {
  return (x >> (pos - 1)) & 1;
}
template <class T>
void turn_on(T &x, int pos) {
  x = x | ((T)1 << (pos - 1));
}
template <class T>
void turn_off(T &x, int pos) {
  x = x & ~((T)1 << (pos - 1));
}
template <class T>
T sqr(T a) {
  return a * a;
}
int n, a[200002], cnt[200002], x[200002];
void process(int n) {
  if (n == 1) return;
  if (a[n] >= a[n - 1]) {
    cnt[n - 1] = 1;
    a[n - 1] = a[n] - a[n - 1];
  } else {
    x[n] = 1;
    a[n - 1] -= a[n];
  }
  process(n - 1);
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
  process(n);
  int tmp = 0;
  for (int i = 1; i <= n; ++i) {
    tmp += x[i];
    cnt[i] += tmp;
  }
  for (int i = 1; i <= n; ++i) {
    if (cnt[i] % 2 == 0)
      printf("+");
    else
      printf("-");
  }
}
