K. I. 先生拥有一个非常庞大的电影收藏。他将这些电影整理成了一个巨大的堆栈。每当他想看某部电影时,他会在堆栈中找到这部电影并小心地将其取出,以确保堆栈不会倒塌。看完电影后,他会将这部电影放回堆栈的最顶端。
由于电影堆栈非常大,他需要跟踪每部电影的位置。对于每部电影,只需知道它上方放置了多少部电影,就可以计算出它在堆栈中的位置。每部电影都由印在电影盒上的编号来标识。
你的任务是实现一个程序来跟踪每部电影的位置。具体来说,每当 K. I. 先生从堆栈中取出一个电影盒时,你的程序应该输出在该电影盒被取出之前,其上方放置的电影数量。
输入格式
第一行包含一个正整数:测试用例的数量,最多为 100。每个测试用例包含:
- 一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 100\,000$):堆栈中电影的数量和查找请求的数量。
- 一行包含 $m$ 个整数 $a_1, \dots, a_m$ ($1 \le a_i \le n$),表示 K. I. 先生想要观看的电影的编号。
为简化起见,假设初始堆栈包含编号为 $1, 2, \dots, n$ 的电影,按递增顺序排列,其中标签为 1 的电影盒位于最顶端。
输出格式
对于每个测试用例:
- 一行包含 $m$ 个整数,其中第 $i$ 个整数表示在标签为 $a_i$ 的电影盒被从堆栈中取出之前,其上方电影盒的数量。
注意,在每次查找请求 $a_i$ 之后,标签为 $a_i$ 的电影盒会被放置在堆栈的最顶端。
样例
输入 1
2 3 3 3 1 1 5 3 4 4 5
输出 1
2 1 0 3 0 4