#include<iostream>
using namespace std;

int main(){
  int m,g;
  int a[7],b[7];
  int n;
  int t[1001];
  int c[1001];

  while(1){
    cin >> m;
    if(!m)break;

    for(int i=0;i<m;i++)cin >> a[i] >> b[i];
    for(int i=1;i<=1000;i++){
      t[i] = 0;
      c[i] = 0;
    }
    t[0] = 1;
    c[0] = 1;
    
    for(int i=0;i<m;i++){
      for(int j=1;j<=b[i];j++){
	for(int k=0;k<=1000-a[i]*j;k++){
	  if(c[k]){
	    t[k+a[i]*j]+=c[k];
	  }
	}
      }
      for(int j=0;j<=1000;j++){
	if(t[j]>0)c[j] = t[j];
      }
    }
    
    cin >> g;
    for(int i=0;i<g;i++){
      cin >> n;
      cout << t[n] << endl;
    }
  }
}