#include <bits/stdc++.h>
using namespace std;
const long long N = 105;
const long long M = 1000000007;
const long double PI = acos(-1);
long long A, B, C;
inline long long gcd(long long A, long long B, long long &X, long long &Y) {
  if (B == 0) {
    X = 1;
    Y = 0;
    return A;
  }
  long long X0, Y0, D;
  D = gcd(B, A % B, X0, Y0);
  X = Y0;
  Y = X0 - (A / B) * Y0;
  return D;
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> A >> B >> C;
  C = -C;
  long long X, Y;
  long long D = gcd(A, B, X, Y);
  if (C % D)
    cout << -1;
  else
    cout << X * (C / D) << ' ' << Y * (C / D);
  return 0;
}

### Prompt

Develop a solution in cpp to the problem described below:

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;
const long long N = 105;
const long long M = 1000000007;
const long double PI = acos(-1);
long long A, B, C;
inline long long gcd(long long A, long long B, long long &X, long long &Y) {
  if (B == 0) {
    X = 1;
    Y = 0;
    return A;
  }
  long long X0, Y0, D;
  D = gcd(B, A % B, X0, Y0);
  X = Y0;
  Y = X0 - (A / B) * Y0;
  return D;
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> A >> B >> C;
  C = -C;
  long long X, Y;
  long long D = gcd(A, B, X, Y);
  if (C % D)
    cout << -1;
  else
    cout << X * (C / D) << ' ' << Y * (C / D);
  return 0;
}

```