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;
long long A, B, C, xx, yy;
long long gcd(long long x, long long y) {
  long long l, r, i, j;
  l = x / y;
  r = x % y;
  if (r == 0) {
    xx = 0;
    yy = 1;
    return y;
  } else {
    i = gcd(y, r);
    j = yy;
    yy = xx - l * yy;
    xx = j;
    return i;
  }
}
long long Abs(long long x) {
  if (x < 0)
    return -x;
  else
    return x;
}
int main() {
  cin >> A >> B >> C;
  if (C == 0)
    printf("0 0\n");
  else if (A == 0 && B == 0)
    printf("-1\n");
  else if (A == 0) {
    if (C % B == 0)
      cout << 0 << ' ' << (-C / B) << endl;
    else
      printf("-1\n");
  } else if (B == 0) {
    if (C % A == 0)
      cout << (-C / A) << ' ' << 0 << endl;
    else
      cout << -1 << endl;
  } else {
    long long w;
    if (Abs(A) > Abs(B)) {
      w = gcd(A, B);
      if (C % w == 0) {
        xx *= (-C / w);
        yy *= (-C / w);
        cout << xx << ' ' << yy << endl;
      } else
        cout << -1 << endl;
    } else {
      w = gcd(B, A);
      if (C % w == 0) {
        xx *= (-C / w);
        yy *= (-C / w);
        cout << yy << ' ' << xx << endl;
      } else
        cout << -1 << endl;
    }
  }
  return 0;
}