#include <bits/stdc++.h>
using namespace std;
int main() {
  string s, c = "";
  long long p = 1, m = 0;
  vector<long long> ch;
  getline(cin, s);
  for (long long i = 0; i < s.size(); i++) {
    if (s[i] == '?') {
      if (i == 0) ch.push_back(1);
    } else if (s[i] == '+') {
      p++;
      ch.push_back(1);
    } else if (s[i] == '-') {
      m++;
      ch.push_back(-1);
    } else if (isdigit(s[i])) {
      while (i < s.size()) {
        c += s[i];
        i++;
      }
    }
  }
  long long a = stoi(c), minv = p - a * m, maxv = p * a - m;
  if (minv <= a && a <= maxv) {
    cout << "Possible" << endl;
    for (long long i = 0; i < ch.size(); i++) {
      if (ch[i] == -1) ch[i] = -a;
    }
    long long raz = a - minv;
    long long i = 0;
    while (raz) {
      long long k = raz / a;
      if (ch[i] > 0) {
        if (k > 0) {
          ch[i] = a;
          raz -= (a - 1);
        } else {
          ch[i] += raz;
          raz = 0;
        }
      } else {
        if (k > 0) {
          ch[i] = -1;
          raz -= (a - 1);
        } else {
          ch[i] += raz;
          raz = 0;
        }
      }
      i++;
    }
    for (long long i = 0; i < ch.size(); i++) {
      if (ch[i] < 0)
        cout << "- " << -ch[i] << " ";
      else if (i == 0)
        cout << ch[i] << " ";
      else
        cout << "+ " << ch[i] << " ";
    }
    cout << "= " << a;
  } else
    cout << "Impossible";
}
