#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const int maxn = 100005;
const long long Mod = 1000000007;
vector<int> g[maxn], d[maxn];
long long in[maxn], out[maxn];
long long a[maxn];
long long sum;
void upd(int x) {
  sum -= in[x] * out[x];
  out[x] = g[x].size();
  in[x] = 0;
  for (int i = 0; i < d[x].size(); i++) {
    int v = d[x][i];
    sum -= in[v] * out[v];
    in[v]++;
    out[v]--;
    sum += in[v] * out[v];
    d[v].push_back(x);
  }
  d[x].clear();
}
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  ;
  int n, m;
  cin >> n >> m;
  int u, v;
  for (int i = 1; i <= m; i++) {
    cin >> u >> v;
    g[u].push_back(v);
    g[v].push_back(u);
    if (u < v) {
      swap(u, v);
    }
    out[u]++;
    in[v]++;
    d[v].push_back(u);
  }
  for (int i = 1; i <= n; i++) {
    sum += in[i] * out[i];
  }
  cout << sum << endl;
  int q;
  cin >> q;
  while (q--) {
    int d;
    cin >> d;
    upd(d);
    cout << sum << endl;
  }
  return 0;
}
