Equals
Problem Statement
We have a permutation of the integers from 1 through N, p1, p2, .., pN.
We also have M pairs of two integers between 1 and N (inclusive), represented as (x1,y1), (x2,y2), .., (xM,yM).
AtCoDeer the deer is going to perform the following operation on p as many times as desired so that the number of i (1 ≤ i ≤ N) such that pi = i is maximized:
- Choose j such that 1 ≤ j ≤ M, and swap pxj and pyj.
Find the maximum possible number of i such that pi = i after operations.
Constraints
- 2 ≤ N ≤ 105
- 1 ≤ M ≤ 105
- p is a permutation of integers from 1 through N.
- 1 ≤ xj,yj ≤ N
- xj ≠ yj
- If i ≠ j, {xi,yi} ≠ {xj,yj}.
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N M
p1 p2 .. pN
x1 y1
x2 y2
:
xM yM
Output
Print the maximum possible number of i such that pi = i after operations.
Sample Input 1
5 2
5 3 1 4 2
1 3
5 4
Sample Output 1
2
If we perform the operation by choosing j=1, p becomes 1 3 5 4 2
, which is optimal, so the answer is 2.
Sample Input 2
3 2
3 2 1
1 2
2 3
Sample Output 2
3
If we perform the operation by, for example, choosing j=1, j=2, j=1 in this order, p becomes 1 2 3
, which is obviously optimal.
Note that we may choose the same j any number of times.
Sample Input 3
10 8
5 3 6 8 7 10 9 1 2 4
3 1
4 1
5 9
2 5
6 5
3 5
8 9
7 9
Sample Output 3
8
Sample Input 4
5 1
1 2 3 4 5
1 5
Sample Output 4
5
We do not have to perform the operation.