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.BufferedReader;
import static java.lang.Math.*;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;


public class problemC implements Runnable {

	BufferedReader in;
	PrintWriter out;
	StringTokenizer tok;
	public static void main(String[] args) {
		new Thread(new problemC()).start();
	}
	
	long[] extended_euclid(int a, int b) {
		if(a == 0) {
			return new long[] {0, 1, b};
		}
		long x1, y1;
		long[] mas = extended_euclid(b % a, a);
		long d = mas[2];
		x1 = mas[0]; y1 = mas[1];
		return new long[] {y1 - (b/a) * x1, x1, d};
	}
	
	void solve() throws IOException {
		int a = nextInt(), b = nextInt(), c = nextInt();
		long[] mas = extended_euclid(a, b);
		if (c % mas[2] != 0) {
			System.out.println(-1);
			return;
		}
		System.out.println(mas[0] * (-c / mas[2]) + " " + mas[1]
				* (-c / mas[2]));
	}
	
	@Override
	public void run() {
		try {
			in = new BufferedReader(new InputStreamReader(System.in));
			//in = new BufferedReader(new FileReader(new File("input.txt")));
			tok = new StringTokenizer(in.readLine());			
			out = new PrintWriter(System.out);
			// out = new PrintWriter(new File("output.txt"));
			solve();
			out.flush();
			out.close();
			in.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	String nextLine() throws IOException {
		return in.readLine();
	}
	
	double nextDouble() throws IOException {
		return Double.parseDouble(next());
	}
	
	int nextInt() throws IOException {
		return Integer.parseInt(next());
	}
	
	String next() throws IOException {
		while(!tok.hasMoreTokens() && in.ready())
			tok = new StringTokenizer(in.readLine());
		return tok.nextToken();
	}
	
}