#include <bits/stdc++.h>
using namespace std;
long long inversion;
vector<int> box[2002], boxhave[2005];
int n, Q, boxsize, boxcnt;
void query(int Lbox, int Rbox, int L, int R, int Lnum, int Rnum) {
  long long change = 0;
  int mini = min(Lnum, Rnum);
  int maxi = max(Lnum, Rnum);
  for (int i = Lbox + 1; i < Rbox; i++) {
    int id = lower_bound(boxhave[i].begin(), boxhave[i].end(), maxi) -
             boxhave[i].begin();
    int id2 = lower_bound(boxhave[i].begin(), boxhave[i].end(), mini) -
              boxhave[i].begin();
    change += (id - id2);
  }
  L -= Lbox * boxsize;
  R -= Rbox * boxsize;
  int lim = min(boxsize, R);
  if (Lbox != Rbox) lim = boxsize;
  for (int i = L + 1; i < lim; i++) {
    if (mini < box[Lbox][i] && box[Lbox][i] < maxi) ++change;
  }
  if (Lbox != Rbox) {
    for (int i = 0; i < R; i++) {
      if (mini < box[Rbox][i] && box[Rbox][i] < maxi) ++change;
    }
  }
  box[Lbox][L] = Rnum;
  box[Rbox][R] = Lnum;
  for (int i = 0; i < boxsize; i++)
    if (boxhave[Lbox][i] == Lnum) {
      boxhave[Lbox].erase(boxhave[Lbox].begin() + i);
      boxhave[Lbox].push_back(Rnum);
      sort(boxhave[Lbox].begin(), boxhave[Lbox].end());
      break;
    }
  for (int i = 0; i < boxsize; i++)
    if (boxhave[Rbox][i] == Rnum) {
      boxhave[Rbox].erase(boxhave[Rbox].begin() + i);
      boxhave[Rbox].push_back(Lnum);
      sort(boxhave[Rbox].begin(), boxhave[Rbox].end());
      break;
    }
  change = change * (long long)2 + 1;
  if (Lnum < Rnum)
    inversion += change;
  else if (Lnum > Rnum)
    inversion -= change;
}
int arr[200002];
int main() {
  scanf("%d %d", &n, &Q);
  for (int i = 0; i < n; i++) arr[i] = i + 1;
  boxsize = (int)sqrt(n);
  boxcnt = boxsize;
  if (boxsize * boxsize != n) {
    ++boxcnt;
  }
  int num = 0;
  for (int i = 0; i <= boxcnt; i++) {
    for (int j = 0; j < boxsize; j++) {
      ++num;
      box[i].push_back(num);
      boxhave[i].push_back(num);
    }
  }
  for (int a, b, i = 1; i <= Q; i++) {
    scanf("%d %d", &a, &b);
    --a;
    --b;
    if (a > b) swap(a, b);
    int aboxnum = a / boxsize;
    int bboxnum = b / boxsize;
    query(aboxnum, bboxnum, a, b, arr[a], arr[b]);
    swap(arr[a], arr[b]);
    cout << inversion << endl;
  }
}
