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

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskC solver = new TaskC();
        solver.solve(1, in, out);
        out.close();
    }

    static class TaskC {
        long x;
        long y;

        public void solve(int testNumber, InputReader in, PrintWriter out) {
            long a = in.ni();
            long b = in.ni();
            long c = in.ni();
            long gcd = gcd(Math.abs(a), Math.abs(b));
            if (Math.abs(c) % gcd != 0) {
                out.println(-1);
                return;
            }
            extendedEuclid(Math.abs(a), Math.abs(b));
            if (a < 0)
                x = -x;
            if (b < 0)
                y = -y;
            long factor = -c / gcd;
            out.println(x * factor + " " + y * factor);
        }

        void extendedEuclid(long a, long b) {
            if (b == 0) {
                x = 1;
                y = 0;
                return;
            }
            extendedEuclid(b, a % b);
            long temp = x;
            x = y;
            y = temp - (a / b) * y;
        }

        long gcd(long a, long b) {
            if (b == 0)
                return a;
            return gcd(b, a % b);
        }

    }

    static class InputReader {
        BufferedReader br;
        StringTokenizer st;

        public InputReader(InputStream inputStream) {
            br = new BufferedReader(new InputStreamReader(inputStream));
        }

        public String n() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    throw new RuntimeException();
                }
            }
            return st.nextToken();
        }

        public int ni() {
            return Integer.parseInt(n());
        }

    }
}