while true do
  a, b, c = gets.split.map(&:to_i)
  break if [a, b, c].inject(:+) == 0
  if c == 0
    if a == 1 && b < 0
      printf "%d %d %d %d\n", 1, 0, a, b
    else
      printf "%d %d %d %d\n", a, b, 1, 0
    end
    next
  end
  ok = false
  a.downto(1) do |p|
    break if ok
    next if a % p != 0
    c.abs.downto(-1*c.abs) do |q|
      break if ok
      next if q == 0
      next if c % q != 0
      r = a / p
      s = c / q
      next if b != p * s + q * r
      ok = true
      printf "%d %d %d %d\n", p, q, r, s
    end
  end
  puts "Impossible" if !ok
end