Дві перестановки кульок
Limits: 2 sec., 256 MiB
Зеник любить грати з різнокольоровими кульками.
В нього є 2 рядки кульок. В кожному рядку по nn кульок, на яких написано числа між 1 та nn так, що числа у кожному рядку утворюють перестановку. В першому рядку всі кульки сині, в другому жовті.
За 1 хід можна вибрати одну кульку в першому рядку, одну кульку в другому рядку та поміняти їх місцями. Допоможіть Зенику за не більше ніж n+1n+1 хід отримати ситуацію в якій:
в першому рядку всі кульки сині
в другому рядку всі кульки жовті
перестановки на кульках в першому і другому рядку однакові
Input
В першому рядку задано одне ціле число nn — кількість кульок в кожному з рядків.
У другому рядку задано nn натуральних чисел p1,p2,…,pnp1,p2,…,pn — перестановка синіх кульок.
У третьому рядку задано nn натуральних чисел q1,q2,…,qnq1,q2,…,qn — перестановка жовтих кульок.
Output
В першому рядку виведіть одне число kk — кількість ходів, яку ви хочете зробити. В кожному з наступних kk рядків виведіть два числа aiai та bibi, які означатимуть зміну місцями кульки на позиції aiai в першому рядку і кульки на позиції bibi в другому рядку. kk не повинно перевищувати n+1n+1.
Гарантується, що при заданих обмеженнях відповідь завжди існує. Якщо існує декілька можливих послідовностей ходів, виведіть будь-яку.
Constraints
1≤n≤2⋅1051≤n≤2⋅105,
1≤pi,qi≤n1≤pi,qi≤n,
Масиви [p1,p2,…,pn][p1,p2,…,pn] і [q1,q2,…,qn][q1,q2,…,qn] є перестановками.
Samples
Input (stdin) | Output (stdout) |
---|---|
6 2 3 4 1 6 5 6 3 1 2 4 5 | 7 3 4 5 4 4 4 3 4 1 1 1 4 1 1 |
Notes
Пояснення до прикладу (символи +
та -
відповідають синім та жовтим кулькам):
Вхідні перестановки: [2+3+4+1+6+5+][2+3+4+1+6+5+] та [6−3−1−2−4−5−][6−3−1−2−4−5−];
Хід 1 a1=3,b1=4a1=3,b1=4: [2+3+2−1+6+5+][2+3+2−1+6+5+] та [6−3−1−4+4−5−][6−3−1−4+4−5−];
Хід 2 a2=5,b2=4a2=5,b2=4: [2+3+2−1+4+5+][2+3+2−1+4+5+] та [6−3−1−6+4−5−][6−3−1−6+4−5−];
Хід 3 a3=4,b3=4a3=4,b3=4: [2+3+2−6+4+5+][2+3+2−6+4+5+] та [6−3−1−1+4−5−][6−3−1−1+4−5−];
Хід 4 a4=3,b4=4a4=3,b4=4: [2+3+1+6+4+5+][2+3+1+6+4+5+] та [6−3−1−2−4−5−][6−3−1−2−4−5−];
Хід 5 a5=1,b5=1a5=1,b5=1: [6−3+1+6+4+5+][6−3+1+6+4+5+] та [2+3−1−2−4−5−][2+3−1−2−4−5−];
Хід 6 a6=1,b6=4a6=1,b6=4: [2−3+1+6+4+5+][2−3+1+6+4+5+] та [2+3−1−6−4−5−][2+3−1−6−4−5−];
Хід 7 a7=1,b7=1a7=1,b7=1: [2+3+1+6+4+5+][2+3+1+6+4+5+] та [2−3−1−6−4−5−][2−3−1−6−4−5−].