#include <bits/stdc++.h>
using namespace std;
int a[105];
int main() {
  char ch[1005];
  int cnt = 0;
  int jia = 0, jian = 0;
  gets(ch);
  int len = strlen(ch);
  int num = 0;
  for (int i = 0; i < len; i++) {
    if (ch[i] != '?') {
      if (ch[i] == '+') {
        jia++;
        a[cnt] = 1;
        cnt++;
      }
      if (ch[i] == '-') {
        jian++;
        cnt++;
      }
      if (ch[i] >= '0' && ch[i] <= '9') num = num * 10 + ch[i] - '0';
    }
  }
  if (num * (jia + 1) < num + jian || jia + 1 - num * jian > num) {
    printf("Impossible\n");
    return 0;
  }
  if (jia > jian) {
    int kk = jia + 1 - jian;
    int div = num / kk;
    printf("Possible\n");
    if (div == 0) {
      int tt;
      printf("1 ");
      if ((jia + 1 - num) % jian == 0) {
        tt = (jia + 1 - num) / jian;
        for (int i = 0; i < cnt; i++) {
          if (a[i] == 1) {
            printf("+ 1 ");
          } else
            printf("- %d ", tt);
        }
      } else {
        int flag = 1;
        tt = (jia + 1 - num) / jian;
        int first = (jia + 1 - num) % jian;
        int dt = first;
        for (int i = 0; i < cnt; i++) {
          if (a[i] == 0) {
            if (first + tt > num) {
              if (dt > 0) {
                printf("- %d ", tt + 1);
                dt--;
              } else
                printf("- %d ", tt);
            } else if (flag) {
              printf("- %d ", first + tt);
              flag = 0;
            } else
              printf("- %d ", tt);
          } else
            printf("+ 1 ");
        }
      }
      printf("= %d\n", num);
      return 0;
    }
    int first;
    int add;
    if (num % kk == 0) {
      add = div;
      first = div;
    } else {
      add = div;
      first = div + num % kk;
    }
    printf("%d ", first);
    int cnt2 = 0;
    for (int i = 0; i < cnt; i++) {
      if (a[i] == 1) {
        printf("+ ");
        if (cnt2 < kk - 1) {
          printf("%d ", add);
          cnt2++;
        } else
          printf("1 ");
      } else
        printf("- 1 ");
    }
  }
  if (jia == jian) {
    printf("Possible\n");
    printf("%d ", num);
    for (int i = 0; i < cnt; i++) {
      if (a[i] == 1) {
        printf("+ 1 ");
      } else
        printf("- 1 ");
    }
  }
  if (jia < jian) {
    int kk = ((jia + 1) * num - num);
    int dec;
    int first;
    printf("Possible\n");
    if (kk % jian == 0) {
      dec = kk / jian;
      first = dec;
    } else {
      dec = kk / jian;
      first = dec + kk % jian;
    }
    printf("%d ", num);
    int dt = first;
    int flag = 1;
    for (int i = 0; i < cnt; i++) {
      if (a[i] == 1)
        printf("+ %d ", num);
      else {
        if (first > num) {
          if (dt > 1) {
            printf("- %d ", dec + 1);
            dt--;
          } else
            printf("- %d ", dec);
        } else if (flag) {
          printf("- %d ", first);
          flag = 0;
        } else
          printf("- %d ", dec);
      }
    }
  }
  printf("= %d\n", num);
}
