#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e2 + 10;
int o[maxn];
int ans[maxn];
int v0, v1;
int n;
int k;
int main() {
  char ch;
  while (~scanf(" %c", &ch)) {
    v0 = 1, v1 = 0;
    k = 0;
    o[k++] = 0;
    while (1) {
      getchar();
      ch = getchar();
      getchar();
      if (ch == '=') break;
      getchar();
      if (ch == '+')
        ++v0, o[k++] = 0;
      else
        ++v1, o[k++] = 1;
    }
    scanf("%d", &n);
    long long maxi = (long long)n * v0 - v1;
    long long mini = v0 - (long long)n * v1;
    if (n > maxi || n < mini)
      puts("Impossible");
    else {
      puts("Possible");
      int q = max(v0 - n, v1);
      int p = q + n;
      int base0 = p / v0;
      int res0 = p % v0;
      int base1, res1;
      if (q == 0)
        base1 = res1 = 0;
      else
        base1 = q / v1, res1 = q % v1;
      for (int i = 0; i < k; i++) {
        if (o[i]) {
          ans[i] = base1;
          if (res1) ans[i]++, --res1;
        } else {
          ans[i] = base0;
          if (res0) ans[i]++, --res0;
        }
      }
      printf("%d", ans[0]);
      for (int i = 1; i < k; i++) printf(" %c %d", o[i] ? '-' : '+', ans[i]);
      printf(" = %d\n", n);
    }
  }
  return 0;
}
