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.
样例
4 5 9
2 3 4 5
YES
0 0 1 1
3 3 4
1 2 4
NO
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。