#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/stack:16000000")
const int inf = 1 << 25;
const double eps = 1e-9;
struct Triple {
  long long d, x, y;
  Triple() {}
  Triple(long long dd, long long xx, long long yy) : d(dd), x(xx), y(yy) {}
};
Triple euklid(long long a, long long b) {
  if (b == 0) return Triple(a, 1, 0);
  Triple D = euklid(b, a % b);
  return Triple(D.d, D.y, D.x - (a / b) * D.y);
}
ostream& operator<<(ostream& out, Triple T) {
  out << T.d << " " << T.x << " " << T.y;
  return out;
}
int main() {
  long long a, b, c;
  cin >> a >> b >> c;
  Triple T = euklid(a, b);
  c = -c;
  if (c % T.d != 0) {
    cout << -1 << endl;
    return 0;
  }
  long long t = c / T.d;
  cout << T.x * t << " " << T.y * t << 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;
#pragma comment(linker, "/stack:16000000")
const int inf = 1 << 25;
const double eps = 1e-9;
struct Triple {
  long long d, x, y;
  Triple() {}
  Triple(long long dd, long long xx, long long yy) : d(dd), x(xx), y(yy) {}
};
Triple euklid(long long a, long long b) {
  if (b == 0) return Triple(a, 1, 0);
  Triple D = euklid(b, a % b);
  return Triple(D.d, D.y, D.x - (a / b) * D.y);
}
ostream& operator<<(ostream& out, Triple T) {
  out << T.d << " " << T.x << " " << T.y;
  return out;
}
int main() {
  long long a, b, c;
  cin >> a >> b >> c;
  Triple T = euklid(a, b);
  c = -c;
  if (c % T.d != 0) {
    cout << -1 << endl;
    return 0;
  }
  long long t = c / T.d;
  cout << T.x * t << " " << T.y * t << endl;
  return 0;
}

```