#include <bits/stdc++.h>
using namespace std;
long long cnt(int n, int x, int y, int s) {
  int l = x, r = n - x + 1, t = y, b = n - y + 1;
  long long ans = 0;
  ans += 2LL * s * (s - 1) + 1;
  if (l < s) ans -= 1LL * (s - l) * (s - l);
  if (r < s) ans -= 1LL * (s - r) * (s - r);
  if (t < s) ans -= 1LL * (s - t) * (s - t);
  if (b < s) ans -= 1LL * (s - b) * (s - b);
  if (s - r - t > 0) ans += 1LL * (s - r - t) * (s - r - t + 1) / 2;
  if (s - r - b > 0) ans += 1LL * (s - r - b) * (s - r - b + 1) / 2;
  if (s - l - t > 0) ans += 1LL * (s - l - t) * (s - l - t + 1) / 2;
  if (s - l - b > 0) ans += 1LL * (s - l - b) * (s - l - b + 1) / 2;
  return ans;
}
bool solve() {
  int n, x, y, c;
  if (scanf("%d%d%d%d", &n, &x, &y, &c) == EOF) return false;
  int l = 0, r = 1000000000;
  while (r - l > 1) {
    int mid = (l + r) / 2;
    long long cc = cnt(n, x, y, mid);
    if (cc >= c)
      r = mid;
    else
      l = mid;
  }
  printf("%d", r - 1);
  return true;
}
int main() {
  solve();
  return 0;
}
