#include <bits/stdc++.h>
using namespace std;
const int mx = 3e3 + 4;
vector<char> v;
long long a[mx];
int main() {
  string s, s1;
  while (1) {
    cin >> s1;
    s += s1;
    if (s1[0] == '0' || s1[0] == '1' || s1[0] == '2' || s1[0] == '3' ||
        s1[0] == '4' || s1[0] == '5' || s1[0] == '6' || s1[0] == '7' ||
        s1[0] == '8' || s1[0] == '9')
      break;
  }
  int l = s.size() - 1;
  int f;
  int j = 0;
  long long sum = 0;
  a[0] = 1;
  for (int i = 1; i <= 9; i++) a[i] = a[i - 1] * 10;
  for (int f = l; f >= 0; f--) {
    if (s[f] == '0' || s[f] == '1' || s[f] == '2' || s[f] == '3' ||
        s[f] == '4' || s[f] == '5' || s[f] == '6' || s[f] == '7' ||
        s[f] == '8' || s[f] == '9') {
      sum += (a[j] * ((int)s[f] - '0'));
      j++;
    } else
      break;
  }
  v.push_back('+');
  for (int i = 0; i < s.size(); i++) {
    if (s[i] == '+' || s[i] == '-') v.push_back(s[i]);
  }
  int ans = 0;
  for (int i = 0; i < v.size(); i++) {
    if (v[i] == '+') ans++;
  }
  l = v.size() - ans;
  if (ans * sum - l < sum || ans - sum * l > sum) {
    cout << "Impossible";
    return 0;
  }
  cout << "Possible" << endl;
  int k = sum - ans + l;
  vector<int> v1, v2;
  int h;
  if (k < 0) {
    k = abs(k);
    for (int i = 1; i <= l; i++) {
      if (i <= (k % l))
        h = k / l + 1;
      else
        h = k / l;
      v1.push_back(-1 - h);
    }
    for (int i = 1; i <= ans; i++) v2.push_back(1);
  } else {
    for (int i = 1; i <= ans; i++) {
      if (i <= (k % ans))
        h = k / ans + 1;
      else
        h = k / ans;
      v2.push_back(1 + h);
    }
    for (int i = 1; i <= l; i++) v1.push_back(-1);
  }
  int p1 = 0, p2 = 1;
  cout << v2[0] << " ";
  for (int i = 1; i < v.size(); i++) {
    if (v[i] == '+') {
      cout << '+' << " " << v2[p2] << " ";
      p2++;
    } else {
      cout << '-' << " " << abs(v1[p1]) << " ";
      p1++;
    }
  }
  cout << '=' << " " << sum;
}
