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>
using namespace std;
const long long L = 5e18;
long long gcd(long long a, long long b, long long *x, long long *y) {
  if (b == 0LL) {
    (*x) = 1LL;
    (*y) = 0LL;
    return a;
  }
  long long x1, y1;
  long long g = gcd(b, a % b, &x1, &y1);
  (*x) = y1;
  (*y) = x1 - (a / b) * y1;
  return g;
}
int main() {
  long long A, B, C;
  cin >> A >> B >> C;
  if (A == 0LL and B == 0LL) {
    if (C == 0LL)
      cout << "1 1" << endl;
    else
      cout << "-1" << endl;
  } else {
    long long a = max(abs(A), abs(B));
    long long b = min(abs(A), abs(B));
    long long x, y;
    long long g = gcd(a, b, &x, &y);
    long long c = abs(C);
    if (c % g != 0LL)
      cout << "-1" << endl;
    else {
      long long fact = (-1LL * C) / g;
      x *= fact;
      y *= fact;
      if (a == abs(A)) {
        if (A < 0) x *= -1LL;
        if (B < 0) y *= -1LL;
      } else {
        if (A < 0) y *= -1LL;
        if (B < 0) x *= -1LL;
        swap(x, y);
      }
      if (abs(x) <= L and abs(y) <= L)
        cout << x << " " << y << endl;
      else
        cout << "-1" << endl;
    }
  }
  return 0;
}