#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, k, l, m, c = 0, m1, m2, d, e, f, flag = 0;
  string s1, s2;
  cin >> m >> l >> k;
  vector<int> v1, v2, v3(3);
  v1.push_back(m);
  v1.push_back(l);
  v1.push_back(k);
  v2 = v1;
  sort(v1.rbegin(), v1.rend());
  m1 = min(m, min(l, k));
  m2 = max(m, max(l, k));
  if ((m + l + k) % 2 == 1) {
    cout << "Impossible" << endl;
    flag = 1;
  }
  if (flag == 0) {
    for (i = 1; i < v1.size(); i++) {
      c = c + v1[i];
    }
    if (c < m2) {
      flag = 1;
      cout << "Impossible" << endl;
    }
  }
  if (flag == 0) {
    m1 = (m + l + k) / 2;
    m2 = (m + l) - m1;
    cout << m2 << " ";
    m2 = (l + k) - m1;
    cout << m2 << " ";
    m2 = (m + k) - m1;
    cout << m2;
  }
  return 0;
}
