#include <bits/stdc++.h>
using namespace std;
int sig[101], r, n, pos = 1, neg = 0;
bool equi = false;
void setup() {
  sig[r = 1] = 1;
  char c;
  cin >> c;
  while (true) {
    cin >> c;
    if (c == '=') {
      cin >> n;
      return;
    }
    sig[++r] = (c == '+' ? 1 : -1);
    pos += (c == '+');
    neg += (c == '-');
    cin >> c;
  }
}
void xuly() {
  int maxVal = pos * n - neg;
  int minVal = pos - neg * n;
  if (n > maxVal || n < minVal) {
    cout << "Impossible";
    return;
  }
  cout << "Possible\n";
  int sum = 0;
  for (int i = 1; i <= r; i++) {
    pos -= (sig[i] == 1);
    neg -= (sig[i] == -1);
    for (int j = 1; j <= n; j++) {
      int thisVal = sig[i] * j;
      maxVal = pos * n - neg + thisVal + sum;
      minVal = pos - neg * n + thisVal + sum;
      if (n > maxVal || n < minVal) continue;
      sum += thisVal;
      if (i > 1) cout << (sig[i] == 1 ? "+ " : "- ");
      cout << j << ' ';
      break;
    }
  }
  cout << "= " << n;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  setup();
  xuly();
  return 0;
}
