ll@h,@w,@n,@(a,b,c,d)[n];
DijkstraHeap<ll>p;
p.malloc(n+2,1);
p.change(n+1,0);
while(1){
	ll i=p.pop();
	ll v=p.val[i];
	if(i==n){
		wt(v);
		exit(0);
	}
	ll x=i<n?c[i]:1;
	ll y=i<n?d[i]:1;
	rep(j,n){
		p.change(j,v+1+abs(a[j]-x)+abs(b[j]-y));
	}
	p.change(n,v+abs(h-x)+abs(w-y));
}