#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 10;
int vis[maxn];
int main() {
  int c = 0;
  vis[c++] = 1;
  int cnt1 = 1, cnt2 = 0, n;
  char ch;
  while (true) {
    ch = getchar();
    if (ch == '+') {
      cnt1++;
      vis[c++] = 1;
    } else if (ch == '-') {
      cnt2++;
      vis[c++] = 0;
    } else if (ch == '=') {
      scanf("%d", &n);
      break;
    }
  }
  if (cnt1 * n - cnt2 < n || cnt1 - n * cnt2 > n)
    printf("Impossible\n");
  else {
    printf("Possible\n");
    int t = n;
    for (int i = 0; i < c; i++) {
      if (vis[i] == 1) {
        if (i) printf(" + ");
        if (cnt1 - cnt2 < t) {
          int k = min(n, t - (cnt1 - 1 - cnt2));
          printf("%d", k);
          t = t - k;
        } else {
          printf("1");
          t--;
        }
        cnt1--;
      } else {
        if (i) printf(" - ");
        if (cnt1 - cnt2 > t) {
          int k = min(n, (cnt1 + 1 - cnt2) - t);
          printf("%d", k);
          t = t + k;
        } else {
          printf("1");
          t++;
        }
        cnt2--;
      }
    }
    printf(" = %d\n", n);
  }
  return 0;
}
