#include <iostream>
using namespace std;
int main() {
int n,m;
cin>>n>>m;
int a[n];
int indices[n+1];
for(int i=0;i<n;i++)
{
cin>>a[i];
indices[a[i]]=i;
}
int ans=1;
for(int j=1;j<n;j++)
{
if(indices[j] > indices[j+1])
{
ans++;
}
}
for(int i=0;i<m;i++)
{
int x,y;
cin>>x>>y;
if(x < y)
{
if(a[x-1] > a[y-1])
{
ans--;
}
else
{
ans++;
}
}
else
{
if(a[x-1] > a[y-1])
{
ans++;
}
else
{
ans--;
}
}
int temp = a[x-1];
a[x-1] = a[y-1];
a[y-1] = temp;
temp = indices[a[x-1]];
indices[a[x-1]] = indices[a[y-1]];
indices[a[y-1]] = temp;
cout<<ans<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgoJaW50IG4sbTsKCWNpbj4+bj4+bTsKCglpbnQgYVtuXTsKCWludCBpbmRpY2VzW24rMV07Cglmb3IoaW50IGk9MDtpPG47aSsrKQoJewoJCWNpbj4+YVtpXTsKCQlpbmRpY2VzW2FbaV1dPWk7Cgl9CgkKCWludCBhbnM9MTsKCWZvcihpbnQgaj0xO2o8bjtqKyspCgl7CgkJaWYoaW5kaWNlc1tqXSA+IGluZGljZXNbaisxXSkKCQl7CgkJCWFucysrOwoJCX0KCX0KCQkKCQoJZm9yKGludCBpPTA7aTxtO2krKykKCXsKCQlpbnQgeCx5OwoJCWNpbj4+eD4+eTsKCQkJCgkJaWYoeCA8IHkpCgkJewoJCQlpZihhW3gtMV0gPiBhW3ktMV0pCgkJCXsKCQkJCWFucy0tOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJYW5zKys7CgkJCX0KCQl9CgkJZWxzZQoJCXsKCQkJaWYoYVt4LTFdID4gYVt5LTFdKQoJCQl7CgkJCQlhbnMrKzsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCWFucy0tOwoJCQl9CgkJfQoJCWludCB0ZW1wID0gYVt4LTFdOwoJCWFbeC0xXSA9IGFbeS0xXTsKCQlhW3ktMV0gPSB0ZW1wOwoJCQoJCXRlbXAgPSBpbmRpY2VzW2FbeC0xXV07IAoJCWluZGljZXNbYVt4LTFdXSA9IGluZGljZXNbYVt5LTFdXTsKCQlpbmRpY2VzW2FbeS0xXV0gPSB0ZW1wOwoJCQoJCWNvdXQ8PGFuczw8ZW5kbDsKCQkKCX0KCQoJCgoJcmV0dXJuIDA7Cn0=