Codeforces Round 572 (Div. 2)
A
Keanu Reeves
Codeforces
800
原题
←B →
翻译中…

After playing Neo in the legendary "Matrix" trilogy, Keanu Reeves started doubting himself: maybe we really live in virtual reality? To find if this is true, he needs to solve the following problem.

翻译中…

Let's call a string consisting of only zeroes and ones good if it contains different numbers of zeroes and ones. For example, 1, 101, 0000 are good, while 01, 1001, and 111000 are not good.

翻译中…

We are given a string $s$ of length $n$ consisting of only zeroes and ones. We need to cut $s$ into minimal possible number of substrings $s_1, s_2, \ldots, s_k$ such that all of them are good. More formally, we have to find minimal by number of strings sequence of good strings $s_1, s_2, \ldots, s_k$ such that their concatenation (joining) equals $s$, i.e. $s_1 + s_2 + \dots + s_k = s$.

翻译中…

For example, cuttings 110010 into 110 and 010 or into 11 and 0010 are valid, as 110, 010, 11, 0010 are all good, and we can't cut 110010 to the smaller number of substrings as 110010 isn't good itself. At the same time, cutting of 110010 into 1100 and 10 isn't valid as both strings aren't good. Also, cutting of 110010 into 1, 1, 0010 isn't valid, as it isn't minimal, even though all $3$ strings are good.

翻译中…

Can you help Keanu? We can show that the solution always exists. If there are multiple optimal answers, print any.

翻译中…

Input

翻译中…

The first line of the input contains a single integer $n$ ($1\le n \le 100$) — the length of the string $s$.

翻译中…

The second line contains the string $s$ of length $n$ consisting only from zeros and ones.

翻译中…

Output

翻译中…

In the first line, output a single integer $k$ ($1\le k$) — a minimal number of strings you have cut $s$ into.

翻译中…

In the second line, output $k$ strings $s_1, s_2, \ldots, s_k$ separated with spaces. The length of each string has to be positive. Their concatenation has to be equal to $s$ and all of them have to be good.

翻译中…

If there are multiple answers, print any.

翻译中…

Note

翻译中…

In the first example, the string 1 wasn't cut at all. As it is good, the condition is satisfied.

翻译中…

In the second example, 1 and 0 both are good. As 10 isn't good, the answer is indeed minimal.

翻译中…

In the third example, 100 and 011 both are good. As 100011 isn't good, the answer is indeed minimal.

翻译中…

样例

Input #1
1
1
Output #1
1
1
InputCopy OutputCopy
Input #2
2
10
Output #2
2
1 0
InputCopy OutputCopy
Input #3
6
100011
Output #3
2
100 011
InputCopy OutputCopy
题目信息
题号
1189A
时间限制
1 s
内存限制
256 MB
标签
字符串

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