#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const long long LINF = 0x3f3f3f3f3f3f3f3f;
const int mod = (int)1e5 + 3;
const int P = (int)1e5 + 3;
const int maxn = 2e5 + 6;
const double pi = acos(-1);
int B, n;
struct BIT {
  int s[maxn];
  BIT() { memset(s, 0, sizeof(s)); }
  void add(int x, int d) {
    for (; x <= n; x += x & -x) s[x] += d;
  }
  int qry(int x) {
    int sum = 0;
    for (; x > 0; x -= x & -x) sum += s[x];
    return sum;
  }
} t[350];
long long ans;
void cal(int x, int y, int z) {
  if (x < y && x < z || x > y && x > z) return;
  if (y < z)
    ans += 2;
  else
    ans -= 2;
}
int q, a[maxn], b[maxn], R[maxn], L[maxn], be[maxn];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> q;
  B = 600;
  for (int i = (1); i < (n + 1); i++) {
    a[i] = i;
    be[i] = i / B;
    t[be[i]].add(i, 1);
    R[be[i]] = i;
    if (!L[be[i]]) L[be[i]] = i;
  }
  ans = 0;
  while (q--) {
    int l, r;
    cin >> l >> r;
    if (l > r) swap(l, r);
    if (l == r) {
      cout << ans << "\n";
      continue;
    }
    if (a[l] < a[r])
      ans++;
    else if (a[l] > a[r])
      ans--;
    if (be[l] == be[r]) {
      for (int i = l + 1; i <= r - 1; i++) {
        cal(a[i], a[l], a[r]);
      }
    } else {
      int bl = be[l] + 1, br = be[r] - 1;
      for (int i = (bl); i < (br + 1); i++) {
        ans += 2 * t[i].qry(a[r]) - 2 * t[i].qry(a[l]);
      }
      for (int i = (l + 1); i < (R[bl - 1] + 1); i++) cal(a[i], a[l], a[r]);
      for (int i = (L[br + 1]); i < (r); i++) cal(a[i], a[l], a[r]);
    }
    t[be[l]].add(a[l], -1);
    t[be[l]].add(a[r], 1);
    t[be[r]].add(a[l], 1);
    t[be[r]].add(a[r], -1);
    swap(a[l], a[r]);
    cout << ans << "\n";
  }
  return 0;
}
