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.Arrays;
import java.util.Scanner;

public class Line {
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		long A = in.nextLong();
		long B = in.nextLong();
		long C = in.nextLong();
		long[] res = extendedEuclid(A, B);
		if (C % res[2] != 0) {
			System.out.println(-1);
		} else {
			System.out.println(-C*res[0]/res[2] + " " + (-C*res[1]/res[2]));
		}
	}
	
	//res[0]*a+res[1]*n=nod(a,n)
	public static long[] extendedEuclid(long a, long n) {
		if (a < 0 && n < 0) {
			long[] res = extendedEuclid(-a, -n);
			res[0]*=-1;
			res[1]*=-1;
			return res;
		}
		if (a < 0) {
			long[] res = extendedEuclid(-a, n);
			res[0]*=-1;
			return res;
		}
		if (n < 0) {
			long[] res = extendedEuclid(a, -n);
			res[1]*=-1;
			return res;
		}
		if (a >= n) {
			if (n == 0) return new long[]{1, 0, a};
			long[] res = extendedEuclid(a%n, n);
			res[1] -= (a/n)*res[0];
			return res;
		} else {
			if (a == 0) return new long[]{0, 1, n};
			long[] res = extendedEuclid(a, n%a);
			res[0] -= (n/a)*res[1];
			return res;
		}
	}

}