#include <bits/stdc++.h>
using namespace std;
char s[1005];
int ans[105];
bool sgn[105];
int main() {
  gets(s);
  int len = strlen(s);
  sgn[0] = 1;
  int tot = 1;
  int pos = 1;
  int neg = 0;
  for (int i = 0; i < len; ++i) {
    if (s[i] != '+' && s[i] != '-') continue;
    if (s[i] == '+') {
      sgn[tot++] = 1;
      pos++;
    } else {
      sgn[tot++] = 0;
      neg++;
    }
  }
  int n = 0;
  for (int i = len - 1; i >= 0; --i) {
    if (s[i] >= '0' && s[i] <= '9')
      continue;
    else {
      for (int j = i + 1; j < len; ++j) {
        n *= 10;
        n += s[j] - '0';
      }
      break;
    }
  }
  for (int i = 0; i < tot; ++i) {
    ans[i] = 1;
  }
  int shift = n - (pos - neg);
  if (shift > 0) {
    for (int i = 0; i < tot; ++i) {
      if (sgn[i]) {
        int c = min(shift, n - ans[i]);
        ans[i] += c;
        shift -= c;
      }
      if (shift <= 0) break;
    }
  }
  if (shift < 0) {
    for (int i = 0; i < tot; ++i) {
      if (!sgn[i]) {
        int c = min(-shift, n - ans[i]);
        ans[i] += c;
        shift += c;
      }
      if (shift >= 0) break;
    }
  }
  if (shift == 0) {
    puts("Possible");
    printf("%d", ans[0]);
    for (int i = 1; i < tot; ++i) {
      if (sgn[i])
        printf(" +");
      else
        printf(" -");
      printf(" %d", ans[i]);
    }
    printf(" = %d\n", n);
    return 0;
  } else {
    puts("Impossible");
    return 0;
  }
}
