#include <algorithm>
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;

template<class T> inline void chmin(T& a, const T& b) { if(b < a) a = b; }

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);

	for(int c; cin >> c, c;) {
		vector<int> t(c);
		for(int i = 0; i < c; ++i)
			cin >> t[i];

		int n;
		cin >> n;

		vector<int> get_up(100, 24);
		for(int i = 0; i < n; ++i) {
			int d, m;
			cin >> d >> m;
			chmin(get_up[d - 1], m);
		}

		vector<int> dp(c, 101);
		dp[0] = 0;
		for(int i = 0; i < 100; ++i) {
			vector<int> tmp(c, 101);
			for(int j = 0; j < c; ++j) {
				chmin(tmp[1], dp[j] + 1);
				if(t[j] <= get_up[i])
					chmin(tmp[(j + 1) % c], dp[j]);
			}

			dp.swap(tmp);
		}

		cout << *min_element(dp.begin(), dp.end()) << endl;
	}

	return EXIT_SUCCESS;
}