#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
#define fi first
#define sec second
#define pb push_back
int num[10],cnt[10];
int sum[10000];
int m;
void dfs(int x,int s){
	if(x==m){
		sum[s]++;
		return;
	}
	for(int i=0;i<=cnt[x];i++){
		dfs(x+1,s+num[x]*i);
	}
}
int main(){
	while(1){
		memset(sum,0,sizeof(sum));
		scanf("%d",&m);
		if(m==0)break;
		for(int i=0;i<m;i++){
			scanf("%d %d",&num[i],&cnt[i]);
		}
		dfs(0,0);
		int n,g;
		scanf("%d",&n);
		for(int i=0;i<n;i++){
			scanf("%d",&g);
			printf("%d\n",sum[g]);
		}
	}
	return 0;
}