#include <iostream>
#include <vector>
using namespace std;
int brojPodela(const vector<int>& P, int N) {
int podele = 1;
for (int i = 1; i < N; i++) {
if (P[i] < P[i - 1]) {
podele++;
}
}
return podele - 1;
}
int main() {
int N, Q;
cin >> N >> Q;
vector<int> P(N);
for (int i = 0; i < N; i++) {
cin >> P[i];
}
cout << brojPodela(P, N) << endl;
for (int q = 0; q < Q; q++) {
int i, j;
cin >> i >> j;
swap(P[i - 1], P[j - 1]);
cout << brojPodela(P, N) << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBicm9qUG9kZWxhKGNvbnN0IHZlY3RvcjxpbnQ+JiBQLCBpbnQgTikgewogICAgaW50IHBvZGVsZSA9IDE7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IE47IGkrKykgewogICAgICAgIGlmIChQW2ldIDwgUFtpIC0gMV0pIHsKICAgICAgICAgICAgcG9kZWxlKys7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHBvZGVsZSAtIDE7IAp9CgppbnQgbWFpbigpIHsKICAgIGludCBOLCBROwogICAgY2luID4+IE4gPj4gUTsKICAgIHZlY3RvcjxpbnQ+IFAoTik7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBjaW4gPj4gUFtpXTsKICAgIH0KCiAgICBjb3V0IDw8IGJyb2pQb2RlbGEoUCwgTikgPDwgZW5kbDsKCiAgICBmb3IgKGludCBxID0gMDsgcSA8IFE7IHErKykgewogICAgICAgIGludCBpLCBqOwogICAgICAgIGNpbiA+PiBpID4+IGo7CiAgICAgICAgc3dhcChQW2kgLSAxXSwgUFtqIC0gMV0pOyAKCiAgICAgICAgY291dCA8PCBicm9qUG9kZWxhKFAsIE4pIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=