Description
在一天下午老师给你布置了一个任务,让你去完成;老师给定一个由n个整数a1、a2、…、an和一个整数x组成的序列a。你对序列a进行排序(如果条件a1≤a2≤a3≤an成立,则视为排序)。要对序列进行排序,你可以执行以下操作任意次数(可能为零):选择整数i,使1≤i≤n且ai>x,并交换ai和x的值。
例如,如果a=[0,2,3,5,4],x=1,则执行以下操作序列可能:选择i=2(可能是因为a2>x),然后a=[0,1,3,5,4],x=2;选择i=3(可能是因为a3>x),然后a=[0,1,2,5,4],x=3;选择i=4(因为a4>x是可能的),然后a=[0,1,2,3,4],x=5。计算必须执行的最小操作数,对a进行排序;如果可以则输出最小操作数,否则输出 impossible.
Input
第一行包含一个整数t(1≤t≤100)表示有t组测试样例。
每组测试样例由两行组成。
第一行包含两个整数n和x(1≤n≤500,0≤x≤500)-序列中的元素数和x的初始值。
第二行包含n个整数a1,a2,…,an(0≤ai≤500)。输入中所有测试用例的n值之和不超过500。
Output
对于每个测试,如果可以则输出最小操作数,否则输出 impossible.
6
3 2
29 208 483
5 34
35 81 227 86 130
9 115
247 157 240 264 284 305 358 372 375
5 15
5 15 8 10 10
4 103
485 232 375 397
5 88
194 138 433 249 294