//56
#include<iostream>

using namespace std;

int a[7],b[7];

int dfs(int n,int m){
  if(m==0){
    return n==0;
  }else{
    int s=0;
    for(int i=0;i<=b[m-1];i++){
      s+=dfs(n-a[m-1]*i,m-1);
    }
    return s;
  }
}

int main(){
  for(int m;cin>>m,m;){
    for(int i=0;i<m;i++){
      cin>>a[i]>>b[i];
    }
    int g;
    cin>>g;
    while(g--){
      int n;
      cin>>n;
      cout<<dfs(n,m)<<endl;
    }
  }
  return 0;
}