#include <bits/stdc++.h>
using namespace std;
vector<int> G[100010];
int ind[100010], oud[100010], deg[100010];
int main() {
  int i, u, v, n, m, q;
  scanf("%d%d", &n, &m);
  for (i = 0; i < m; i++) {
    scanf("%d%d", &u, &v);
    if (u > v) swap(u, v);
    deg[u]++, deg[v]++;
    ind[u]++;
    oud[v]++;
    G[u].push_back(v);
  }
  long long ans = 0;
  for (i = 1; i <= n; i++) ans += 1LL * ind[i] * oud[i];
  printf("%lld\n", ans);
  scanf("%d", &q);
  while (q--) {
    scanf("%d", &u);
    ans -= 1LL * ind[u] * oud[u];
    ind[u] = 0;
    oud[u] = deg[u];
    for (auto j : G[u]) {
      ans -= 1LL * ind[j] * oud[j];
      ind[j]++;
      oud[j]--;
      ans += 1LL * ind[j] * oud[j];
      G[j].push_back(u);
    }
    G[u].clear();
    printf("%lld\n", ans);
  }
  return 0;
}
