Swap and Sort

AtCoder
IDabc233_f
Time2000ms
Memory256MB
Difficulty
We have a permutation $P=(P_1,P_2,\ldots,P_N)$ of $(1,2,\ldots,N)$. There are $M$ kinds of operations available to you. Operation $i$ swaps the $a_i$\-th and $b_i$\-th elements of $P$. Is it possible to sort $P$ in ascending order by doing at most $5\times 10^5$ operations in total in any order? If it is possible, give one such sequence of operations. Otherwise, report so. ## Constraints * $2\leq N \leq 1000$ * $P$ is a permutation of $(1,2,\ldots,N)$. * $1\leq M \leq \min(2\times 10^5, \frac{N(N-1)}{2})$ * $1\leq a_i \lt b_i\leq N$ * $(a_i,b_i)\neq (a_j,b_j)$ if $i\neq j$. * All values in input are integers. ## Input Input is given from Standard Input in the following format: $N$ $P_1$ $P_2$ $\ldots$ $P_N$ $M$ $a_1$ $b_1$ $a_2$ $b_2$ $\vdots$ $a_M$ $b_M$ [samples]
Samples
Input #1
6
5 3 2 4 6 1
4
1 5
5 6
1 2
2 3
Output #1
3
4 2 1

$P$ changes as follows: $(5,3,2,4,6,1)\to (5,2,3,4,6,1)\to (5,2,3,4,1,6)\to (1,2,3,4,5,6)$.
Input #2
5
3 4 1 2 5
2
1 3
2 5
Output #2
\-1

We cannot sort $P$ in ascending order.
Input #3
4
1 2 3 4
6
1 2
1 3
1 4
2 3
2 4
3 4
Output #3
0

$P$ may already be sorted in ascending order.
Additionally, here is another accepted output:

4
5 5 5 5

Note that it is not required to minimize the number of operations.
API Response (JSON)
{
  "problem": {
    "name": "Swap and Sort",
    "description": {
      "content": "We have a permutation $P=(P_1,P_2,\\ldots,P_N)$ of $(1,2,\\ldots,N)$. There are $M$ kinds of operations available to you. Operation $i$ swaps the $a_i$\\-th and $b_i$\\-th elements of $P$. Is it possible ",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc233_f"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "We have a permutation $P=(P_1,P_2,\\ldots,P_N)$ of $(1,2,\\ldots,N)$.\nThere are $M$ kinds of operations available to you. Operation $i$ swaps the $a_i$\\-th and $b_i$\\-th elements of $P$.\nIs it possible ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments