n,k=map(int,input().split()) sx,sy,gx,gy=map(int,input().split()) xy=[] xy.append((sx,sy)) xy.append((gx,gy)) for i in range(n): x,y=map(int,input().split()) xy.append((x,y)) def dist(i,j,s): xi,yi=xy[i] xj,yj=xy[j] d=abs(xi-xj)+abs(yi-yj) return (d+s-1)//s-1 from heapq import heappush, heappop n+=2 inf=1<<60 def calc(mid): D=[inf]*n D[0]=0 seen=[False]*n hq=[(0,0)] while hq: w,v=heappop(hq) if D[v]1: mid=(ok+ng)//2 if calc(mid)<=k: ok=mid else: ng=mid print(ok)