#include <bits/stdc++.h>
using namespace std;
double tick() {
  static clock_t oldt, newt = clock();
  double diff = 1.0 * (newt - oldt) / CLOCKS_PER_SEC;
  oldt = newt;
  return diff;
}
long long mod(long long n, long long m = 1000000007) {
  if (n < 0) {
    return (m - abs(n) % m) % m;
  } else
    return n % m;
}
long long power(long long a, long long n) {
  if (n == 0) return 1;
  if (n == 1) return a;
  if (n == 2) return a * a;
  if (n & 1) {
    n--;
    return a * power(power(a, 2), n / 2);
  } else
    return power(power(a, 2), n / 2);
}
vector<long long> isPrime(1000001, true), prime, spf(1000001);
void sieve(long long n) {
  isPrime[0] = isPrime[1] = false;
  for (long long i = 2; i < n; i++) {
    if (isPrime[i]) {
      prime.push_back(i);
      spf[i] = i;
    }
    for (long long j = 0;
         j < prime.size() && i * prime[j] < n && prime[j] <= spf[i]; j++) {
      isPrime[i * prime[j]] = false;
      spf[i * prime[j]] = prime[j];
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cout.precision(6);
  cout.setf(ios::fixed);
  long long t = 1;
  while (t--) {
    double a, b, c;
    cin >> a >> b >> c;
    double x = sqrt(power(b, 2) - (4 * a * c));
    double r1 = (-b + x) / (2 * a), r2 = (-b - x) / (2 * a);
    if (r1 < r2) swap(r1, r2);
    cout << r1 << '\n' << r2 << '\n';
  }
  cerr << "\nExecution time: " << tick() * 1000 << " ms" << '\n';
  return 0;
}
