开始 2020-04-11 13:00:00

517编程4月月赛

结束 2020-04-11 16:00:00
Contest is over.
当前 2020-07-04 01:23:16

A. 划分

描述

回文串,指从前往后和从后往前看都一样的字符串,这里我我们定义长度为 $1$ 的字符串也是回文串。

给定一个字符串 $S$ 根据标题 你现在要把它划分成一些连续段。

我们称一个划分是好的 当且仅当每一段都不是一个回文串。

现在要求你求出最多能划分成多少段。如果无解 输出 $-1$。为了降低题目难度 你需要输出方案。

输入

一行一个字符串,表示 $S$

输出

第一行一个整数 $n$,表示答案。

接下来 $n$ 行,每行一个字符串,表示你的划分方案。

样例

输入

abbaca

输出

3
ab
ba
ca

输入

abbab

输出

2
abb
ab

输入

ababa

输出

-1

提示

本题采用捆绑测试。

Subtask1(1分):$|S| = 3$

Subtask2(19分):$|S| \leq 20$

Subtask3(30分):$|S| \leq 2000$

Subtask5(50分): $|S| \leq 2\times 10^5$

时间限制 1 秒
内存限制 512 MB