#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, k, l, ans = 0, sign = 1, count = 0;
  string s;
  getline(cin, s);
  l = s.size();
  vector<int> v;
  for (i = 0; i < l; i++) {
    if (s[i] == '?') {
      v.push_back(sign);
      sign == 1 ? count++ : count--;
    } else if (s[i] == '+')
      sign = 1;
    else if (s[i] == '-')
      sign = -1;
    else if (s[i] != ' ' && s[i] != '=') {
      ans = 10 * ans + s[i] - '0';
    }
  }
  int remain = ans - count;
  vector<int> v1(v.size(), 1);
  for (i = 0; i < v.size(); i++) {
    if (v[i] == 1 && remain > 0) {
      int old = v1[i];
      v1[i] = min(ans, v1[i] + remain);
      remain -= (v1[i] - old);
    } else if (v[i] == -1 && remain < 0) {
      int old = v1[i];
      v1[i] = min(ans, v1[i] - remain);
      remain += (v1[i] - old);
    }
  }
  if (remain != 0) {
    printf("Impossible\n");
    return 0;
  }
  printf("Possible\n");
  for (i = 0; i < v.size(); i++) {
    if (i == 0) {
      printf("%d ", v1[i]);
    } else {
      printf("%c %d ", v[i] == 1 ? '+' : '-', v1[i]);
    }
  }
  printf("= %d\n", ans);
  return 0;
}
