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 Scanner in = new Scanner(System.in);
	public PrintStream out = System.out;

	public void main()
	{
		long A, B, C;
		long a, b, c, g;
		long[] r;
		long x, y, T;
		
		A = in.nextLong();
		B = in.nextLong();
		C = in.nextLong();
		
		a = Math.abs(A);
		b = Math.abs(B);
		c = Math.abs(C);
		
		r = euclid(a, b);
		
		if(c % r[2] != 0)
		{
			out.println(-1);
		}
		else
		{
			T = c/r[2];
			r[0] *= T;
			r[1] *= T;
			r[2] *= T;
			
			if(A < 0) r[0] = -r[0];
			if(B < 0) r[1] = -r[1];
			if(C > 0) 
			{
				r[0] = -r[0];
				r[1] = -r[1];
			}
			
			out.println(r[0]+" "+r[1]);
		}
	}//end public void main()

	//Extended Euclidean Algorithm
	//returns array x of size 3, where
	//x[0] * a + x[1] * b = x[2] = gcd(a, b)
	public long[] euclid(long a, long b)
	{
		if(b == 0) return new long[]{1, 0, a};
		
		long q, r;
		q = a/b; r = a%b;
		long[] x = euclid(b, r);

		return new long[]{x[1], x[0] - q*x[1], x[2]};
	}	
	
	public static void main(String[] args)
	{
		(new Line()).main();
	}
}