#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000000 #define Inf64 1000000000000000001LL int x[3000],y[3000]; int z[6000]; int main(){ int n; cin>>n; vector imos(1000002); rep(i,n){ int a,b; scanf("%d %d",&a,&b); int ja = 0,jb = 0; for(int j=1;j<=a;j++){ x[ja] = j; ja++; j = a/j; } x[ja] = a+1; ja++; for(int j=1;j<=b;j++){ y[jb] = j; jb++; j = b/j; } y[jb] = b+1; jb++; int jc = 0; int ta = 0,tb = 0; while(ta0){ if(aa >= 0)imos[z[j]]++,imos[z[j+1]]--; else{ imos[z[j]]++; imos[min(z[j+1],z[j] + (d-aa-1)/(-aa))]--; } } else{ if(aa>0){ imos[min(z[j+1], (1-d+aa-1)/aa+z[j])]++; imos[z[j+1]]--; } } } if(a