#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, k, l, num = 0, pl = 1, mi = 0;
  string s;
  getline(cin, s);
  for (i = 0; i < s.size(); i++) {
    if (s[i] == '?')
      num++;
    else if (s[i] == '+')
      pl++;
    else if (s[i] == '-')
      mi++;
  }
  for (i = s.size() - 1; i >= 0; i--) {
    if (s[i] == ' ') break;
  }
  i++;
  int n = 0, now;
  for (; i < s.size(); i++) {
    now = (int)(s[i] - '0');
    n = n * 10 + now;
  }
  now = n * pl - mi;
  if (now < n || (pl > n && mi == 0)) {
    cout << "Impossible" << endl;
    return 0;
  }
  vector<int> p, m;
  int flag = 1;
  for (i = 0; i < pl; i++) p.push_back(n);
  for (i = 0; i < mi; i++) m.push_back(1);
  if (now == n) {
    cout << "Possible" << endl;
    j = 0, k = 0;
    for (i = 0; i < s.size(); i++) {
      if (s[i] == '?') {
        if (flag == 1) {
          cout << p[j];
          j++;
        } else {
          cout << m[k];
          k++;
        }
      } else if (s[i] == ' ')
        cout << " ";
      else if (s[i] == '+') {
        cout << "+";
        flag = 1;
      } else if (s[i] == '-') {
        cout << "-";
        flag = 0;
      } else
        cout << s[i];
    }
    return 0;
  }
  int diff = now - n;
  i = 0;
  while (diff) {
    if (m.size() == 0) break;
    if (i == m.size()) {
      i = 0;
      if (m[i] == n) break;
    }
    if (m[i] == n) {
      i++;
    } else if (m[i] != n) {
      m[i]++;
      diff--;
      i++;
    }
  }
  if (diff) {
    i = 0;
    while (diff) {
      if (i == p.size()) {
        i = 0;
        if (p[i] == 1) break;
      }
      if (p[i] == 1) {
        i++;
      } else if (p[i] != 1) {
        p[i]--;
        diff--;
        i++;
      }
    }
  }
  if (diff) {
    cout << "Impossible" << endl;
    return 0;
  }
  j = 0, k = 0;
  cout << "Possible" << endl;
  for (i = 0; i < s.size(); i++) {
    if (s[i] == '?') {
      if (flag == 1) {
        cout << p[j];
        j++;
      } else {
        cout << m[k];
        k++;
      }
    } else if (s[i] == ' ')
      cout << " ";
    else if (s[i] == '+') {
      cout << "+";
      flag = 1;
    } else if (s[i] == '-') {
      cout << "-";
      flag = 0;
    } else
      cout << s[i];
  }
  return 0;
}
