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.*;
import java.util.StringTokenizer;

/**
 * CodeForces Round 7C. Line
 * Created by Darren on 14-9-18.
 */
public class Main {
    Reader in = new Reader(System.in);
    PrintWriter out = new PrintWriter(System.out);

    public static void main(String[] args) throws IOException {
        new Main().run();
    }

    int a, b, c;

    void run() throws IOException {
        a = in.nextInt();
        b = in.nextInt();
        c = in.nextInt();

        long[] params = extendedEuclidean(a, b);
        if (c % params[0] != 0) {
            out.println(-1);
        } else {
            long factor = -c / params[0];
            out.print(params[1]*factor);
            out.print(' ');
            out.println(params[2]*factor);
        }
        out.flush();
    }

    long[] extendedEuclidean(long m, long n) {
        long r0 = m, r1 = n;
        long x0 = 1, x1 = 0;
        long y0 = 0, y1 = 1;
        long temp;
        while (r1 != 0) {
            long q = r0 / r1;
            temp = r1;
            r1 = r0 - r1 * q;
            r0 = temp;
            temp = x1;
            x1 = x0 - x1 * q;
            x0 = temp;
            temp = y1;
            y1 = y0 - y1 * q;
            y0 = temp;
        }
        return new long[] {r0, x0, y0};
    }

    static class Reader {
        BufferedReader reader;
        StringTokenizer tokenizer;

        public Reader(InputStream input) {
            reader = new BufferedReader(new InputStreamReader(input));
            tokenizer = new StringTokenizer("");
        }

        /** get next word */
        String nextToken() throws IOException {
            while ( ! tokenizer.hasMoreTokens() ) {
                //TODO add check for eof if necessary
                tokenizer = new StringTokenizer( reader.readLine() );
            }
            return tokenizer.nextToken();
        }

        String readLine() throws IOException {
            return reader.readLine();
        }

        int nextInt() throws IOException {
            return Integer.parseInt( nextToken() );
        }

        long nextLong() throws IOException {
            return Long.parseLong( nextToken() );
        }

        double nextDouble() throws IOException {
            return Double.parseDouble( nextToken() );
        }
    }
}