#include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
using namespace std;

int main()
{
    for(;;){
        int m;
        cin >> m;
        if(m == 0)
            return 0;

        vector<int> a(m), b(m);
        for(int i=0; i<m; ++i)
            cin >> a[i] >> b[i];

        vector<int> num(1001, 0);
        num[0] = 1;
        for(int i=0; i<m; ++i){
            for(int j=1000; j>=0; --j){
                for(int k=1; k<=b[i]; ++k){
                    int c = j + a[i] * k;
                    if(c <= 1000)
                        num[c] += num[j];
                }
            }
        }

        int g;
        cin >> g;
        for(int i=0; i<g; ++i){
            int n;
            cin >> n;
            cout << num[n] << endl;
        }
    }
}