#include <stdio.h>
const int N=1e3+10;
int main(){
    int n,a,b,dp[N];
    while(true){
        scanf("%d",&n);
        if(n==0)return 0;
        dp[0]=1;
        for(int i=1;i<N;i++)dp[i]=0;
        while(n--){
            scanf("%d%d",&a,&b);
            for(int i=N-1;i>=0;i--)for(int j=1;j<=b;j++)if(j*a<=i)dp[i]+=dp[i-j*a];
        }
        scanf("%d",&n);
        while(n--){
            scanf("%d",&a);
            printf("%d\n",dp[a]);
        }
    }
}
