#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n, m, k;
  cin >> n >> m >> k;
  m -= n;
  int cnt = 1;
  if (m > 0) {
    cnt++;
    m--;
  } else {
    cout << 1 << endl;
    return 0;
  }
  bool pos[n];
  for (int i = 0; i < n; i++) {
    if (i == k - 1) {
      pos[i] = 0;
      continue;
    }
    pos[i] = 1;
  }
  bool right_end = false, left_end = false;
  if (k == 1) right_end = true;
  if (k == n) left_end = true;
  while (true) {
    if (right_end and left_end) {
      cnt += (m / n);
      break;
    } else {
      if (right_end)
        m -= (k - 1);
      else {
        int index;
        int L = -1, R = k - 1;
        while (R - L > 1) {
          int mid = (L + R) / 2;
          if (pos[mid] == 0)
            R = mid;
          else
            L = mid;
        }
        index = L;
        pos[index] = 0;
        if (index == 0) right_end = true;
        m -= k - index - 1;
      }
      if (left_end)
        m -= (n - k);
      else {
        int index;
        int L = k - 1, R = n;
        while (R - L > 1) {
          int mid = (L + R) / 2;
          if (pos[mid] == 0)
            L = mid;
          else
            R = mid;
        }
        index = R;
        pos[index] = 0;
        if (index == n - 1) left_end = true;
        m -= index - k + 1;
      }
      if (m > 0) {
        cnt++;
        m--;
      }
      if (m <= 0) break;
    }
  }
  cout << cnt << endl;
  return 0;
}
