D. Маленький Слоник и сломана сортировка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Маленький Слоник очень любит перестановки целых чисел от 1 до n. Но больше всего он любит их сортировать. Чтобы отсортировать перестановку Маленький Слоник несколько раз меняет некоторые элементы местами. В результате должна получиться перестановка 1, 2, 3, ..., n.

В этот раз у Маленького Слоника есть перестановка p1, p2, ..., pn. Его программа-сортировка должна выполнить ровно m шагов, на i-ом из которых она меняет местами элементы, расположенные в данный момент на ai-той и bi-той позициях. Так случилось, что программа-сортировка Маленького Слоника сломалась, и теперь на каждом шагу она равновероятно может либо не сделать ничего, либо поменять требуемые элементы местами.

Теперь Маленький Слоник даже не надеется, что программа отсортирует перестановку, но все-таки ему интересно, насколько близка будет полученная в результате выполнения программы перестановка к отсортированной. Для этого помогите Маленькому Слонику найти математическое ожидание количества инверсий перестановки после выполнения всех шагов программы.

Пару целых чисел i, j (1 ≤ i < j ≤ n) назовем инверсией в перестановке p1, p2, ..., pn, если выполняется неравенство pi > pj.

Входные данные

В первой строке заданы два целых числа n и m (1 ≤ n, m ≤ 1000, n > 1) — размер перестановки и количество шагов. Во второй строке заданы n различных целых положительных чисел, не превосходящих n — изначальная перестановка. В следующих m строках заданы по два целых числа: в i-той строке записаны числа ai и bi (1 ≤ ai, bi ≤ n, ai ≠ bi) — позиции меняемых на i-том шаге программы элементов.

Выходные данные

В единственной строке выведите одно действительное число — ответ на задачу. Ответ будет считать правильным, если его относительная или абсолютная погрешность не превосходит 10 - 6.

Примеры
Входные данные
2 1
1 2
1 2
Выходные данные
0.500000000
Входные данные
4 3
1 3 2 4
1 2
2 3
1 4
Выходные данные
3.000000000