#include <bits/stdc++.h>
using namespace std;
int main(void) {
  ios::sync_with_stdio(false);
  vector<unsigned long> atoms(3), bonds(3);
  cin >> atoms[0] >> atoms[1] >> atoms[2];
  bool is_impos = false;
  vector<unsigned long> satoms(atoms);
  sort(satoms.begin(), satoms.end());
  unsigned long sum = satoms[0] + satoms[1] + satoms[2];
  is_impos |= (sum % 2 == 1);
  is_impos |= (satoms[2] > (satoms[0] + satoms[1]));
  if (is_impos) {
    cout << "Impossible" << endl;
  } else {
    for (;;) {
      if (atoms[0] == 0 && atoms[1] == 0 && atoms[2] == 0) break;
      unsigned long min_val = 0xFFFFFFFFLL;
      unsigned long min_ix = 0;
      for (unsigned long i = 0; i < atoms.size(); i++) {
        if (atoms[i] >= min_val) continue;
        min_val = atoms[i];
        min_ix = i;
      }
      for (unsigned long i = 0; i < atoms.size(); i++) {
        if (i == min_ix) continue;
        atoms[i]--;
      }
      bonds[(min_ix + 1) % 3]++;
    }
    for (unsigned long i = 0; i < atoms.size(); i++) {
      cout << bonds[i] << " ";
    }
    cout << endl;
  }
  return 0;
}
