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.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.Locale;
import java.util.Scanner;

public class Main implements Runnable {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new Thread(new Main()).start();
	}

	public void run() {
		Locale.setDefault(Locale.US);
		try {
			run1();
		} catch (IOException e) {
			throw new RuntimeException();
		}
	}

	int nextInt(StreamTokenizer st) throws IOException {
		st.nextToken();
		return (int) st.nval;
	}

	double nextDouble(StreamTokenizer st) throws IOException {
		st.nextToken();
		return st.nval;
	}

	String nextLine(StreamTokenizer st) throws IOException {
		st.nextToken();
		return st.sval;
	}

	public void run1() throws IOException {
		Scanner sc = new Scanner(new InputStreamReader(System.in));
		// Scanner sc = new Scanner(new File("input.txt"));
		long a = sc.nextLong();
		long b = sc.nextLong();
		long c = sc.nextLong();
		long[] u = gcd(Math.abs(a), Math.abs(b));
		if (a < 0)
			u[0] = -u[0];
		if (b < 0)
			u[1] = -u[1];
		long d = u[0] * a + u[1] * b;
		if (c % d != 0) {
			System.out.println(-1);
			return;
		}
		if (b != 0 && Math.abs(u[0]) > b) {
			long tmp = u[0] / b;
			u[0] -= tmp * b;
			u[1] += tmp * a;
		}
		System.out.println(-u[0] * c / d + " " + -u[1] * c / d);
	}

	long[] gcd(long a, long b) {
		if (b == 0)
			return new long[] { 1, 0 };
		long[] tmp = gcd(b, a % b);
		// d = tmp[0] * b + tmp[1] * (a - b * (a / b))
		return new long[] { tmp[1], tmp[0] - tmp[1] * (a / b) };
	}
}