#include #include #include #include #define MAXN 10006 #define INF 1e9 using namespace std; struct Node { int x,p; }node[MAXN]; int N,ans; __int64 K; int cmp(const void *p1,const void *p2) { return ((struct Node *)p1)->x-((struct Node *)p2)->x; } void Init() { int i; for(i=1;i<=N;i++) scanf("%d%d",&node[i].x,&node[i].p); qsort(node+1,N,sizeof(node[0]),cmp); } void Solve() { int i,j,k; __int64 M,d1,d2; int now; ans=0; for(i=1;i<=N;i++) { k=i-1;j=i+1; M=K;now=node[i].p; while(true) { if(k==0&&j!=N+1) { d1=INF; d2=node[j].x-node[i].x; } else if(k!=0&&j==N+1) { d1=node[i].x-node[k].x; d2=INF; } else if(k!=0&&j!=N+1) { d1=node[i].x-node[k].x; d2=node[j].x-node[i].x; } else break; if(d1ans) ans=now; } printf("%d\n",ans); } int main() { while(scanf("%d%I64d",&N,&K)!=EOF) { Init(); Solve(); } return 0; }