#include <bits/stdc++.h>
int op[111];
int main() {
  int sums = 1;
  int subs = 0;
  int psub = -1;
  int psum = -1;
  int count = 0;
  char c;
  do {
    c = getchar();
    if (c == '?') count++;
    if (c == '-') {
      subs++;
      op[count - 1] = 1;
    }
    if (c == '+') {
      sums++;
      op[count - 1] = 2;
    }
  } while (c != '=');
  getchar();
  int n;
  scanf("%d", &n);
  if (n * sums - subs < n || sums - n * subs > n)
    printf("Impossible\n");
  else {
    printf("Possible\n");
    int vsum = sums;
    int vsub = subs;
    while (vsum - vsub != n) {
      if (vsum - vsub < n)
        vsum++;
      else
        vsub++;
    }
    int tempSums = sums;
    int tempSubs = subs;
    char c;
    int v;
    if (vsum - (tempSums - 1) >= n) {
      v = n;
      tempSums--;
      vsum -= v;
    } else {
      v = (vsum - (tempSums - 1));
      tempSums--;
      vsum -= v;
    }
    printf("%d ", v);
    for (int i = 0; i < count - 1; i++) {
      if (op[i] == 1) {
        c = '-';
        if (vsub - (tempSubs - 1) >= n) {
          v = n;
          tempSubs--;
          vsub -= v;
        } else {
          v = (vsub - (tempSubs - 1));
          tempSubs--;
          vsub -= v;
        }
      } else {
        c = '+';
        if (vsum - (tempSums - 1) >= n) {
          v = n;
          tempSums--;
          vsum -= v;
        } else {
          v = (vsum - (tempSums - 1));
          tempSums--;
          vsum -= v;
        }
      }
      printf("%c %d ", c, v);
    }
    printf("= %d\n", n);
  }
  return 0;
}
