func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MAX = 1e5 + 3;   map<int, vector<int>> sign;   int a[MAX];   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     int n;     cin >> n;     multiset<int> st;     for (int i = 1; i <= n; i++) {       cin >> a[i];       st.insert(a[i]);     }     vector<pair<int, int>> v;     for (int i = 0; i < n - 1; i++) {       int x = *st.rbegin();       st.erase(st.find(x));       int y = *st.rbegin();       st.erase(st.find(y));       st.insert(x - y);       v.push_back({x, y});     }     int S = *st.rbegin();     sign[S].push_back(1);     for (int i = n - 2; i >= 0; i--) {       int x = v[i].first, y = v[i].second;       int p = sign[x - y].back();       sign[x - y].pop_back();       sign[x].push_back(p), sign[y].push_back(p ^ 1);     }     for (int i = 1; i <= n; i++) {       if (sign[a[i]].back())         cout <<  + ;       else         cout <<  - ;       sign[a[i]].pop_back();     }   }   