#include<stdio.h>
#include<algorithm>
using namespace std;
int c[7];
int d[7];
int dp[8][1001];
int main(){
	int a;
	while(scanf("%d",&a),a){
		for(int i=0;i<a;i++){
			scanf("%d%d",c+i,d+i);
		}
		for(int i=0;i<8;i++)
			for(int j=0;j<1001;j++)
				dp[i][j]=0;
		dp[0][0]=1;
		for(int i=0;i<a;i++){
			for(int j=0;j<1001;j++){
				if(dp[i][j]){
					for(int k=0;k<=d[i];k++){
						if(j+k*c[i]>1000)break;
						dp[i+1][j+k*c[i]]+=dp[i][j];
					}
				}
			}
		}
		int b;
		scanf("%d",&b);
		for(int i=0;i<b;i++){
			int e;
			scanf("%d",&e);
			printf("%d\n",dp[a][e]);
		}
	}
}