Codeforces Round 268 (Div. 2)
D
Two Sets
Codeforces
未评级
原题
← CE →
翻译中…

Little X has $*n*$ distinct integers: $*p*_{1}, *p*_{2}, ..., *p*_{*n*}$. He wants to divide all of them into two sets $*A*$ and $*B*$. The following two conditions must be satisfied:

翻译中…
  • If number $*x*$ belongs to set $*A*$, then number $*a* - *x*$ must also belong to set $*A*$.
  • If number $*x*$ belongs to set $*B*$, then number $*b* - *x*$ must also belong to set $*B*$.
翻译中…

Help Little X divide the numbers into two sets or determine that it's impossible.

翻译中…

Input

翻译中…

The first line contains three space-separated integers $*n*, *a*, *b*$ $(1 ≤ *n* ≤ 10^{5}; 1 ≤ *a*, *b* ≤ 10^{9})$. The next line contains $*n*$ space-separated distinct integers $*p*_{1}, *p*_{2}, ..., *p*_{*n*} (1 ≤ *p*_{*i*} ≤ 10^{9})$.

翻译中…

Output

翻译中…

If there is a way to divide the numbers into two sets, then print "YES" in the first line. Then print $*n*$ integers: $*b*_{1}, *b*_{2}, ..., *b*_{*n*}$ ($*b*_{*i*}$ equals either $0$, or $1$), describing the division. If $*b*_{*i*}$ equals to $0$, then $*p*_{*i*}$ belongs to set $*A*$, otherwise it belongs to set $*B*$.

翻译中…

If it's impossible, print "NO" (without the quotes).

翻译中…

Note

翻译中…

It's OK if all the numbers are in the same set, and the other one is empty.

翻译中…

样例

Input #1
4 5 9
2 3 4 5
Output #1
YES
0 0 1 1
InputCopy OutputCopy
Input #2
3 3 4
1 2 4
Output #2
NO
InputCopy OutputCopy
题目信息
题号
469D
时间限制
1 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。