import sys
input = sys.stdin.readline
def readList():
return list(map(int, input().split()))
def readInt():
return int(input())
def readInts():
return map(int, input().split())
def readStr():
return input().strip()
def solve():
n, arr, m = readInt(), readList(), readInt()
power = [0] * (n+1)
for _ in range(m):
p, s = readInts()
power[s] = max(power[s], p)
for i in range(n-1, 0, -1):
power[i] = max(power[i], power[i+1])
if max(arr) > power[1]:
return -1
cnt, cp, ans = 0, 0, 1
for i in range(n):
cp = max(cp, arr[i])
if cp <= power[cnt+1]:
cnt += 1
else:
ans += 1
cnt, cp = 1, arr[i]
return ans
for _ in range(int(input())):
print(solve())
1671C - Dolce Vita | 1669G - Fall Down |
4D - Mysterious Present | 1316B - String Modification |
1204A - BowWow and the Timetable | 508B - Anton and currency you all know |
1672A - Log Chopping | 300A - Array |
48D - Permutations | 677C - Vanya and Label |
1583B - Omkar and Heavenly Tree | 1703C - Cypher |
1511C - Yet Another Card Deck | 1698A - XOR Mixup |
1702E - Split Into Two Sets | 1703B - ICPC Balloons |
1702F - Equate Multisets | 1700A - Optimal Path |
665C - Simple Strings | 1708A - Difference Operations |
1703E - Mirror Grid | 1042A - Benches |
1676B - Equal Candies | 1705B - Mark the Dust Sweeper |
1711A - Perfect Permutation | 1701B - Permutation |
1692A - Marathon | 1066A - Vova and Train |
169B - Replacing Digits | 171D - Broken checker |