#include <bits/stdc++.h>
using namespace std;
int n, m, SIZE, belong[1000100], cnt, ne[1000100], a[1000100], T;
long long ans;
vector<int> c[1000100];
inline int getint() {
  int w = 0, q = 0;
  char c = getchar();
  while ((c < '0' || c > '9') && c != '-') c = getchar();
  if (c == '-') q = 1, c = getchar();
  while (c >= '0' && c <= '9') w = w * 10 + c - '0', c = getchar();
  return q ? -w : w;
}
void init() {
  SIZE = sqrt(n);
  for (int i = 1; i <= n; i++) {
    ne[i] = i + SIZE - 1;
    ne[i] = min(ne[i], n);
    cnt++;
    c[cnt].push_back(0);
    for (int j = i; j <= ne[i]; j++) {
      ne[j] = ne[i];
      belong[j] = cnt;
      c[cnt].push_back(j);
    }
    i = ne[i];
  }
  for (int i = 1; i <= n; i++) a[i] = i;
}
int erfen(int x, int v) {
  int l = 0, r = c[x].size() - 1, mid, wz;
  while (l <= r) {
    mid = (l + r) >> 1;
    if (c[x][mid] <= v) {
      l = mid + 1;
      wz = mid;
    } else
      r = mid - 1;
  }
  return c[x].size() - wz;
}
int more(int l, int r, int v) {
  if (r < l) return 0;
  int tot = 0;
  int stk = belong[l], endk = belong[r];
  for (int i = l; i <= r; i++) {
    if (belong[i] == stk || belong[i] == endk) {
      if (a[i] > v) tot++;
      continue;
    }
    tot += erfen(belong[i], v);
    i = ne[i];
  }
  return tot;
}
void change(int x, int v1, int v2) {
  int w = c[x].size();
  for (int i = 0; i < w; i++)
    if (c[x][i] == v1) {
      c[x][i] = v2;
      sort(c[x].begin(), c[x].end());
      return;
    }
}
int main() {
  cin >> n >> T;
  init();
  while (T--) {
    int l, r;
    l = getint(), r = getint();
    if (l > r) swap(l, r);
    if (l != r) {
      int morel = more(l + 1, r - 1, a[l]);
      int lessl = r - 1 - l - morel;
      int morer = more(l + 1, r - 1, a[r]);
      int lessr = r - 1 - l - morer;
      ans += morel - lessl + lessr - morer;
      if (a[l] > a[r])
        ans--;
      else
        ans++;
      change(belong[l], a[l], a[r]);
      change(belong[r], a[r], a[l]);
      swap(a[l], a[r]);
    }
    printf("%I64d\n", ans);
  }
  return 0;
}
