CSES - Shared codeLink to this code: https://cses.fi/paste/35dfd8c7a3b20e5772be8a/
// not mine
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define dbg(x) cout << #x << " = " << x << "\n";
#define all(x) (x).begin(), (x).end()
#define ff first
#define ss second
#define srt(s) sort(all(s))
#define S size()
#define f(i, m, n) for (ll i = m; i < n; i++)

void solve()
{
    ll A, B;
    cin >> A >> B;
    ll m[200005], n[200005];
    f(i, 0, A)
    {
        ll k;
        cin >> k;
        m[i+1]=k;n[k]=i+1;
    }
    ll ans=1;f(i,1,A)if(n[i]>n[i+1])ans++;
    f(i, 0, B)
    {
        ll x, y;
        cin >> x >> y;
        ll a=m[x],b=m[y];

        if(a>1 and n[a]<n[a-1])ans--;
        if(a<A and n[a+1]<n[a])ans--;
        if(b>1)if(b-1!=a)if(n[b]<n[b-1])ans--;
        if(b<A)if(b+1!=a)if(n[b+1]<n[b])ans--;
        swap(m[x],m[y]);swap(n[a],n[b]);
        if(a>1)if(n[a]<n[a-1])ans++;
        if(a<A)if(n[a+1]<n[a])ans++;
        if(b>1)if(b-1!=a)if(n[b]<n[b-1])ans++;
        if(b<A)if(b+1!=a)if(n[b+1]<n[b])ans++;

        cout<<ans<<endl;
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    ll t = 1;
    while (t--)
        solve();
    return 0;
}