TopCoder

User's AC Ratio

66.7% (2/3)

Submission's AC Ratio

50.0% (2/4)

Tags

Description

Dawid 最喜歡做的事情就是打麻將了!但是剛好他今天手邊沒有麻將,所以他只好在紙上用一些整數來代替麻將。Dawid 定義一個多重整數集 $M$ 為「麻將數組」必須符合以下條件:

  • $M$ 恰包含 $14$ 個數字
  • 沒有任何數字在 $M$ 裡出現超過 $4$ 次
  • 可以將 $M$ 裡的數字重排成 $m_1,m_2,\ldots,m_{14}$ 滿足
    • $m_{13}=m_{14}$
    • $m_{1}=m_{2}=m_{3}$ 或是 $m_{1},m_{2},m_{3}$ 是三個連續的整數
    • $m_{4}=m_{5}=m_{6}$ 或是 $m_{4},m_{5},m_{6}$ 是三個連續的整數
    • $m_{7}=m_{8}=m_{9}$ 或是 $m_{7},m_{8},m_{9}$ 是三個連續的整數
    • $m_{10}=m_{11}=m_{12}$ 或是 $m_{10},m_{11},m_{12}$ 是三個連續的整數

而他突然好奇一件事情,存不存在一個多重集 $A$ 使得 $A$ 不是「麻將數組」但是將 $A$ 的任意一個元素拿掉之後,都還可以再找到一個整數使得加入之後變成麻將數組呢?
然後他覺得這個問題太簡單了,他決定給 $A$ 一些限制,他會給出 $N$ 個兩兩相異的整數 $a_1,a_2,\ldots,a_N$,他想要讓構造出的 $A$ 裡面只包含這些數字。
Dawid 會向你提出 $T$ 次這種類型的詢問,對於每個詢問請你幫助他構造出一種 $A$,或是跟他說不可能達成。

Input Format

第一行有一個正整數 $T$,代表 Dawid 詢問的次數
接下來的每個詢問都包含兩行,第一行有一個正整數 $N$,代表 $S$ 的集合大小
第二行有 $N$ 個數字 $a_1,a_2,\ldots,a_N$,代表 $S$ 裡的元素

保證:

  • $1\leq T\leq 500000$
  • $1\leq N\leq 100000$
  • $-10^ 9\leq a_i\leq 10^ 9$,並且同一個詢問裡的 $a_i$ 兩兩相異
  • 所有 $N$ 的總和不超過 $500000$

Output Format

對於每一筆詢問,如果答案不存在,則輸出一行 NO;否則輸出 YES 並在下一行輸出 14 個數字代表滿足題意的一個答案,如果有很多種答案是合法的輸出任意一種都算正確

Sample Input 1

2
1
114514
7
-3 -2 -1 0 1 2 3

Sample Output 1

NO
YES
-3 -2 -3 -2 -3 -2 -3 -2 0 0 0 1 1 1

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0 範例測資 0
2 0~18 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1 2
1 1000 262144 65536 2
2 1000 262144 65536 2
3 1000 262144 65536 2
4 1000 262144 65536 2
5 1000 262144 65536 2
6 1000 262144 65536 2
7 1000 262144 65536 2
8 1000 262144 65536 2
9 1000 262144 65536 2
10 1000 262144 65536 2
11 1000 262144 65536 2
12 1000 262144 65536 2
13 1000 262144 65536 2
14 1000 262144 65536 2
15 1000 262144 65536 2
16 1000 262144 65536 2
17 1000 262144 65536 2
18 1000 262144 65536 2