#include <bits/stdc++.h>
using namespace std;
const int oo = 1000000007;
int n, q, key, a[200010], b[200010], bk[200010], lt[200010], rt[200010];
long long inv;
void enter() {
  cin >> n >> q;
  key = trunc(sqrt(n));
  for (int i = 1, _key = n; i <= _key; ++i) {
    a[i] = b[i] = i;
    bk[i] = (i - 1) / key + 1;
    if (!lt[bk[i]]) lt[bk[i]] = i;
    rt[bk[i]] = i;
  }
}
void update(const int &i) {
  for (int j = lt[i], _key = rt[i]; j <= _key; ++j) b[j] = a[j];
  sort(b + lt[i], b + rt[i] + 1);
}
int get1(const int &x, const int &l, const int &r) {
  if (l > r) return 0;
  int res = 0;
  if (bk[l] == bk[r]) {
    for (int i = l, _key = r; i <= _key; ++i)
      if (a[i] > x) res++;
    return res;
  }
  for (int i = l, _key = rt[bk[l]]; i <= _key; ++i)
    if (a[i] > x) res++;
  for (int i = lt[bk[r]], _key = r; i <= _key; ++i)
    if (a[i] > x) res++;
  for (int i = bk[l] + 1, _key = bk[r] - 1; i <= _key; ++i)
    res += (b + rt[i]) - upper_bound(b + lt[i], b + rt[i] + 1, x) + 1;
  return res;
}
int get2(const int &x, const int &l, const int &r) {
  if (l > r) return 0;
  int res = 0;
  if (bk[l] == bk[r]) {
    for (int i = l, _key = r; i <= _key; ++i)
      if (a[i] < x) res++;
    return res;
  }
  for (int i = l, _key = rt[bk[l]]; i <= _key; ++i)
    if (a[i] < x) res++;
  for (int i = lt[bk[r]], _key = r; i <= _key; ++i)
    if (a[i] < x) res++;
  for (int i = bk[l] + 1, _key = bk[r] - 1; i <= _key; ++i)
    res += lower_bound(b + lt[i], b + rt[i] + 1, x) - (b + lt[i]);
  return res;
}
void query(const int &u, const int &v) {
  if (u == v) return;
  int au = a[u], av = a[v], cu = get2(au, u + 1, v - 1),
      cv = get1(av, u + 1, v - 1);
  inv -= cu + cv;
  inv += 2 * (v - u - 1) - cu - cv;
  if (au > av)
    inv--;
  else
    inv++;
  swap(a[u], a[v]);
  if (bk[u] == bk[v])
    update(bk[u]);
  else {
    update(bk[u]);
    update(bk[v]);
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  enter();
  for (int i = 1, _key = q; i <= _key; ++i) {
    int u, v;
    cin >> u >> v;
    if (u > v) swap(u, v);
    query(u, v);
    cout << inv << "\n";
  }
}
