#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5+10;
int n,m,u,v;
struct node{
int x,t;
}a[N];
int b[N];
bool cmp(node x,node y){
return x.t<y.t;
}
multiset<int>s;
map<int,int>buc;
signed main(){
cin>>n>>m;
for(int i=1;i<=n;++i){
cin>>a[i].x>>a[i].t;
b[i]=a[i].t;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;++i) buc[a[i].t]=i;
for(int i=1;i<n;++i){
s.insert(abs(a[i].x-a[i+1].x)/abs(a[i].t-a[i+1].t));
}
a[n+1].t=2e9;
a[0].t=-2e9;
for(int i=1;i<=m;++i){
cin>>u>>v;
u=buc[b[u]];
if(v<a[u+1].t&&v>a[u-1].t){
if(u>1)s.erase(abs(a[u].x-a[u-1].x)/abs(a[u].t-a[u-1].t));
if(u<n)s.erase(abs(a[u+1].x-a[u].x)/abs(a[u+1].t-a[u].t));
if(u>1)s.insert(abs(a[u].x-a[u-1].x)/abs(v-a[u-1].t));
if(u<n)s.insert(abs(a[u+1].x-a[u].x)/abs(a[u+1].t-v));
cout<<*(--s.end())<<endl;
++s.end();
if(u>1)s.insert(abs(a[u].x-a[u-1].x)/abs(a[u].t-a[u-1].t));
if(u<n)s.insert(abs(a[u+1].x-a[u].x)/abs(a[u+1].t-a[u].t));
if(u>1)s.erase(abs(a[u].x-a[u-1].x)/abs(v-a[u-1].t));
if(u<n)s.erase(abs(a[u+1].x-a[u].x)/abs(a[u+1].t-v));
}else{
if(u>1)s.erase(abs(a[u].x-a[u-1].x)/abs(a[u].t-a[u-1].t));
if(u<n)s.erase(abs(a[u+1].x-a[u].x)/abs(a[u+1].t-a[u].t));
if(u<n&&u>1)s.insert(abs(a[u+1].x-a[u-1].x)/abs(a[u+1].t-a[u-1].t));
if(v>a[u+1].t){
int l=u,r=n+1;
while(l<r-1){
int mid=l+r>>1;
if(v>a[mid].t)l=mid;
else r=mid;
}
if(l<n)s.erase(abs(a[l+1].x-a[l].x)/abs(a[l+1].t-a[l].t));
if(l<n)s.insert(abs(a[l+1].x-a[u].x)/abs(a[l+1].t-v));
if(l>0)s.insert(abs(a[l].x-a[u].x)/abs(a[l].t-v));
cout<<*(--s.end())<<endl;
++s.end();
if(l<n)s.insert(abs(a[l+1].x-a[l].x)/abs(a[l+1].t-a[l].t));
if(l<n)s.erase(abs(a[l+1].x-a[u].x)/abs(a[l+1].t-v));
if(l>0)s.erase(abs(a[l].x-a[u].x)/abs(a[l].t-v));
}else{
int l=0,r=u;
while(l<r-1){
int mid=l+r>>1;
if(v>a[mid].t) l=mid;
else r=mid;
}
if(l<n)s.erase(abs(a[l+1].x-a[l].x)/abs(a[l+1].t-a[l].t));
if(l<n)s.insert(abs(a[l+1].x-a[u].x)/abs(a[l+1].t-v));
if(l>0)s.insert(abs(a[l].x-a[u].x)/abs(a[l].t-v));
cout<<*(--s.end())<<endl;
++s.end();
if(l<n)s.insert(abs(a[l+1].x-a[l].x)/abs(a[l+1].t-a[l].t));
if(l<n)s.erase(abs(a[l+1].x-a[u].x)/abs(a[l+1].t-v));
if(l>0)s.erase(abs(a[l].x-a[u].x)/abs(a[l].t-v));
}
if(u>1)s.insert(abs(a[u].x-a[u-1].x)/abs(a[u].t-a[u-1].t));
if(u<n)s.insert(abs(a[u+1].x-a[u].x)/abs(a[u+1].t-a[u].t));
if(u<n&&u>1)s.erase(abs(a[u+1].x-a[u-1].x)/abs(a[u+1].t-a[u-1].t));
}
}
return 0;
}