#include <iostream>
#include <vector>
#include <utility>
using namespace std;

typedef pair<int,int> pii;
int table[16][1024] = {0};

int main() {
	int m;
	while(cin >> m, m) {
		vector<pii> v;

		for(int i = 0; i < 16; i++)
			for(int j = 0; j < 1024; j++)
				table[i][j] = 0;

		for(int i = 0; i < m; i++) {
			int a, b;
			cin >> a >> b;
			v.push_back(pii(a, b));
			//cout << a << " " << b << endl;
		}

		for(int i = 0; i <= v[0].second; i++)
			table[0][v[0].first * i] = 1;

		for(int i = 1; i < v.size(); i++) {
			for(int j = 0; j < 1024; j++) {
				for(int k = 0; k <= v[i].second; k++) {
					if(j - v[i].first * k >= 0) {
						table[i][j] += table[i - 1][j - v[i].first * k];
					}
				}
			}
		}

		int g;
		cin >> g;
		for(int i = 0; i < g; i++) {
			int n;
			cin >> n;
			cout << table[m - 1][n] << endl;
		}
	}
}