#include <bits/stdc++.h>
using namespace std;
long long n, x, y, c, l, r, mid;
long long cal1(long long n, long long x, long long y, long long mid) {
  long long xx = x - mid, ret = 0;
  if (xx >= 1) return 0;
  ret += (2 - 2 * xx) * (-xx + 1) / 2;
  return ret;
}
long long cal2(long long n, long long x, long long y, long long mid) {
  mid -= x + y;
  if (mid < 0) return 0;
  return (mid + 1) * (mid + 2) / 2;
}
long long count(long long n, long long x, long long y, long long mid) {
  long long ret = 0;
  ret = 2 * mid * (mid + 1) + 1;
  for (int i = int(0); i < int(4); ++i) {
    ret -= cal1(n, x, y, mid);
    ret += cal2(n, x, y, mid);
    swap(x, y);
    y = n - y + 1;
  }
  return ret;
}
int main() {
  cin >> n >> x >> y >> c;
  l = 0;
  r = 2 * n;
  count(n, x, y, 4);
  while (l != r) {
    mid = (l + r) / 2;
    if (count(n, x, y, mid) >= c)
      r = mid;
    else
      l = mid + 1;
  }
  cout << l << endl;
  return 0;
}
