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

public class C {
    static LinkedList<Long> stack;
    static long A,B,gcd;
    public static long gcd(long a, long b) {
        if (b < a)
            return gcd(b, a);
        if (a == 0)
            return b;
        if(b%a==0){
            stack.addFirst(-1*(b/a-1));
        }else {
            stack.addFirst(-1*(b/a));
        }
        return gcd(b % a, a);
    }
    public static long[] generate(){
        long f=1,sec=stack.remove();
        int turn=0;
        while(!stack.isEmpty()){
            long rem=stack.remove();
            if(turn==0){
                f+=(sec*rem);
            }else {
                sec+=(f*rem);
            }
            turn=2-turn;
        }
        if(f*Math.abs(A)+sec*Math.abs(B)==gcd) return new long[]{f,sec};
        return new long[]{sec,f};
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        stack =new LinkedList<Long>();
        A = sc.nextLong(); B = sc.nextLong();
        long C = -1*sc.nextLong();
        if(B==0){
            if(C%A==0){
                System.out.println((C/A)+" 0");
                return;
            }else {
                System.out.println(-1);
                return;
            }
        }
        if(A==0){
            if(C%B==0){
                System.out.println("0 "+(C/B));
                return;
            }else {
                System.out.println(-1);
                return;
            }
        }
        gcd = gcd(Math.abs(A), Math.abs(B));
        if (C % gcd != 0) {
            System.out.println(-1);
            return;
        }
        long nC=C/gcd;
        
        long[] res=generate();
        //System.out.println((res[0]*-1*A+res[1]*-1*B)+" "+gcd+" "+res[0]+" "+nC);
        if(A<0){
            res[0]*=-1;
        }
        if(B<0){
            res[1]*=-1;
        }
        //System.out.println(res[1]+" "+res[0]+" "+nC);
        System.out.println((res[0]*nC)+" "+(res[1]*nC));
    //  System.out.println((res[0]*nC)*A+((res[1]*nC)*B)-C);
    }
}