Problem: A line on the plane is described by an equation Ax + By + C = 0. You are to find any point on this line, whose coordinates are integer numbers from  - 5·1018 to 5·1018 inclusive, or to find out that such points do not exist.

Input

The first line contains three integers A, B and C ( - 2·109 ≤ A, B, C ≤ 2·109) — corresponding coefficients of the line equation. It is guaranteed that A2 + B2 > 0.

Output

If the required point exists, output its coordinates, otherwise output -1.

Examples

Input

2 5 3


Output

6 -3

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
const int MOD = 1e12 + 7;
const int MAX = 1e6 + 2;
const int INF = 0x3f3f3f3f;
long long gcd(long long a, long long b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
long long expo(int x, int y) {
  int res = 1;
  while (y) {
    if (y % 2) res = (res * x % MOD) % MOD;
    x = (x * x) % MOD;
    y /= 2;
  }
  return res;
}
bool isPerSquare(long double a) {
  if (a < 0) return false;
  long long sr = sqrt(a);
  return (sr * sr == a);
}
bool IsPrime(long long x) {
  if (x < 2) {
    return false;
  }
  for (long long p = 2; p * p <= x; ++p)
    if (x % p == 0) return false;
  return true;
}
using namespace std;
int gcd2(int a, int b, long long &x, long long &y) {
  if (b == 0) {
    x = 1;
    y = 0;
    return a;
  }
  long long xx, yy;
  int g = gcd2(b, a % b, xx, yy);
  x = yy;
  y = xx - (a / b) * yy;
  return g;
}
int main() {
  long long a, b, c, x, y;
  cin >> a >> b >> c;
  long long g = gcd2(a, b, x, y);
  if (c % g != 0) {
    cout << -1 << endl;
    return 0;
  }
  cout << x * (-c / g) << " " << y * (-c / g) << endl;
  return 0;
}