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 long gcd(long a, long b)
	{
		
		if (b == 0)	return a;
		else	    return  gcd(b, a%b);
	
	}
	
	public long [] extended_euclidean(long a, long b)
	{
		
		long [] ans = new long [2];
		long r0 = a;	long r1 = b;
		long s0 = 1;	long s1 = 0;
		long t0 = 0;	long t1 = 1;
		
		
		
		while (r1 != 0)
		{
			long q = r0/r1;
			
			long rtemp = r1;
			r1 = r0 - q*rtemp;
			r0 = rtemp;
			
			long stemp = s1;
			s1 = s0 - q*stemp;
			s0 = stemp;
			
			long ttemp = t1;
			t1 = t0 - q*ttemp;
			t0 = ttemp;
		}
		ans[0] = s0;
		ans[1] = t0;
		return ans;
		
	}
	
	public static void main(String args[])throws IOException
	{
		Scanner sc = new Scanner(System.in);
		line ll = new line();
		
		long A = sc.nextLong();
		long B = sc.nextLong();
		long C = -sc.nextLong();
		
		
		long gcd = ll.gcd(A, B);
		if (C%gcd != 0)
			System.out.println(-1);
		else
		{
			long [] ans  = ll.extended_euclidean(A, B);
			long x = ans[0]*(-C/gcd);
			long y = ans[1]*(-C/gcd);
			
			if (A*(-x)+B*(-y) == C)
				System.out.println(-x+" "+(-y));
			else if (A*(-x)+B*(y) == C)
				System.out.println(-x+" "+y);
			else if (A*(x)+B*(-y) == C)
				System.out.println(x+" "+(-y));
			
			else System.out.println(x+" "+y);
		}
		
		
		
	}

}