#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 100;
const long long oo = 1e18;
long long L[MAXN];
vector<long long> I[MAXN];
long long res[MAXN];
long long N, M, Q;
long long tot;
int32_t main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> N >> M;
  for (long long i = 0; i < M; i++) {
    long long u, v;
    cin >> u >> v;
    if (u < v) swap(u, v);
    L[u]++;
    I[v].push_back(u);
  }
  cin >> Q;
  for (long long i = 1; i <= N; i++) {
    tot += L[i] * I[i].size();
  }
  cout << tot << '\n';
  for (long long i = 0; i < Q; i++) {
    long long q;
    cin >> q;
    vector<long long> ady;
    for (auto v : I[q]) {
      tot -= I[v].size();
      tot -= L[q];
      tot += L[v] - 1;
      ady.push_back(v);
    }
    for (auto v : ady) {
      L[v]--;
      I[v].push_back(q);
      L[q]++;
    }
    I[q].clear();
    cout << tot << '\n';
  }
  return 0;
}
