#include <bits/stdc++.h>
using namespace std;
int toNumber(string s) {
  int Number;
  if (!(istringstream(s) >> Number)) Number = 0;
  return Number;
}
string toString(int number) {
  ostringstream ostr;
  ostr << number;
  return ostr.str();
}
int main() {
  int n, m, k;
  while (cin >> n >> m >> k) {
    long long lo = 0;
    long long hi = m + 1;
    while (hi - lo > 1) {
      long long mi = (lo + hi) / 2;
      long long voy;
      if (k >= mi) {
        voy = (mi - 1) * mi / 2 + (k - mi);
      } else {
        voy = (mi - 1) * mi / 2 - (mi - k) * (mi - k + 1) / 2;
      }
      if (n - k + 1 >= mi) {
        voy += (mi + 1) * mi / 2 + (n - k + 1 - mi);
      } else {
        voy +=
            (mi + 1) * mi / 2 - (mi - (n - k + 1) + 1) * (mi - (n - k + 1)) / 2;
      }
      if (voy <= m) {
        lo = mi;
      } else {
        hi = mi;
      }
    }
    cout << lo << endl;
  }
}
