#include<iostream>
using namespace std;
int main(){
  int m,a[10],b[10],g,n;
  
  while(cin >> m,m!=0){
    for(int i=1;i<=m;i++){
      cin >> a[i] >> b[i];
    }
    
    int sum,dp[10][1010]={};
    for(int i=1;i<=m;i++){
      sum = 0;
      dp[i-1][0] = 1;
      for(int j=1;j<=1000;j++){
	dp[i][j] = dp[i-1][j];
      }
      for(int j=0;j<b[i];j++){
	sum += a[i];
	for(int k=sum;k<=1000;k++){
	  dp[i][k] += dp[i-1][k-sum];
	}
      }
    }
    
    cin >> g;
    for(int i=0;i<g;i++){
      cin >> n;
      cout << dp[m][n] << endl;
    }
  }
  
  return(0);
}

