#include <bits/stdc++.h>
using namespace std;

#define MAX 100000

int factors[MAX+5];
int primeFactor[MAX+5];

void sieve()
{
	int i, j;

	primeFactor[1] = 1;

	primeFactor[2] = 2;
	for (i = 4; i <= MAX; i+=2)
		primeFactor[i] = 2;

	for (j = 3; j <= MAX; j+=2)
	{
		if (primeFactor[j] == 0)
		{
			primeFactor[j] = j;
			for (i = j*j; i <= MAX; i+=j)
            {
                if (primeFactor[i] == 0)
                {
                    primeFactor[i] = j;
                }
            }
		}
	}

}

int main()
{
    #ifdef VSP4
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif // VSP4

    int N, Q, i, j, k, x, ans, last, count;

    sieve();

    cin >> N;

    for (i = 0; i < N; i++)
    {
    	cin >> x;
    	while (x != 1)
    	{
    		factors[primeFactor[x]]++;
    		x /= primeFactor[x];
    	}
    }

    cin >> Q;
    for (i = 0; i < Q; i++)
    {
    	cin >> x;
    	ans = 1e9;
    	map<int, int> tempMap;
    	while (x != 1)
        {
            tempMap[primeFactor[x]]++;
    		x /= primeFactor[x];
        }
        for (auto it: tempMap)
        {
            ans = min(ans, factors[it.first]/it.second);
        }
    	cout << ans << "\n";
    }

    return 0;
}
