#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b, pair<long long, long long> &ans) {
  if (a == 0) {
    ans = make_pair(0, -1);
    return b;
  }
  if (b == 0) {
    ans = make_pair(-1, 0);
    return a;
  }
  if (a > b) {
    long long anss = gcd(a % b, b, ans);
    ans.second -= a / b * ans.first;
    return anss;
  } else {
    long long anss = gcd(a, b % a, ans);
    ans.first -= b / a * ans.second;
    return anss;
  }
}
int main() {
  long long a, b, c;
  cin >> a >> b >> c;
  if (b == 0) {
    if (c % a == 0) {
      cout << 0 << ' ' << -c / a << endl;
    } else {
      cout << -1 << endl;
    }
    return 0;
  }
  if (a == 0) {
    if (c % b == 0) {
      cout << 0 << ' ' << -c / b << endl;
    } else {
      cout << -1 << endl;
    }
    return 0;
  }
  pair<long long, long long> ans;
  long long common = gcd(abs(a), abs(b), ans);
  if (c % common != 0) {
    cout << -1 << endl;
    return 0;
  }
  if (a < 0) {
    ans.first *= -1;
  }
  if (b < 0) {
    ans.second *= -1;
  }
  ans.second *= c / common;
  ans.first *= c / common;
  cout << ans.first << ' ' << ans.second << endl;
  return 0;
}

### Prompt

Your challenge is to write a cpp solution to the following 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

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b, pair<long long, long long> &ans) {
  if (a == 0) {
    ans = make_pair(0, -1);
    return b;
  }
  if (b == 0) {
    ans = make_pair(-1, 0);
    return a;
  }
  if (a > b) {
    long long anss = gcd(a % b, b, ans);
    ans.second -= a / b * ans.first;
    return anss;
  } else {
    long long anss = gcd(a, b % a, ans);
    ans.first -= b / a * ans.second;
    return anss;
  }
}
int main() {
  long long a, b, c;
  cin >> a >> b >> c;
  if (b == 0) {
    if (c % a == 0) {
      cout << 0 << ' ' << -c / a << endl;
    } else {
      cout << -1 << endl;
    }
    return 0;
  }
  if (a == 0) {
    if (c % b == 0) {
      cout << 0 << ' ' << -c / b << endl;
    } else {
      cout << -1 << endl;
    }
    return 0;
  }
  pair<long long, long long> ans;
  long long common = gcd(abs(a), abs(b), ans);
  if (c % common != 0) {
    cout << -1 << endl;
    return 0;
  }
  if (a < 0) {
    ans.first *= -1;
  }
  if (b < 0) {
    ans.second *= -1;
  }
  ans.second *= c / common;
  ans.first *= c / common;
  cout << ans.first << ' ' << ans.second << endl;
  return 0;
}

```