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


public class C7CV2 {
	private StringTokenizer st;
	private BufferedReader bf;

	class Node {
		public Node(int s, boolean d) {
			dirty = d;
			size = s;
		}
		
		boolean dirty;
		int size;
	}
	
	public C7CV2() {
		try {
			bf = new BufferedReader(new InputStreamReader(System.in));
			st = new StringTokenizer(bf.readLine());


			long A = nextLong();
			long B = nextLong();
			long C = nextLong();
			long[] res = extendedEuclid3(A, B);
			
			//long check = -C*res[0]/res[2]*A + -C*res[1]*B/res[2] + C;
			if (C%res[2] != 0) {
				System.out.println(-1);
			} else {
				System.out.println(-C*res[0]/res[2] + " " + (-C*res[1]/res[2]));
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
		
	public static long[] extendedEuclid3(long a, long b) {
		long r_old = a;
		long r_new = b;
		long s_old = 1;
		long s_new = 0;
		long t_old = 0;
		long t_new = 1;
		long r_temp = 0;
		long s_temp = 0;
		long t_temp = 0;
		long r_old_old = 0;
				
		while (r_new != 0) {
			r_old_old = r_old;
			long q = r_old / r_new;
			r_temp = r_new;
			r_new = r_old - q * r_new;
			r_old = r_temp;

			s_temp = s_new;
			s_new = s_old - q * s_new;
			s_old = s_temp;
			
			t_temp = t_new;
			t_new = t_old - q * t_new;
			t_old = t_temp;
			
		}
		return new long[]{s_old, t_old, r_old};
	}
	
	
	private long nextLong() throws IOException {
		return Long.parseLong(next());
	}
	
	private int nextInt() throws IOException {
		return Integer.parseInt(next());
	}
	
	private String next() throws IOException {
		if (st == null || !st.hasMoreTokens())
			st = new StringTokenizer(bf.readLine());
		return st.nextToken();
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		C7CV2 c = new C7CV2();
	}
}