#include<bits/stdc++.h>
#define M 7
using namespace std;
int m,a[M],b[M],g,n,ans;

void dfs(int x,int sum){
  if(x==m){
    if(sum==n)ans++;
    return;
  }
  for(int i=0;i<=b[x];i++)
    dfs(x+1,sum+a[x]*i);
}

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