#include <bits/stdc++.h>
using namespace std;
int main() {
  int pos = 1, neg = 0, *anspos, *ansneg, n;
  char c;
  string seq;
  scanf("%c", &c);
  while (c != '=') {
    if (c == '+') {
      seq += c;
      pos++;
    } else if (c == '-') {
      seq += c;
      neg++;
    }
    scanf("%c", &c);
  }
  scanf("%d", &n);
  if (pos - n * neg > n) {
    printf("Impossible\n");
    return 0;
  }
  if (n * pos - neg < n) {
    printf("Impossible\n");
    return 0;
  }
  anspos = new int[pos];
  ansneg = new int[neg];
  fill(ansneg, ansneg + neg, 1);
  fill(anspos, anspos + pos, (n + neg) / pos);
  for (int i = 0; i < (n + neg) % pos; i++) anspos[i]++;
  int negp = 0;
  for (int i = 0; i < pos; i++) {
    if (anspos[i] == 0) {
      anspos[i] = 1;
      ansneg[negp]++;
      if (ansneg[negp] == n) negp++;
    }
  }
  printf("Possible\n%d", anspos[0]);
  int posp = 1;
  negp = 0;
  for (int i = 0; i < seq.size(); i++) {
    if (seq[i] == '+') {
      printf(" + %d", anspos[posp]);
      posp++;
    } else {
      printf(" - %d", ansneg[negp]);
      negp++;
    }
  }
  printf(" = %d\n", n);
  return 0;
}
