You are given three positive integers x, y, n. Your task is to find the nearest fraction to fraction <image> whose denominator is no more than n. 

Formally, you should find such pair of integers a, b (1 ≤ b ≤ n; 0 ≤ a) that the value <image> is as minimal as possible.

If there are multiple "nearest" fractions, choose the one with the minimum denominator. If there are multiple "nearest" fractions with the minimum denominator, choose the one with the minimum numerator.

Input

A single line contains three integers x, y, n (1 ≤ x, y, n ≤ 105).

Output

Print the required fraction in the format "a/b" (without quotes).

Examples

Input

3 7 6


Output

2/5


Input

7 2 4


Output

7/2
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 * @author vadimmm
 */
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);
		TaskB solver = new TaskB();
		solver.solve(1, in, out);
		out.close();
	}
}

class TaskB {
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        long x = in.nextInt();
        long y = in.nextInt();
        int n = in.nextInt();
        long d = (x > y) ? gcd(x, y) : gcd(y, x);
        x /= d;
        y /= d;
        if (y <= n) {
            out.printf("%d/%d", x, y);
            return;
        }
        long b = 0, a = 0, aa;
        double delta = 100000000;

        for (int i = 1; i <= n; ++i) {
            aa = (long) ((x * i) * 1.0 / y);
            if (Math.abs(x - 1.0 * y * aa / i) < delta) {
                delta = Math.abs(x - 1.0 * y * aa / i);
                a = aa;
                b = i;
            }
            aa = (long) ((x * i) * 1.0 / y + 1);
            if (Math.abs(x - 1.0 * y * aa / i) < delta) {
                delta = Math.abs(x - 1.0 * y * aa / i);
                a = aa;
                b = i;
            }
            
        }

        d = (a > b) ? gcd(a, b): gcd(b, a);
        a /= d;
        b /= d;
        out.printf("%d/%d\n", a, b);
    }

    private long gcd(long x, long y) {
        return (y == 0) ? x : gcd(y, x % y);
    }
}

class InputReader {

    private static BufferedReader bufferedReader;
    private static StringTokenizer stringTokenizer;

    public InputReader(InputStream inputStream) {
        bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        stringTokenizer = null;
    }

    public String next() {
        while(stringTokenizer == null || !stringTokenizer.hasMoreTokens()) {
            try {
                stringTokenizer = new StringTokenizer(bufferedReader.readLine());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return stringTokenizer.nextToken();
    }

    public int nextInt() {
        return Integer.parseInt(next());
    }

    }

