# Unordered Swaps solution codeforces

## Unordered Swaps solution codeforces

Alice had a permutation pp of numbers from 11 to nn. Alice can swap a pair (x,y)(x,y) which means swapping elements at positions xx and yy in pp (i.e. swap pxpx and pypy). Alice recently learned her first sorting algorithm, so she decided to sort her permutation in the minimum number of swaps possible. She wrote down all the swaps in the order in which she performed them to sort the permutation on a piece of paper.

For example,

• [(2,3),(1,3)][(2,3),(1,3)] is a valid swap sequence by Alice for permutation p=[3,1,2]p=[3,1,2] whereas [(1,3),(2,3)][(1,3),(2,3)] is not because it doesn’t sort the permutation. Note that we cannot sort the permutation in less than 22 swaps.
• [(1,2),(2,3),(2,4),(2,3)][(1,2),(2,3),(2,4),(2,3)] cannot be a sequence of swaps by Alice for p=[2,1,4,3]p=[2,1,4,3] even if it sorts the permutation because pp can be sorted in 22 swaps, for example using the sequence [(4,3),(1,2)][(4,3),(1,2)].

Unfortunately, Bob shuffled the sequence of swaps written by Alice.

You are given Alice’s permutation pp and the swaps performed by Alice in arbitrary order. Can you restore the correct sequence of swaps that sorts the permutation pp? Since Alice wrote correct swaps before Bob shuffled them up, it is guaranteed that there exists some order of swaps that sorts the permutation.

Input

## Unordered Swaps solution codeforces

The first line contains 22 integers nn and mm (2n2105,1mn1)(2≤n≤2⋅105,1≤m≤n−1)  — the size of permutation and the minimum number of swaps required to sort the permutation.

The next line contains nn integers p1,p2,...,pnp1,p2,…,pn (1pin1≤pi≤n, all pipi are distinct)  — the elements of pp. It is guaranteed that pp forms a permutation.

Then mm lines follow. The ii-th of the next mm lines contains two integers xixi and yiyi  — the ii-th swap (xi,yi)(xi,yi).

It is guaranteed that it is possible to sort pp with these mm swaps and that there is no way to sort pp with less than mm swaps.

Output

Print a permutation of mm integers  — a valid order of swaps written by Alice that sorts the permutation pp. See sample explanation for better understanding.

In case of multiple possible answers, output any.

Examples
input
Copy

## Unordered Swaps solution codeforces

4 3
2 3 4 1
1 4
2 1
1 3

output
• Contestants ranked 1st will win a Apple HomePod mini
• Contestants ranked 2nd will win a Logitech G903 LIGHTSPEED Gaming Mouse
• Contestants ranked 3rd ~ 5th will win a LeetCode Backpack
• Contestants ranked 6th ~ 10th will win a LeetCode water bottle
• Contestants ranked 11th ~ 20th will win a LeetCode Big O Notebook

Copy

2 3 1

input
Copy
6 4
6 5 1 3 2 4
3 1
2 5
6 3
6 4

output
Copy
4 1 3 2

Note

In the first example, p=[2,3,4,1]p=[2,3,4,1]m=3m=3 and given swaps are [(1,4),(2,1),(1,3)][(1,4),(2,1),(1,3)].

There is only one correct order of swaps i.e [2,3,1][2,3,1].

1. First we perform the swap 22 from the input i.e (2,1)(2,1)pp becomes [3,2,4,1][3,2,4,1].
2. Then we perform the swap 33 from the input i.e (1,3)(1,3)pp becomes [4,2,3,1][4,2,3,1].
3. Finally we perform the swap 11 from the input i.e (1,4)(1,4) and pp becomes [1,2,3,4][1,2,3,4] which is sorted.

In the second example, p=[6,5,1,3,2,4]p=[6,5,1,3,2,4]m=4m=4 and the given swaps are [(3,1),(2,5),(6,3),(6,4)][(3,1),(2,5),(6,3),(6,4)].

One possible correct order of swaps is [4,2,1,3][4,2,1,3].

1. Perform the swap 44 from the input i.e (6,4)(6,4)pp becomes [6,5,1,4,2,3][6,5,1,4,2,3].
2. Perform the swap 22 from the input i.e (2,5)(2,5)pp becomes [6,2,1,4,5,3][6,2,1,4,5,3].
3. Perform the swap 11 from the input i.e (3,1)(3,1)pp becomes [1,2,6,4,5,3][1,2,6,4,5,3].
4. Perform the swap 33 from the input i.e (6,3)(6,3) and pp becomes [1,2,3,4,5,6][1,2,3,4,5,6] which is sorted.

There can be other possible answers such as [1,2,4,3][1,2,4,3].