#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; int main() { int n; cin >> n; map m; ll sum = 0; for (int i = 0; i < n; ++i) { int x; scanf("%d", &x); sum += x; m[x]++; } int q; cin >> q; for (int i = 0; i < q; ++i) { int x; scanf("%d", &x); auto it = m.lower_bound(x); while(it != m.end()){ int to = it->first % x; sum -= (it->first-to)*it->second; m[to] += it->second; it = m.erase(it); } printf("%lld\n", sum); } return 0; }