#include <iostream>
using namespace std;

int main()
{
    int n;
    while(cin >> n){
        if(n==0)
            break;
            
        int dp[2][10000] = {0};
        dp[0][0] = 1;
        dp[1][0] = 1;
        for(int i=0;i<n;i++){
            int a,b;
            cin >> a >> b;
            for(int k=0;k<=1000;k++){
                if(dp[0][k]!=0){
                    for(int i=1;i<=b;i++){
                        dp[1][k+a*i]+= dp[0][k];
                    }     
                }
            }
            for(int k=0;k<=1000;k++)
                dp[0][k] = dp[1][k];
        }
        int m;
        cin >> m;
        for(int j=0;j<m;j++){
            int k;
            cin >> k;
            cout << dp[0][k] << endl;
        }      
    }
    return 0;
}