Codeforces Round 153 (Div. 1)
D
Two Sets
Codeforces
2700
原题
← CE →
翻译中…

Little Petya likes numbers a lot. Recently his mother has presented him a collection of $*n*$ non-negative integers. There's only one thing Petya likes more than numbers: playing with little Masha. He immediately decided to give a part of his new collection to her. To make the game even more interesting, Petya decided to give Masha such collection of numbers for which the following conditions fulfill:

翻译中…
  • Let's introduce $*x*_{1}$ to denote the $*xor*$ of all numbers Petya has got left; and let's introduce $*x*_{2}$ to denote the $*xor*$ of all numbers he gave to Masha. Value $(*x*_{1} + *x*_{2})$ must be as large as possible.
  • If there are multiple ways to divide the collection so that the previous condition fulfilled, then Petya minimizes the value $*x*_{1}$.
翻译中…

The $*xor*$ operation is a bitwise excluding "OR", that is denoted as "xor" in the Pascal language and "^" in C/C++/Java.

翻译中…

Help Petya divide the collection as described above. If there are multiple suitable ways to divide it, find any of them. Please note that after Petya gives a part of his numbers to Masha, he may have no numbers left. The reverse situation is also possible, when Petya gives nothing to Masha. In both cases we must assume that the $*xor*$ of an empty set of numbers equals 0.

翻译中…

Input

翻译中…

The first line contains integer $*n*$ ($1 ≤ *n* ≤ 10^{5}$), showing how many numbers Petya's mother gave him. The second line contains the actual space-separated numbers. They are all integer, non-negative and do not exceed $10^{18}$.

翻译中…

Output

翻译中…

Print $*n*$ space-separated integers, the $*i*$-th of them should equal either 1, if Petya keeps the number that follows $*i*$-th in his collection, or it should equal 2, if Petya gives the corresponding number to Masha. The numbers are indexed in the order in which they are given in the input.

翻译中…

样例

Input #1
6
1 2 3 4 5 6
Output #1
2 2 2 2 2 2
InputCopy OutputCopy
Input #2
3
1000000000000 1000000000000 1000000000000
Output #2
2 2 2
InputCopy OutputCopy
Input #3
8
1 1 2 2 3 3 4 4
Output #3
1 2 1 2 2 2 1 2
InputCopy OutputCopy
题目信息
题号
251D
时间限制
2 s
内存限制
256 MB
标签
位运算
数学

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