#include <bits/stdc++.h>
using namespace std;
long long int A, B, c, x, y, g;
void extendedEuclid(long long int a, long long int b) {
  if (b == 0) {
    x = 1;
    y = 0;
    g = a;
    return;
  }
  extendedEuclid(b, a % b);
  long long int x1 = y;
  long long int y1 = x - (a / b) * y;
  x = x1;
  y = y1;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> A >> B >> c;
  extendedEuclid(A, B);
  c = -c;
  if (c % g) return cout << "-1" << endl, 0;
  cout << (x * (c / g)) << " " << (y * (c / g)) << endl;
  return 0;
}

### Prompt

Your task is to create 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 int A, B, c, x, y, g;
void extendedEuclid(long long int a, long long int b) {
  if (b == 0) {
    x = 1;
    y = 0;
    g = a;
    return;
  }
  extendedEuclid(b, a % b);
  long long int x1 = y;
  long long int y1 = x - (a / b) * y;
  x = x1;
  y = y1;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> A >> B >> c;
  extendedEuclid(A, B);
  c = -c;
  if (c % g) return cout << "-1" << endl, 0;
  cout << (x * (c / g)) << " " << (y * (c / g)) << endl;
  return 0;
}

```