#include using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; template using vc = vector; template using vvc = vc>; using pi = pair; using pl = pair; using vi = vc; using vvi = vvc; using vl = vc; using vvl = vvc; #define rep(i,a,b) for (int i = (int)(a); i < (int)(b); i++) #define irep(i,a,b) for (int i = (int)(a); i > (int)(b); i--) #define all(a) a.begin(),a.end() #define print(n) cout << n << '\n' #define pritn(n) print(n) #define printv(n,a) {copy(all(n),ostream_iterator(cout," ")); cout<<"\n";} #define printvv(n,a) {for(auto itr:n) printv(itr,a);} #define rup(a,b) (a+b-1)/b #define input(A,N) rep(i,0,N) cin>>A[i] #define chmax(a,b) a = max(a,b) #define chmin(a,b) a = min(a,b) template< typename T > struct BIT{ int n; vector data; BIT(int n):n(n),data(n+1,0){} void add(int i,T x){ i++; while(i<=n){ data[i] += x; i += i & (-i); } } //sum of [l,r) T sum(int l,int r){ return sum(r-1)-sum(l-1); } T sum(int i){ i++; T now = 0; while(i>0){ now += data[i]; i -= i & (-i); } return now; } }; int main(){ cout << fixed << setprecision(15); int n; cin>>n; BIT b1(n),b2(n); using pp = pair>; vc dd; vl a(n); vl t(n); rep(i,0,n){ cin>>a[i]>>t[i]; b1.add(i,a[i]); dd.emplace_back(t[i]-1,pi(0,i)); dd.emplace_back(t[i]+a[i]-1,pi(1,i)); } int q; cin>>q; vl tt(q),l(q),r(q); rep(i,0,q){ cin>>tt[i]>>l[i]>>r[i]; l[i]--; dd.emplace_back(tt[i],pi(2,i)); } sort(all(dd)); vl ans(q); //a[i] - (nt - t[i] + 1) rep(i,0,dd.size()){ pp now = dd[i]; int qq = now.second.first; ll nn = now.first; int ni = now.second.second; //cout<