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 JAVA):

Solution:
import java.io.*;
import java.util.StringTokenizer;

public class C {

  private BufferedReader br;
  private StringTokenizer st = new StringTokenizer("");

  private void solve() throws IOException {
//    InputStream inputStream = new FileInputStream("c.in");
    InputStream inputStream = System.in;
    br = new BufferedReader(new InputStreamReader(inputStream));
    long a = nextInt();
    long b = nextInt();
    long c = nextInt();

    Data data = gcd(a, b);

    PrintWriter out = new PrintWriter(System.out);
    if (c % data.d != 0) {
      out.println(-1);
    }
    else {
      long k = -c / data.d;
      long x = data.x * k;
      long y = data.y * k;
      out.println(x + " " + y);
    }
    out.close();
  }

  public Data gcd(long a, long b) throws IOException {
    long aOrig = a;
    long bOrig = b;
    long x1 = 1, y1 = 0, x2 = 0, y2 = 1;
    while (b != 0) {
      long k = a / b;

      long _x1 = x2;
      long _y1 = y2;

      long _x2 = x1 - k * x2;
      long _y2 = y1 - k * y2;

      x1 = _x1;
      y1 = _y1;
      x2 = _x2;
      y2 = _y2;

      long t = a % b;
      a = b;
      b = t;
    }
    if (aOrig * x1 + bOrig * y1 != a) {
      throw new IOException("Botva");
    }
    return new Data(a, x1, y1);
  }

  int nextInt() throws IOException {
    return Integer.parseInt(nextToken());
  }

  private String nextToken() throws IOException {
    while (!st.hasMoreTokens()) {
      st = new StringTokenizer(br.readLine());
    }
    return st.nextToken();
  }


  public static void main(String[] args) throws IOException {
    new C().solve();
  }

  public static class Data {
    long d;
    long x;
    long y;

    public Data(long d, long x, long y) {
      this.d = d;
      this.x = x;
      this.y = y;
    }
  }
}