Problem E: 分糖果

Problem E: 分糖果

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MB

Description

cn份糖果,他想把糖果分给他的朋友们。但是他的朋友们比较奇怪,要求小c通过合并相邻的两份糖果,最终得到若干份糖果,这若干份的糖果数刚好构成回文数列,才接受他的糖果。

c想尽量多的朋友能分到糖果,因此他希望最终得到的糖果份数越多越好。请你输出最多的糖果份数。

Input

第一行,一个整数n,表示n堆糖果。(1<=N<=500000

第二行,n个正整数,表示每堆糖果的数量。(0<=每堆糖果的数量<=1000

Output

第一行,一个正整数,表示最多的糖果堆数。

若干个正整数,表示每堆糖果的数量。

Sample Input Copy

6
4 2 3 2 1 6

Sample Output Copy

4