#include <bits/stdc++.h>
using namespace std;
template <class T>
T abs(T x) {
  return x > 0 ? x : -x;
}
int m;
int n;
long long ans;
int nint() {
  int x;
  scanf("%d", &x);
  return x;
}
const int D = 400;
class Botva {
 public:
  vector<int> v1;
  vector<int> v2;
  void add(int x) {
    v1.push_back(x);
    v2.push_back(x);
  }
  int get(int x) {
    return lower_bound((v2).begin(), (v2).end(), x) - v2.begin();
  }
  void set(int p, int x) {
    int y = v1[p];
    v1[p] = x;
    p = lower_bound((v2).begin(), (v2).end(), y) - v2.begin();
    v2[p] = x;
    while (p && v2[p] < v2[p - 1]) {
      swap(v2[p], v2[p - 1]);
      p--;
    }
    while (p < ((int)(v2).size()) - 1 && v2[p] > v2[p + 1]) {
      swap(v2[p], v2[p + 1]);
      p++;
    }
  }
  void sw(int l, int r) { swap(v1[l], v1[r]); }
};
int p[200500];
Botva bot[200500 / D + 33];
void sw(int l, int r) {
  int p1 = l / D;
  int p2 = r / D;
  int l1 = l % D;
  int r1 = r % D;
  if (p1 == p2) {
    bot[p1].sw(l1, r1);
  } else {
    bot[p1].set(l1, p[r]);
    bot[p2].set(r1, p[l]);
  }
  swap(p[l], p[r]);
}
int get(int l, int r, int x) {
  int ans = 0;
  if (r - l <= 3 * D) {
    for (int i = l; i <= r; i++) {
      if (p[i] < x) ans++;
    }
    return ans;
  }
  while (l % D) {
    if (p[l] < x) ans++;
    l++;
  }
  while ((r + 1) % D) {
    if (p[r] < x) ans++;
    r--;
  }
  int o1 = l / D;
  int o2 = r / D;
  for (int i = o1; i <= o2; i++) ans += bot[i].get(x);
  return ans;
}
int main() {
  cin >> n >> m;
  for (int i = 0; i < (n); i++) {
    p[i] = i;
    bot[i / D].add(i);
  }
  for (int i = 0; i < (m); i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    if (b < a) swap(a, b);
    a--;
    b--;
    if (a != b) {
      int k = b - a - 1;
      long long c1 = get(a + 1, b - 1, p[b]);
      ans += c1;
      ans -= (k - c1);
      c1 = get(a + 1, b - 1, p[a]);
      ans -= c1;
      ans += (k - c1);
      if (p[a] < p[b])
        ans++;
      else
        ans--;
      sw(a, b);
    }
    cout << ans << "\n";
  }
  return 0;
}
