#include <cmath>
#include <vector>
#include <iostream>
#include <unordered_map>
std::unordered_map<int, int> build_lookup_table(const std::vector<int>& vec){
std::unordered_map<int, int> table(vec.size());
for(std::size_t row = 0; row < vec.size(); row++)
for(std::size_t col = row + 1; col < vec.size(); col++)
++table[vec[row] * vec[col]];
return table;
}
std::vector<int> get_factors(const int k){
std::vector<int> vec;
const int limit = std::sqrt(k);
for(int i = 1; i <= limit; i++){
int val = k / i;
if(val * i == k)
vec.push_back(i), vec.push_back(val);
}
if(limit * limit == k) //if its a perfect square
vec.pop_back();
return vec;
}
int main(){
std::vector<int> A;
std::vector<int> Q;
std::vector<int> ans;
int n;
std::cin >> n;
for(int i = 0, k; i < n; i++) std::cin >> k, A.push_back(k);
std::cin >> n;
for(int i = 0, k; i < n; i++) std::cin >> k, Q.push_back(k);
const auto lookup_table = build_lookup_table(A);
for(auto k : Q){
int pairs = 0;
for(auto factor : get_factors(k)){
auto iter = lookup_table.find(factor);
pairs += iter != lookup_table.end() ? iter->second : 0;
}
ans.push_back(pairs);
}
for(auto x : ans)
std::cout << x << ' ';
std::cout << std::endl;
}
I2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgoKc3RkOjp1bm9yZGVyZWRfbWFwPGludCwgaW50PiBidWlsZF9sb29rdXBfdGFibGUoY29uc3Qgc3RkOjp2ZWN0b3I8aW50PiYgdmVjKXsKICAgIHN0ZDo6dW5vcmRlcmVkX21hcDxpbnQsIGludD4gdGFibGUodmVjLnNpemUoKSk7CiAgICBmb3Ioc3RkOjpzaXplX3Qgcm93ID0gMDsgcm93IDwgdmVjLnNpemUoKTsgcm93KyspCiAgICAgICAgZm9yKHN0ZDo6c2l6ZV90IGNvbCA9IHJvdyArIDE7IGNvbCA8IHZlYy5zaXplKCk7IGNvbCsrKQogICAgICAgICAgICArK3RhYmxlW3ZlY1tyb3ddICogdmVjW2NvbF1dOwogICAgcmV0dXJuIHRhYmxlOwp9CgpzdGQ6OnZlY3RvcjxpbnQ+IGdldF9mYWN0b3JzKGNvbnN0IGludCBrKXsKICAgIHN0ZDo6dmVjdG9yPGludD4gdmVjOwogICAgY29uc3QgaW50IGxpbWl0ID0gc3RkOjpzcXJ0KGspOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBsaW1pdDsgaSsrKXsKICAgICAgICBpbnQgdmFsID0gayAvIGk7CiAgICAgICAgaWYodmFsICogaSA9PSBrKQogICAgICAgICAgICB2ZWMucHVzaF9iYWNrKGkpLCB2ZWMucHVzaF9iYWNrKHZhbCk7CiAgICB9CiAgICBpZihsaW1pdCAqIGxpbWl0ID09IGspICAgICAgLy9pZiBpdHMgYSBwZXJmZWN0IHNxdWFyZQogICAgICAgIHZlYy5wb3BfYmFjaygpOwogICAgcmV0dXJuIHZlYzsKfQogICAgICAgIAoKaW50IG1haW4oKXsKICAgIHN0ZDo6dmVjdG9yPGludD4gQTsKICAgIHN0ZDo6dmVjdG9yPGludD4gUTsKICAgIHN0ZDo6dmVjdG9yPGludD4gYW5zOwogICAgCiAgICBpbnQgbjsKICAgIHN0ZDo6Y2luID4+IG47CiAgICBmb3IoaW50IGkgPSAwLCBrOyBpIDwgbjsgaSsrKSBzdGQ6OmNpbiA+PiBrLCBBLnB1c2hfYmFjayhrKTsKICAgIAogICAgc3RkOjpjaW4gPj4gbjsKICAgIGZvcihpbnQgaSA9IDAsIGs7IGkgPCBuOyBpKyspIHN0ZDo6Y2luID4+IGssIFEucHVzaF9iYWNrKGspOwogICAgCiAgICBjb25zdCBhdXRvIGxvb2t1cF90YWJsZSA9IGJ1aWxkX2xvb2t1cF90YWJsZShBKTsKICAgIGZvcihhdXRvIGsgOiBRKXsKICAgIAlpbnQgcGFpcnMgPSAwOwogICAgICAgIGZvcihhdXRvIGZhY3RvciA6IGdldF9mYWN0b3JzKGspKXsKICAgICAgICAgICAgYXV0byBpdGVyID0gbG9va3VwX3RhYmxlLmZpbmQoZmFjdG9yKTsKICAgICAgICAgICAgcGFpcnMgKz0gaXRlciAhPSBsb29rdXBfdGFibGUuZW5kKCkgPyBpdGVyLT5zZWNvbmQgOiAwOwogICAgICAgIH0KICAgICAgICBhbnMucHVzaF9iYWNrKHBhaXJzKTsKICAgIH0KICAgIGZvcihhdXRvIHggOiBhbnMpCiAgICAgICAgc3RkOjpjb3V0IDw8IHggPDwgJyAnOwogICAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQ==