#include<iostream>
#include<cmath>

using namespace std;

#define NUMMAX (7*100*10+1)
int main(){
 
    int m;
	int a,b;
	int g;
	int n;
	int dp[2][NUMMAX];

	while(1){
		cin>>m;
		if(m==0) break;

		for(int i=0;i<NUMMAX;i++) dp[0][i]=0,dp[1][i]=0;
		dp[0][0]=1;

		for(int i=0;i<m;i++){
			cin>>a>>b;
			for(int j=0;j<b;j++){
				for(int k=0;k<NUMMAX-a*(j+1);k++){
					if(dp[0][k]!=0) dp[1][k+a*(j+1)]+=dp[0][k];
				}
			}
			for(int j=0;j<NUMMAX;j++) dp[0][j]+=dp[1][j],dp[1][j]=0;
		}

		cin>>g;

		for(int i=0;i<g;i++){
			cin>>n;
			cout<<dp[0][n]<<endl;
		}
	}
    return 0;
}