#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 99;
int n, m, q, u, v, deg[N], degin[N];
long long ans;
vector<int> g[N];
void change(int u, int v) {
  ans -= 1ll * int(g[u].size()) * (deg[u] - int(g[u].size()));
  g[u].push_back(v);
  ans += 1ll * int(g[u].size()) * (deg[u] - int(g[u].size()));
}
int main() {
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    scanf("%d%d", &u, &v);
    ;
    if (v < u) swap(u, v);
    g[u].push_back(v);
    deg[u]++;
    deg[v]++;
  }
  for (int i = 1; i < n + 1; i++)
    ans += 1ll * int(g[i].size()) * (deg[i] - int(g[i].size()));
  cout << ans << '\n';
  cin >> q;
  for (int i = 0; i < q; i++) {
    cin >> u;
    ans -= 1ll * int(g[u].size()) * (deg[u] - int(g[u].size()));
    for (int i = 0; i < int(g[u].size()); i++) change(g[u][i], u);
    g[u].clear();
    cout << ans << '\n';
  }
}
