← Home
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,x,y,c;
bool check(int mid){
	int nn=mid*(mid+1)*2+1;
	if(mid>x) nn-=(mid-x)*(mid-x);
	if(mid+x>=n) nn-=(mid+x+1-n)*(mid+x+1-n);
	if(mid>y) nn-=(mid-y)*(mid-y);
	if(mid+y>=n) nn-=(mid+y+1-n)*(mid+y+1-n);
	if(mid>x+y+1) nn+=(mid-x-y-1)*(mid-x-y)/2;
	if(mid>n-x+y) nn+=(mid-n+x-y)*(mid-n+x-y+1)/2;
	if(mid>n-y+x) nn+=(mid-n+y-x)*(mid-n+y-x+1)/2;
	if(mid>2*n-x-y-1) nn+=(mid-2*n+x+y+1)*(mid-2*n+x+y+2)/2;
	return nn>=c;
}
signed main(){
	int t;
	t=1;
	while(t--){
		cin>>n>>x>>y>>c;
		x--,y--;
		int l=0,r=1e9;
		while(l<r){
			int mid=(l+r)>>1;
			if(check(mid)) r=mid;
			else l=mid+1;
		}
		cout<<r<<endl;
	}
	return 0;
}