#include <bits/stdc++.h>
using namespace std;
string s;
vector<int> neg, pos;
int p = 1, n = 0, m;
void prepro() {}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.precision(17);
  char c;
  cin >> c;
  while (c != '=') {
    cin >> c;
    if (c == '=') {
      cin >> m;
      break;
    } else {
      s.push_back(c);
      if (c == '+')
        p++;
      else
        n++;
      cin >> c;
    }
  };
  if (p - m * n > m || p * m - n < m)
    cout << "Impossible";
  else {
    int num = p - n;
    pos.clear();
    pos.resize(p, 1);
    neg.clear();
    neg.resize(n, 1);
    while (p-- && num < m) {
      pos[p] += min(m - 1, m - num);
      num += min(m - 1, m - num);
    }
    while (n-- && num > m) {
      neg[n] += min(m - 1, num - m);
      num -= min(m - 1, num - m);
    };
    ;
    cout << "Possible\n";
    cout << pos.back() << " ";
    pos.pop_back();
    for (auto i : s) {
      cout << i << " ";
      if (i == '+') {
        cout << pos.back() << " ";
        pos.pop_back();
      } else {
        cout << neg.back() << " ";
        neg.pop_back();
      }
    }
    cout << "= " << m;
  }
  return 0;
}
