Обмін#5216

Обмін

2 секунди
64 мегабайти
Легка

Спочатку всі натуральні числа розташовані у списку у звичайному порядку (тобто 1, 2, 3, \dots).

Дозволяється виконувати наступну операцію: swap(, ). Ця операція обчислює відстань між числами та у поточному списку (тобто кількість елементів між ними, включаючи кінці), після чого міняє їх місцями. Відстань повертається як результат операції.

Вам задано послідовність операцій swap. Для кожної операції виведіть результат.

Вхідні дані

Перший рядок містить ціле число (1 \leq n \leq 200{,}000) — кількість операцій.

Кожен з наступних рядків містить два цілі числа і (1 \leq a, b \leq 10^9) — аргументи операцій swap.

Вихідні дані

Для кожної операції виведіть її результат в окремому рядку.

Приклади

Приклад 1

Loading
Loading