- Time limit: 1.00 s
- Memory limit: 512 MB
You are given an array that contains each number between exactly once. Your task is to collect the numbers from to in increasing order.
On each round, you go through the array from left to right and collect as many numbers as possible.
Given operations that swap two numbers in the array, your task is to report the number of rounds after each operation.
Input
The first line has two integers and : the array size and the number of operations.
The next line has integers : the numbers in the array.
Finally, there are lines that describe the operations. Each line has two integers and : the numbers at positions and are swapped.
Output
Print integers: the number of rounds after each swap.
Constraints
Example
Input:
5 3 4 2 1 5 3 2 3 1 5 2 3
Output:
2 3 4