import copy import heapq import itertools import math import operator import sys from bisect import bisect, bisect_left, bisect_right, insort from collections import Counter, deque from fractions import Fraction from functools import cmp_to_key, lru_cache, partial from inspect import currentframe from math import ceil, gcd, log10, pi, sqrt # import pypyjit # pypyjit.set_param('max_unroll_recursion=-1') input = sys.stdin.readline sys.setrecursionlimit(10000000) # mod = 10 ** 9 + 7 mod = 998244353 # mod = 1 << 128 # mod = 10 ** 30 + 1 INF = 1 << 61 DIFF = 10 ** -9 DX = [1, 0, -1, 0, 1, 1, -1, -1] DY = [0, 1, 0, -1, 1, -1, 1, -1] def read_values(): return tuple(map(int, input().split())) def read_index(): return tuple(map(lambda x: int(x) - 1, input().split())) def read_list(): return list(read_values()) def read_lists(N): return [read_list() for _ in range(N)] def dprint(*values): print(*values, file=sys.stderr) def dprint2(*values): names = {id(v): k for k, v in currentframe().f_back.f_locals.items()} dprint(", ".join(f"{names.get(id(value), '???')}={repr(value)}" for value in values)) class BIT: def __init__(self, N): self.N = N self.T = [0] * (N + 1) def add(self, i, x): i += 1 while i <= self.N: self.T[i] += x i += i & -i def _sum(self, i): s = 0 i += 1 while i > 0: s += self.T[i] i -= i & -i return s #[i, j] def sum(self, i, j): si = self._sum(i - 1) sj = self._sum(j) return sj - si def lower_left(self, v): if v < 0: return -1 x = 0 k = 1 << (self.N.bit_length() - 1) while k > 0: if x + k < self.N and self.T[x + k] < v: v -= self.T[x + k] x += k k //= 2 return x def main(): N = int(input()) L = read_lists(N) Q = int(input()) QL = read_lists(Q) A = sorted(list(set([a for (a, _) in QL] + [a for a, _ in L]))) D = {a: i for i, a in enumerate(A)} L = [(D[a], b) for a, b in L] QL = sorted([(b, D[a], i) for i, (a, b) in enumerate(QL)]) BL = {} bit = BIT(len(A) + 1) for a, b in L: BL.setdefault(b, [[], []])[0].append(a) bit.add(a, 1) for b, a, i in QL: BL.setdefault(b, [[], []])[1].append((i, a)) res = [0] * Q for S, T in BL.values(): for s in S: bit.add(s, -1) for i, a in T: res[i] = bit.sum(0, a) for s in S: bit.add(s, 1) print(*res, sep="\n") if __name__ == "__main__": main()