#include <bits/stdc++.h>
int main() {
  int now = 1, tt = 0, n, x, y, c;
  scanf("%d%d%d%d", &n, &x, &y, &c);
  while (now < c) {
    tt++;
    int l = ((x - 1) < (tt) ? (x - 1) : (tt));
    now += ((l - (((y + tt - n)) > (0) ? ((y + tt - n)) : (0)) + 1) > (0)
                ? (l - (((y + tt - n)) > (0) ? ((y + tt - n)) : (0)) + 1)
                : (0)) +
           ((l - (((tt - y + 1)) > (0) ? ((tt - y + 1)) : (0)) + 1) > (0)
                ? (l - (((tt - y + 1)) > (0) ? ((tt - y + 1)) : (0)) + 1)
                : (0)) -
           (l == tt);
    l = ((n - x) < (tt) ? (n - x) : (tt));
    now += ((l - (((y + tt - n)) > (1) ? ((y + tt - n)) : (1)) + 1) > (0)
                ? (l - (((y + tt - n)) > (1) ? ((y + tt - n)) : (1)) + 1)
                : (0)) +
           ((l - (((tt - y + 1)) > (1) ? ((tt - y + 1)) : (1)) + 1) > (0)
                ? (l - (((tt - y + 1)) > (1) ? ((tt - y + 1)) : (1)) + 1)
                : (0)) -
           (l == tt);
  }
  printf("%d\n", tt);
  return 0;
}
