#include <bits/stdc++.h>
using namespace std;
int fff[111];
int ggg[111];
int m, n;
int lim;
char ch;
int ok;
char fh[111];
int num;
void test() {
  for (int i = 1; i <= m; i++)
    if (fff[i] < 1 || fff[i] > lim) ok = 0;
  for (int i = 1; i <= n; i++)
    if (ggg[i] < 1 || ggg[i] > lim) ok = 0;
}
void print() {
  cout << "Possible" << endl;
  cout << fff[1] << " ";
  int l = 2, r = 1;
  for (int i = 2; i <= num; i++) {
    cout << fh[i] << " ";
    if (fh[i] == '+') {
      cout << fff[l++] << " ";
    } else
      cout << ggg[r++] << " ";
  }
  cout << "= " << lim << endl;
}
int main() {
  m = 1;
  n = 0;
  ok = 1;
  num = 1;
  fh[1] = '+';
  while (scanf(" %c", &ch) == 1 && ch != '=') {
    scanf(" %c", &ch);
    if (ch == '=') break;
    num++;
    fh[num] = ch;
    if (ch == '+') m++;
    if (ch == '-') n++;
  }
  cin >> lim;
  int totneed = n + lim;
  int kk = m;
  for (int i = 1; i <= n; i++) ggg[i] = 1;
  for (int i = 1; i <= m; i++) {
    fff[i] = round((double)totneed / kk);
    totneed -= fff[i];
    kk--;
  }
  if (totneed != 0) ok = 0;
  test();
  if (ok) {
    print();
  } else {
    ok = 1;
    int totneed = m - lim;
    int kk = n;
    for (int i = 1; i <= m; i++) fff[i] = 1;
    for (int i = 1; i <= n; i++) {
      ggg[i] = round((double)totneed / kk);
      kk--;
      totneed -= ggg[i];
    }
    if (totneed != 0) ok = 0;
    test();
    if (ok)
      print();
    else
      printf("Impossible\n");
  }
  return 0;
}
