#include <bits/stdc++.h>
#define PB push_back
#define MP make_pair
using namespace std;
typedef long long ll;
int dp[1001];
int main(){
	int m,a,b,g,n;
	while(cin>>m&&m){
		memset(dp,0,sizeof(dp));dp[0]=1;
		for(int i=0;i<m;i++){
			cin>>a>>b;
			for(int j=1000;j>=0;j--){
				for(int k=1;k<=b;k++){
					if(j+a*k>1000)break;
					dp[j+a*k]+=dp[j];
				}
			}
		}
		cin>>g;
		for(int i=0;i<g;i++){
			cin>>n;
			cout<<dp[n]<<endl;
		}
	}
}