畀定正整數 $n, m > 0$,以及整數 $a_1, a_2, \dots, a_n \in \{-1, 0, 1, \dots, m - 1\}$。請構造一棵包含 $n$ 個頂點 $V = \{v_1, v_2, \dots, v_n\}$ 嘅樹 $T$,滿足以下條件:對於每個滿足 $a_i \ne -1$ 嘅頂點 $v_i$,佢嘅度數 $\deg_T(v_i)$ 除以 $m$ 嘅餘數必須等於 $a_i$。如果 $a_i = -1$,則對 $v_i$ 嘅度數冇任何限制。
輸入格式
輸入嘅第一行包含一個整數 $t$,代表測試用例嘅數量($1 \le t \le 5 \cdot 10^5$)。對於每個測試用例:
第一行包含兩個整數 $n$ 同 $m$,分別代表樹入面嘅頂點數同埋模數($1 \le n \le 5 \cdot 10^5$;$1 \le m \le 2 \cdot 10^9$)。
下一行包含 $n$ 個整數 $a_1, a_2, \dots, a_n$,代表要求嘅餘數($-1 \le a_i < m$)。
所有測試用例入面 $n$ 嘅總和唔超過 $5 \cdot 10^5$。
輸出格式
對於每個測試用例,如果存在噉樣一棵包含 $n$ 個頂點嘅樹,請輸出「YES」(大小寫不限),跟住輸出 $n - 1$ 行,每行包含兩個整數,代表每條邊嘅兩個端點。否則,請輸出「NO」(大小寫不限)。
範例
輸入
6 1 5 0 2 3 1 1 5 4 0 1 1 1 1 6 2 1 0 0 0 0 1 3 2 1 1 1 4 10 3 3 1 1
輸出
YES YES 1 2 YES 1 2 1 3 1 4 1 5 YES 1 2 2 3 3 4 4 5 5 6 NO NO
說明
喺第一個測試用例入面,我哋需要構造一棵有 $n = 1$ 個頂點、$m = 5$、而且度數餘數陣列為 $b = [0]$ 嘅樹。因為得一個頂點,所以唔會有邊,因此得唯一一棵可能嘅樹:一個度數為 $0$ 嘅單一頂點。由於 $0 \bmod 5 = 0$,符合要求,所以答案係「YES」。
喺第二個測試用例入面,我哋需要一棵有 $n = 2$ 個頂點、$m = 3$ 同埋餘數 $b = [1, 1]$ 嘅樹,即係兩個頂點嘅度數對模 $3$ 都同餘於 $1$。喺兩個頂點上面,得唯一一棵樹:單一條邊 $1-2$。佢嘅度數係 $(1, 1)$,而且確實 $1 \bmod 3 = 1$,所以答案係「YES」,輸出「1 2」係合法嘅。
喺第三個測試用例入面,我哋需要 $n = 5$、$m = 4$、餘數 $b = [0, 1, 1, 1, 1]$:第一個頂點嘅度數必須畀 $4$ 整除,而另外四個頂點嘅度數必須滿足 $\text{degree} \equiv 1 \pmod 4$。一個自然嘅構造係以頂點 $1$ 為中心嘅星形圖:將 $1$ 連接到其他每個頂點。噉樣 $\deg(1) = 4$ 且 $4 \bmod 4 = 0$,而 $2, 3, 4, 5$ 嘅度數都係 $1$ 且 $1 \bmod 4 = 1$。因此,答案係「YES」,邊「1 2」、「1 3」、「1 4」、「1 5」符合要求。
喺第四個測試用例入面,我哋需要一棵 $n = 6$、$m = 2$、餘數 $b = [1, 0, 0, 0, 0, 1]$ 嘅樹,即係兩個端點嘅度數必須係奇數,而中間四個頂點嘅度數必須係偶數。喺模 $2$ 之下,呢個純粹係奇偶性限制。簡單路徑 $1-2-3-4-5-6$ 完全符合:頂點 $1$ 同 $6$ 嘅度數係 $1$(奇數),而頂點 $2, 3, 4, 5$ 嘅度數係 $2$(偶數)。因此答案係「YES」,路徑上面嘅邊係正確嘅。
喺第五個測試用例入面,題目要求喺 $n = 3$、$m = 2$ 同埋 $b = [1, 1, 1]$ 嘅情況下構造一個圖(特別係一棵樹),所以每個頂點嘅度數都必須係奇數。呢個係唔可能嘅:喺任何無向圖入面,奇數度頂點嘅數量永遠係偶數,所以對於任何邊集都唔可能出現三個奇數度數。因此,判定結果係「NO」。
喺第六個測試用例入面,我哋有 $n = 4$、$m = 10$、$b = [3, 3, 1, 1]$。由於 $m > n - 1 = 3$,對 $10$ 取模嘅餘數就等於度數本身,所以我哋要求度數恰好為 $\deg = [3, 3, 1, 1]$。呢個迫使兩個頂點同所有其他頂點相鄰(喺 $4$ 個頂點嘅圖入面度數為 $3$),而當 $n > 2$ 嗰陣,任何噉樣嘅一對頂點必然會同任意第三個頂點一齊形成一個環。樹唔能夠包含環,所以判定結果亦都係「NO」.