#include <bits/stdc++.h>
using namespace std;
long long int n, m, x, y;
set<long long int> r, c;
void solve(int test) {
  cin >> n >> m;
  long long int tot = n * n;
  for (int(i) = 0; (i) < m; (i)++) {
    cin >> x >> y;
    if (r.find(x) != r.end() ^ c.find(y) != c.end()) {
      if (r.find(x) != r.end()) {
        tot -= (n - int((r).size()));
      } else {
        tot -= (n - int((c).size()));
      }
    } else if (r.find(x) == r.end() && c.find(y) == c.end()) {
      tot -= (2 * n - int((r).size()) - int((c).size()) - 1);
    }
    r.insert(x);
    c.insert(y);
    cout << tot << " ";
  }
}
int main() {
  long long int test = 1;
  for (int(i) = 0; (i) < test; (i)++) {
    solve(i + 1);
  }
  return 0;
}
