#include <cstdio>
using namespace std;

int main()
{
	int N,num[8],s[8];
	while(scanf("%d", &N), N)
	{
		for(int i=1; i<=N; i++)
			scanf("%d%d", &num[i], &s[i]);
		
		int dp[1001]={0};
		dp[0]=1;
		
		for(int i=1; i<=N; i++)
		{
			bool c[1001]={0};
			c[0]=1;
			for(int j=0; j<s[i]; j++)
			for(int k=1000; k>=0; k--)
			{
				if(k+num[i]>1000) continue;
				if(c[k]!=0) c[k+num[i]]=1;
			}
			
			for(int k=1000; k>=0; k--)
			for(int j=1; j<1000; j++)
			{
				if(k+j>1000) continue;
				if(c[j]!=0) dp[k+j]+=dp[k];
			}
		}
		
		int M;
		scanf("%d", &M);
		while(M--)
		{
			int t;
			scanf("%d", &t);
			printf("%d\n", dp[t]);
		}
	}
}