#include <bits/stdc++.h>
using namespace std;
int on_bit(int x, int pos) {
  x |= (1 << pos);
  return x;
}
int off_bit(int x, int pos) {
  x &= ~(1 << pos);
  return x;
}
bool is_on_bit(int x, int pos) { return ((x & (1 << pos)) != 0); }
int flip_bit(int x, int pos) {
  x ^= (1 << pos);
  return x;
}
int lsb(int x) { return x & (-x); }
int on_bit_all(int x, int pos) {
  x = (1 << pos) - 1;
  return x;
}
const double EPS = 1e-9;
const double PI = 2 * acos(0.0);
const int INF = 0x3f3f3f3f;
const long long LLINF = 1e18;
const int MOD = 1e9 + 7;
int add(long long a, long long b) { return ((a % MOD) + (b % MOD)) % MOD; }
int sub(long long a, long long b) { return ((a % MOD) - (b % MOD)) % MOD; }
int mult(long long a, long long b) { return ((a % MOD) * (b % MOD)) % MOD; }
long long powmod(long long a, long long b) {
  long long res = 1;
  assert(b >= 0);
  a %= MOD;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % MOD;
    a = a * a % MOD;
  }
  return res;
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
int main() {
  long long x, y, n;
  scanf("%lld%lld%lld", &x, &y, &n);
  double val = (double)x / (double)y;
  double curr_d = 1e9;
  long long a, b;
  for (int i = 1; i < (int)n + 1; i++) {
    long long bawah = 1ll * i;
    long long l = -1ll, r = 1ll * 1e5 + 1;
    while (l + 1 < r) {
      long long m = (l + r) >> 1;
      double u = (double)m / (double)bawah;
      if (fabs(u - val) < curr_d) {
        curr_d = fabs(u - val);
        a = m;
        b = bawah;
      }
      if (fabs(u - val) == curr_d) a = min(a, m);
      if (u > val) {
        r = m;
      } else {
        l = m;
      }
    }
  }
  printf("%lld/%lld\n", a, b);
  return 0;
}

### Prompt

Your challenge is to write a Cpp solution to the following problem:

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

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
int on_bit(int x, int pos) {
  x |= (1 << pos);
  return x;
}
int off_bit(int x, int pos) {
  x &= ~(1 << pos);
  return x;
}
bool is_on_bit(int x, int pos) { return ((x & (1 << pos)) != 0); }
int flip_bit(int x, int pos) {
  x ^= (1 << pos);
  return x;
}
int lsb(int x) { return x & (-x); }
int on_bit_all(int x, int pos) {
  x = (1 << pos) - 1;
  return x;
}
const double EPS = 1e-9;
const double PI = 2 * acos(0.0);
const int INF = 0x3f3f3f3f;
const long long LLINF = 1e18;
const int MOD = 1e9 + 7;
int add(long long a, long long b) { return ((a % MOD) + (b % MOD)) % MOD; }
int sub(long long a, long long b) { return ((a % MOD) - (b % MOD)) % MOD; }
int mult(long long a, long long b) { return ((a % MOD) * (b % MOD)) % MOD; }
long long powmod(long long a, long long b) {
  long long res = 1;
  assert(b >= 0);
  a %= MOD;
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % MOD;
    a = a * a % MOD;
  }
  return res;
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
int main() {
  long long x, y, n;
  scanf("%lld%lld%lld", &x, &y, &n);
  double val = (double)x / (double)y;
  double curr_d = 1e9;
  long long a, b;
  for (int i = 1; i < (int)n + 1; i++) {
    long long bawah = 1ll * i;
    long long l = -1ll, r = 1ll * 1e5 + 1;
    while (l + 1 < r) {
      long long m = (l + r) >> 1;
      double u = (double)m / (double)bawah;
      if (fabs(u - val) < curr_d) {
        curr_d = fabs(u - val);
        a = m;
        b = bawah;
      }
      if (fabs(u - val) == curr_d) a = min(a, m);
      if (u > val) {
        r = m;
      } else {
        l = m;
      }
    }
  }
  printf("%lld/%lld\n", a, b);
  return 0;
}

```