#include<cstdio>
#include<cstring>
#include<algorithm>
#include<functional>
using namespace std;
int main(void)
{
	int dp[8][1001];
	int i,j,n,m,a[8],b[8],g,suu[11],k,x,maisu;
	while(1) {
		scanf("%d",&m);
		if(m==0) break;
		for(i=0;i<m;i++) scanf("%d %d",&a[i],&b[i]);
		scanf("%d",&g);
		for(i=0;i<g;i++) scanf("%d",&suu[i]);
		for(i=0;i<=m;i++) {
			for(j=0;j<=1000;j++) {
				dp[i][j]=0;
			}
		}
		dp[0][0]=1;
		for(i=0;i<m;i++) {
			maisu=b[i];
			x=a[i];
			for(j=0;j<=1000;j++) {
				for(k=0;k<=maisu;k++) {
					if(j+x*k<=1000) {
						dp[i+1][j+x*k]+=dp[i][j];
					}
				}
			}
		}
//		for(i=0;i<=m;i++) {
//			for(j=0;j<=168;j++) {
//				printf("%8d",dp[i][j]);
//			}
//			printf("\n");
//		}
		for(i=0;i<g;i++) printf("%d\n",dp[m][suu[i]]);
	}
	return 0;
}
		