#include<iostream>
using namespace std;
int dp[1001];
int main(){
	int m,a,b;
	while(true){
	cin>>m;
	if(m==0)break;
	for(int i=0;i<=1000;i++)dp[i]=0;
	dp[0]=1;
	for(int u=0;u<m;u++){
		cin>>a>>b;
		for(int i=1000;i>=0;i--){
			for(int j=1;j<=b;j++){
				if(i+j*a>1000)break;
				dp[i+j*a]+=dp[i];
			}
		}
	}
	int g,n;
	cin>>g;
	for(int u=0;u<g;u++){
		cin>>n;
		cout<<dp[n]<<endl;
	}
	}
	return 0;
}