#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b, c;
  int bondab = 0;
  int bondbc = 0;
  int bondac = 0;
  int big, small, mid;
  cin >> a >> b >> c;
  int x[3] = {a, b, c};
  int min = 1000000;
  int minq = 1000000;
  int max = 0;
  int posmin, posmax;
  if ((a + b) < c || (a + c) < b || (b + c) < a)
    cout << "Impossible" << endl;
  else if (a == b && b == c && a == c && (a % 2) == 1 && (b % 2) == 1 &&
           (c % 2) == 1)
    cout << "Impossible" << endl;
  else {
    for (int i = 0; i < 3; i++) {
      if (x[i] < min) {
        min = x[i];
        posmin = i;
      }
    }
    for (int i = 0; i < 3; i++) {
      if (x[i] > max) {
        max = x[i];
        posmax = i;
      }
    }
    if ((posmax == 2) && (posmin == 0)) mid = x[1];
    if ((posmax == 1) && (posmin == 2)) mid = x[0];
    if ((posmax == 0) && (posmin == 1)) mid = x[2];
    bondab = ((a + b) - c) / 2;
    bondbc = ((b + c) - a) / 2;
    bondac = ((a + c) - b) / 2;
    if ((bondab + bondac) == a && (bondab + bondbc) == b &&
        (bondbc + bondac) == c)
      cout << bondab << " " << bondbc << " " << bondac << endl;
    else
      cout << "Impossible" << endl;
  }
  return 0;
}
