Цикл точек
На плоскости задано n точек, пронумерованных от 1 до n. Они образуют ориентированный цикл 1 → 2 → ... → n → 1. Вам следует выполнить следующую операцию несколько раз: по номерам двух точек a и b следует вырезать часть цикла от точки a до точки b и вставить этот кусок обратно, но только в обратном порядке, так что вырезанный кусок вставляется в порядке от b до a. Найдите длину конечного цикла.
Входные данные
Первая строка содержит два числа n и m (3 ≤ n, m ≤ 100000). Следующие n строк содержат два числа x[i]
и y[i]
- координаты i-ой точки. Следующие m строк содержат два числа a[i]
и b[i]
- номера точек i-ой операции.
Выходные данные
Вывести длину финального цикла с двумя десятичными знаками.
Объяснение
Начальный цикл: 1 → 2 → 3 → 4 → 5 → 1
После первой операции: 1 → 5 → 3 → 4 → 2 → 1 (часть 5 → 1 → 2 заменяется на 2 → 1 → 5)
После второй операции: 1 → 2 → 4 → 3 → 5 → 1 (часть 5 → 3 → 4 → 2 заменяется на 2 → 4 → 3 → 5)
После третьей операции: 1 → 2 → 5 → 3 → 4 → 1