#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 10, MAXV = 5e5 + 10;
int a[MAXN], ps[MAXV], n, q, cz;
vector<int> d[MAXV];
long long ans;
bool ex[MAXN];
void chg(int num, bool del) {
  int nt = 0;
  for (int i = 1; i < (1 << d[num].size()); i++) {
    int k = 1, cnt = 0;
    for (int j = 0; j < d[num].size(); j++)
      if ((i & (1 << j)) != 0) k *= d[num][j], cnt++;
    if (del) ps[k]--;
    if (cnt % 2 == 1)
      nt += ps[k];
    else
      nt -= ps[k];
    if (!del) ps[k]++;
  }
  if (del)
    cz--, ans -= cz - nt;
  else
    ans += cz - nt, cz++;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  for (int i = 2; i < MAXV; i++)
    if (d[i].size() == 0)
      for (int j = i; j < MAXV; j += i) d[j].push_back(i);
  cin >> n >> q;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < q; i++) {
    int ind;
    cin >> ind, ind--;
    chg(a[ind], ex[ind]);
    ex[ind] = !ex[ind];
    cout << ans << '\n';
  }
}
