「TAOI-2」喵了个喵 Ⅳ

题目背景

小 S 共有 $n$ 只可爱的喵喵,第 $i$ 只喵喵有可爱度 $a_i$。小 S 想要把他的喵喵分成两组。考虑到小 S 的喵喵不像某些喵喵有九条命,他的喵喵只有一条,于是一只喵喵不能被同时分到两组内(请不要试图想象这个画面)。同时,如果一只喵喵没有被分到任意一组,他就会十分生气,很有可能导致小 S 失眠。 当然,小 S 也希望两组的**组可爱度**相等。即存在一个正整数 $x$,使得其中一组的 $\gcd(x, a_i)$ 之和等于另一组的 $\gcd(x, a_i)$ 之和。请你判断是否可以使得小 S 可以将喵喵分成两组,并可以找出一个 $x$ 使得两组的**组可爱度**相等。

题目描述

给定正整数 $n$ 及长度为 $n$ 的正整数序列 $a$,请你将 $a$ 划分为两个集合 $B, C$ 并给出正整数 $x$,使得 $\sum_{y\in B}\gcd(x,y) = \sum_{y\in C}\gcd(x,y)$。如果无解,输出 $-1$。 你需要保证 $1 \leq x \leq 10^9$,保证在本题的数据约束下若有解则总有 $x \leq 10^9$ 的解。

输入输出格式

输入格式


第一行一个正整数 $n$。 接下来一行为 $n$ 个正整数,其中第 $i$ 个表示 $a_i$。

输出格式


如无解,仅输出一行一个整数 $-1$。否则: 第一行输出一个正整数 $x$。 第二行输出一个长度为 $n$ 的 $\tt 01$ 串,第 $i$ 个数为 $\tt 0$ 代表 $a_i$ 被划分到集合 $B$ 中,为 $\tt 1$ 代表 $a_i$ 被划分到集合 $C$ 中。

输入输出样例

输入样例 #1

3
1 1 1

输出样例 #1

-1

输入样例 #2

4
4 1 2 3

输出样例 #2

3
0001

说明

**本题采用捆绑测试。** + Subtask 0(2 pts):$n$ 为偶数。 + Subtask 1(8 pts):$a_i$ 均为奇数。 + Subtask 2(15 pts):$n \leq 50$,$a_i \leq 50$。 + Subtask 3(25 pts):$n \leq 10^3$,$a_i \leq 10^3$。 + Subtask 4(50 pts):无特殊限制。 对于所有数据,$1 \leq n \leq 10^5$,$1 \leq a_i \leq 10^6$。