TopCoder

User's AC Ratio

100.0% (3/3)

Submission's AC Ratio

75.0% (6/8)

Tags

Description

球球是長頸鹿大學的校長,為了能夠讓他們的競賽成績打贏宿敵短頸鹿大學,他必須要好好分配學校的師資,讓學生們受到盡量好的教育。

長頸鹿大學總共有 $2^ {N + 1}$ 個教授,並且可以用一個數值來代表教授的能力值,也就是教學實力。為了了解每個教授的能力值,他請長頸鹿大學的 $N$ 個學生為每個教授評分,假設第 $i$ 個學生對於第 $j$ 個教授的評分為 $x_{i, j}$,那他會計算出第 $j$ 個教授的能力值為 $x_{1, j} \times x_{2, j} \times \ldots \times x_{N, j}$。然而學生們都是相當懶惰的,他們不想浪費時間回答無聊的問題,經由觀察發現,第 $i$ 位學生的回答可以用一個參數 $a_i$ 來表示,代表他給第 $j$ 位教授的評分為 $j - a_i$,意即:$x_{i, j} = j - a_i$。其中教授的編號是 $1$ $2^ {N + 1}$。

計算完每位教授的能力值後,球球想要將他們分成兩個組別,且兩個組別的教授能力值總和相同。然而要完全相同太難了,因此球球挑選了一個質數 $M$,只要兩個組別的能力值總和 $M$ 相同就好了。作為想要打敗短頸鹿大學的一份子,請你幫助球球完成分組,或告訴他不可能完成。

Input Format

輸入第一行有兩個整數 $N, M$。

第二行有 $N$ 個數字,其中第 $i$ 項為 $a_i$,意義皆與題目敘述相同。

  • $1 \leq N \leq 14$
  • $2 \leq M \leq 2 \times 10^ 9$
  • $M$ 為質數
  • $0 \leq a_i < M$

Output Format

若沒有分組的方法,請在第一行輸出 NO。否則請在第一行輸出 YES,並在第二行輸出 $2^ {N + 1}$ 個數字,且每一項都是 $1$ 或 $2$,代表第 $i$ 位教授會去的組別。

YESNO 可以用任意大小寫輸出。

Sample Input 1

2 3
1 2

Sample Output 1

YES
1 1 2 2 2 1 1 1

Sample Input 2

1 998244353
48763

Sample Output 2

YES
1 2 2 1

Hints

Problem Source

IOICamp 2023 Day1 pQ

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~48 無其他限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 524288 65536 1 2
1 1000 524288 65536 1 2
2 1000 524288 65536 2
3 1000 524288 65536 2
4 1000 524288 65536 2
5 1000 524288 65536 2
6 1000 524288 65536 2
7 1000 524288 65536 2
8 1000 524288 65536 2
9 1000 524288 65536 2
10 1000 524288 65536 2
11 1000 524288 65536 2
12 1000 524288 65536 2
13 1000 524288 65536 2
14 1000 524288 65536 2
15 1000 524288 65536 2
16 1000 524288 65536 2
17 1000 524288 65536 2
18 1000 524288 65536 2
19 1000 524288 65536 2
20 1000 524288 65536 2
21 1000 524288 65536 2
22 1000 524288 65536 2
23 1000 524288 65536 2
24 1000 524288 65536 2
25 1000 524288 65536 2
26 1000 524288 65536 2
27 1000 524288 65536 2
28 1000 524288 65536 2
29 1000 524288 65536 2
30 1000 524288 65536 2
31 1000 524288 65536 2
32 1000 524288 65536 2
33 1000 524288 65536 2
34 1000 524288 65536 2
35 1000 524288 65536 2
36 1000 524288 65536 2
37 1000 524288 65536 2
38 1000 524288 65536 2
39 1000 524288 65536 2
40 1000 524288 65536 2
41 1000 524288 65536 2
42 1000 524288 65536 2
43 1000 524288 65536 2
44 1000 524288 65536 2
45 1000 524288 65536 2
46 1000 524288 65536 2
47 1000 524288 65536 2
48 1000 524288 65536 2