#include <bits/stdc++.h>
using namespace std;
int used[1000001];
vector<int> d[1000001];
set<int> val;
set<int> pos;
int a[1000001];
void dfs(int v) {
  used[v] = 1;
  val.insert(a[v]);
  pos.insert(v);
  for (int i = 0; i < d[v].size(); i++) {
    if (!used[d[v][i]]) {
      dfs(d[v][i]);
    }
  }
}
int main() {
  long long n, m;
  cin >> n;
  cin >> m;
  int x, y;
  long long a[n], b[n];
  for (int i = 0; i < n; i++) {
    a[i] = 0;
    b[i] = 0;
  }
  long long ans = n * n;
  long long suma = 0;
  long long sumb = 0;
  for (int i = 0; i < m; i++) {
    cin >> x >> y;
    if (!a[x - 1]) {
      ans = ans - n + sumb;
      a[x - 1] = 1;
      suma++;
    }
    if (!b[y - 1]) {
      ans = ans - n + suma;
      b[y - 1] = 1;
      sumb++;
    }
    cout << ans << ' ';
  }
}
