#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define N 1020
int a[N];
double p[N][N];
int n, m;
int main() {
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; ++i) scanf("%d", &a[i]);
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
p[i][j] = a[i] > a[j]? 1: 0;
}
}
for(int i = 1; i <= m; ++i) {
int u, v;
scanf("%d%d", &u, &v);
for(int j = 1; j <= n; ++j) {
if(j == u || j == v) continue;
p[j][u] = p[j][v] = (p[j][u] + p[j][v]) / 2;
p[u][j] = p[v][j] = (p[u][j] + p[v][j]) / 2;
}
p[u][v] = p[v][u] = (p[u][v] + p[v][u]) / 2;
}
double ans = 0;
for(int i = 1; i <= n; ++i) {
for(int j = i + 1; j <= n; ++j)
ans += p[i][j];
}
printf("%.12lf\n", ans);
return 0;
}