func_code_string: #include <bits/stdc++.h>   using namespace std;   const int INF = numeric_limits<int>::max();   const long long LLINF = numeric_limits<long long>::max();   const unsigned long long ULLINF = numeric_limits<unsigned long long>::max();   const double PI = acos(-1.0);   vector<int> ans;   void solve(int n, int p, int maxN) {     if (!p) return;     int mx = n - (p - 1);     int cur = min(maxN, mx);     ans.push_back(cur);     solve(n - cur, p - 1, maxN);   }   vector<char> type;   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     char c;     type.push_back(1);     int p = 1, m = 0;     cin >> c;     while (c !=  = ) {       if (c ==  + ) {         p++;         type.push_back( + );       } else if (c ==  - ) {         type.push_back( - );         m++;       }       cin >> c;     }     int n;     cin >> n;     if (!p) {       cout <<  Impossible ;       return 0;     }     if (!m) {       if (p > n) {         cout <<  Impossible ;         return 0;       }       cout <<  Possible n ;       solve(n, p, n);       cout << ans.back() <<    ;       ans.pop_back();       while (ans.size()) {         cout <<  +   << ans.back() <<    ;         ans.pop_back();       }       cout <<  =   << n;       return 0;     }     vector<int> positive, negative;     bool found = 0;     for (int pos = n; pos <= n * p; pos++) {       int neg = pos - n;       if (neg / m > 0 && n * m >= neg) {         if (p > pos) continue;         solve(pos, p, n);         positive = ans;         solve(neg, m, n);         negative = ans;         found = 1;         break;       }     }     if (!found) {       cout <<  Impossible ;       return 0;     }     cout <<  Possible n ;     cout << positive.back() <<    ;     positive.pop_back();     for (int i = 1; i < type.size(); i++) {       if (type[i] ==  + ) {         cout <<  +   << positive.back() <<    ;         positive.pop_back();       } else {         cout <<  -   << negative.back() <<    ;         negative.pop_back();       }     }     cout <<  =   << n;     return 0;   }   