#include<iostream>
#include<stack>
#include<string>
using namespace std;

int main() {
    int n,m=0;
    stack<int> s;
    string ans;
    cin >> n;

    while(n--) {

        int x;
        cin >> x;

        if(x > m) {
            while(x > m){
                s.push(++m);
                ans+="+";
            }
            s.pop();
            ans+="-";
        }
        // x > m이 아닌경우 스택에서 계속 pop시킨다. 
        else {
            bool found = false;
            if(!s.empty()){
                int top = s.top();
                s.pop();
                ans += "-";
                if(x==top) found = true;
            }
            if(!found){
                    cout << "NO" << '\n';
                    return 0;
            }

        }
    }
    for(int i = 0; i < ans.length(); i++) {
        cout << ans[i] << "\n";
    }
    return 0;
}