#include <bits/stdc++.h>
using namespace std;
int a[1000];
int n;
int main() {
  int cnt = 0;
  while (true) {
    char q, c;
    c = '+';
    if (cnt > 0) cin >> c;
    if (c == '=') break;
    cin >> q;
    if (c == '+')
      a[cnt++] = 1;
    else
      a[cnt++] = -1;
  }
  cin >> n;
  int plus = 0, minus = 0;
  for (int i = 0; i < cnt; i++) {
    if (a[i] == 1)
      plus++;
    else
      minus++;
  }
  int minim = plus - minus * n;
  int maxim = plus * n - minus;
  if (n < minim || n > maxim)
    cout << "Impossible\n";
  else {
    cout << "Possible\n";
    vector<int> val;
    val.resize(cnt);
    int s = 0;
    for (int i = 0; i < cnt; i++) {
      if (a[i] == 1) {
        val[i] = n;
        s += n;
      } else {
        val[i] = 1;
        s--;
      }
    }
    for (int i = 0; i < cnt; i++) {
      if (s > n) {
        if (a[i] == 1) {
          if (s - (n - 1) >= n) {
            val[i] = 1;
            s -= (n - 1);
          } else {
            val[i] -= s - n;
            s = n;
          }
        } else {
          if (s - (n - 1) >= n) {
            val[i] = n;
            s -= (n - 1);
          } else {
            val[i] += s - n;
            s = n;
          }
        }
      }
    }
    cout << val[0] << " ";
    for (int i = 1; i < cnt; i++) {
      if (a[i] == 1)
        cout << "+ ";
      else
        cout << "- ";
      cout << val[i] << " ";
    }
    cout << "= " << n << endl;
  }
  return 0;
}
