#include<iostream>
#include<vector>
#include<set>
#include<map>

using namespace std;

bool f(string s, long long a, long long b) {
    if (s == "gt") {
        return a>b;
    }
    return a<b;
}


int main() {
    long long n;
    while(cin >> n) {
        long long a, b;
        vector<long long> v(n), vv(n);
        for(long long i = 0; i<n; i++) {
            cin >>a >> b;
            v[i] = a;
            vv[i] = b;
        }
        long long c;
        cin >> c;
        for(long long C = 0; C<c; C++) {
            string s1, s2; cin >> s1 >> s2;
            long long intr;
            cin >> intr;
            if(s2 == "avg") {
                long long sum = 0;
                long long num = 0;
                long long a = 0;
                long long ok=0;
                for(long long i = 0; i<n; i++) {
                    for(; v[a] + intr < v[i] && a<i; a++) {
                        sum -= vv[a];
                        num--;
                    }
                    if(num) {
                        if(f(s1, num*vv[i], sum)) ok++;
                    }
                    sum+=vv[i];
                    num++;
                }
                cout << ok << endl;
            }
            if(s2 == "max") {
                multiset<long long> s;
                long long a = 0;
                long long ok=0;
                for(long long i = 0; i<n; i++) {
                    for(; v[a] + intr < v[i] && a<i; a++) {
                        s.erase(s.find(-vv[a]));
                    }
                    if(s.size()) {
                        if(f(s1, vv[i], -*(s.begin()))) ok++;
                    }
                    s.insert(-vv[i]);
                }
                cout << ok << endl;
            }
            if(s2 == "min") {
                multiset<long long> s;
                long long a = 0;
                long long ok=0;
                for(long long i = 0; i<n; i++) {
                    for(; v[a] + intr < v[i] && a<i; a++) {
                        s.erase(s.find(vv[a]));
                    }
                    if(s.size()) {
                        if(f(s1, vv[i], *(s.begin()))) ok++;
                    }
                    s.insert(vv[i]);
                }
                cout << ok << endl;
            }
        }
    }
}
