#include <bits/stdc++.h>
using namespace std;
long long hell = 1000000007;
const int limit = 200005;
bool isVowel(char ch) {
  if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
    return 1;
  else {
    return 0;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int T = 1;
  while (T--) {
    vector<pair<int, int> > v;
    map<int, int> cnt;
    for (int i = 0; i < 3; i++) {
      int t;
      cin >> t;
      cnt[i + 1] = t;
      v.push_back({t, i + 1});
    }
    sort(v.begin(), v.end());
    int mxi = v[2].first;
    int a = v[1].first;
    int b = v[0].first;
    map<pair<int, int>, int> mp;
    if (mxi > a + b) {
      cout << "Impossible";
    } else {
      int lft = (a + b - mxi);
      if (lft % 2) {
        cout << "Impossible";
      } else {
        int rem = lft / 2;
        int x = v[2].second;
        int y = v[1].second;
        if (x > y) swap(x, y);
        mp[{x, y}] = a - rem;
        x = v[1].second;
        y = v[0].second;
        if (x > y) swap(x, y);
        mp[{x, y}] = rem;
        x = v[0].second;
        y = v[2].second;
        if (x > y) swap(x, y);
        mp[{x, y}] = b - rem;
        cout << mp[{1, 2}] << " " << mp[{2, 3}] << " " << mp[{1, 3}];
      }
    }
  }
  return 0;
}
