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.util.*;

public class Line {
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    long a = in.nextInt();
    long b = in.nextInt();
    long c = in.nextInt();
    
    if (c == 0) {
      System.out.printf("0 0\n");
      return;
    }
    
    long gcd = gcd( gcd(Math.abs(a), Math.abs(b)), Math.abs(c));
    a /= gcd;
    b /= gcd;
    c /= gcd;
    
    if (a == 0) {
      if (c % b == 0) {
        System.out.printf("0 %d\n", -(c/b));
      } else {
        System.out.printf("-1\n");
      }
      return;
    }
    if (b == 0) {
      if (c % a == 0) {
        System.out.printf("%d 0\n", -(c/a));
      } else {
        System.out.printf("-1\n");
      }
      return;
    }
    
    if (gcd(Math.abs(a), Math.abs(b)) != 1) {
      System.out.printf("-1");
      return;
    }
    
    if (a < 0) {
      a = -a;
      b = -b;
      c = -c;
    }
    
    long y = ((((-c) % a + a)%a) * (ee(Math.abs(b), a)[0]*(b < 0 ? -1 : 1) + a)) % a;
    long x = (-c - b*y) / a;
    System.out.printf("%d %d\n", x, y);
  }
  
  public static long[] ee(long a, long b) {
    if (a % b == 0) {
      return new long[] {0, 1};
    }
    long[] ee = ee(b, a%b);
    return new long[] {ee[1], ee[0] - ee[1]*(a/b)};
  }
  
  public static long gcd(long a, long b) {
    if (b == 0) return a;
    return gcd(b, a%b);
  }
}