import java.util.Scanner; import java.util.ArrayList; public class Samples { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNextInt()) { int n = sc.nextInt(); long[] time = new long[n]; int[] value = new int[n]; for (int i = 0; i < n; i++) { time[i] = sc.nextLong(); value[i] = sc.nextInt(); } int operacia = 11111; int o = sc.nextInt(); int poc = 0; //int index = 0; int max = 0; int min = Integer.MAX_VALUE; double avg = 0; int size = 0; boolean b = true; for (int i = 0; i < o; i++) { boolean gt = sc.next().equals("gt"); String s = sc.next(); long interval = sc.nextLong(); if (s.equals("min")){ operacia = 0; }else if(s.equals("max")) { operacia = 1; } poc = 0; for (int j = 1; j < n; j++) { min = Integer.MAX_VALUE; max = 0; avg = 0; size = 0; for (int k = j - 1; k >= 0; k--) { if (time[k] < time[j] - interval) { break; } if (operacia == 0) { min = Math.min(min, value[k]); } else if (operacia == 1) { max = Math.max(max, value[k]); } else { avg += value[k]; } size++; } b = true; int valueTest = value[j]; if (operacia == 0) { if (!gt && min <= valueTest || gt && min >= valueTest) { b = false; } } else if (operacia == 1) { if (!gt && valueTest>= max || gt && valueTest <= max) { b = false; } } else { if (size > 0) avg /= size; if (gt && valueTest <= avg || !gt && valueTest >= avg) { b = false; } } if (size == 0) b = false; if (b) poc++; } System.out.println(poc); } } } }