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

public class line {
 	
 	public static void main(String[] args) throws Exception {
 		if ("Satayev".equals(System.getProperty("user.name"))) {
			long start = System.nanoTime();
			new line().solve(new FileInputStream("input"));
			System.err.printf("Time elapsed: %d ms.\n", (System.nanoTime()-start)/1000000);
		}
		else
			new line().solve(System.in);
 	}
 	
//  return array [d, a, b] such that d = gcd(p, q), ap + bq = d
    static long[] GCD(long a, long b){
 	   if (b == 0)
 		   return new long[] { a, 1, 0 };
 	   long x1 = 0, x2 = 1, y1 = 1, y2 = 0;
 	   while (b > 0) {
 		   long q = a/b;
 		   long r = a  - q*b;
 		   long x = x2 - q*x1;
 		   long y = y2 - q*y1;
 		   a = b;   b = r;
 		   x2 = x1; x1 = x;
 		   y2 = y1; y1 = y;
 	   }
 	   return new long[] { a, x2, y2 };
    }


 	void solve(InputStream is) throws Exception {
		Scanner in = new Scanner(is);
		
		long a = in.nextLong(), b = in.nextLong(), c = in.nextLong();
		long[] d = GCD(Math.abs(a), Math.abs(b));
		if (a < 0)
			d[1] = -d[1];
		if (b < 0)
			d[2] = -d[2];
//		System.out.println(a+  " "+  b + " " + c);
//		System.out.println(d[0] + " "  + d[1]  +"  " +d[2]);
		if (Math.abs(c) %  d[0] == 0) {
			// a*x[1] + b*x[2]=x[0]
			// a*c*x[1]/x[0] + b*c*x[2]/x[0] = c
			long x = -c*d[1]/d[0];
			long y = -c*d[2]/d[0];
			System.out.println(x + " " + y);
		} else
			System.out.println(-1);
 	}

}