#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 100;
vector<int> G[maxn];
int n, m;
long long d[maxn];
long long cal(int n) { return (d[n] - G[n].size()) * G[n].size(); }
int main() {
  ios::sync_with_stdio(0);
  cin >> n >> m;
  int u, v;
  for (int i = 0; i < m; i++) {
    cin >> u >> v;
    d[u]++;
    d[v]++;
    if (u > v) swap(u, v);
    G[u].push_back(v);
  }
  int q;
  cin >> q;
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    ans += cal(i);
  }
  cout << ans << endl;
  while (q--) {
    cin >> u;
    ans -= cal(u);
    for (auto v : G[u]) {
      ans -= cal(v);
      G[v].push_back(u);
      ans += cal(v);
    }
    G[u].clear();
    cout << ans << endl;
  }
  return 0;
}
