#P7774. Total Eclipse

Total Eclipse

Description

Byteland 有 nn 座城市和 mm 条双向道路。这些城市编号为 1,2,,n1, 2, \dots, n,第 ii 座城市的亮度为 bib_i

魔法师 Sunset 想跟 Byteland 开个玩笑:制造一场日全食,让每座城市的亮度都变为零。Sunset 可以进行任意次如下操作:

  • 选择一个整数 kk1kn1 \leq k \leq n)。
  • 选择 kk 座互不相同的城市 c1,c2,,ckc_1, c_2, \dots, c_k1cin1 \leq c_i \leq n),使得它们两两连通。换句话说,对于任意一对不同的被选城市 cic_icjc_j1i<jk1 \leq i < j \leq k),如果你位于城市 cic_i,你可以在不经过 {c1,c2,,ck}\{c_1, c_2, \dots, c_k\} 之外任何城市的情况下到达城市 cjc_j
  • 对于每座被选中的城市 cic_i1ik1 \leq i \leq k),将 bcib_{c_i}11

注意,Sunset 每次都会选择能取到的最大可能kk。现在 Sunset 想知道他最少需要进行多少次操作,请编写程序帮助他。

Format

Input

输入的第一行包含一个整数 TT1T101 \leq T \leq 10),表示测试数据的组数。

对于每组测试数据,第一行包含两个整数 nnmm1n1000001 \leq n \leq 100\,0001m2000001 \leq m \leq 200\,000),分别表示城市的数量和道路的数量。

第二行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n1bi1091 \leq b_i \leq 10^9),表示每座城市的亮度。

接下来 mm 行,每行包含两个整数 uiu_iviv_i1ui,vin1 \leq u_i, v_i \leq nuiviu_i \neq v_i),表示第 uiu_i 座城市和第 viv_i 座城市之间的一条双向道路。注意同一对城市之间可能有多条道路。

Output

对于每组测试数据,输出一行一个整数,表示最少操作次数。

Samples

1
3 2
3 2 3
1 2
2 3
4

Source

2020 Multi-University Training Contest 2