#joi2009yoc. [joi2009yo_c]連鎖

[joi2009yo_c]連鎖

问题

有一个游戏如下所示。

一些角色排列在一列中,共有 NN 个角色。这些角色的颜色可以是红色、蓝色或黄色,并且在初始状态下,相同颜色的角色不会连续出现 44 个或更多次。玩家可以选择一个位置上的角色,并将其更改为其他颜色。如果同一颜色的角色连续出现 44 个或更多次,则这些角色将消失。当消失的角色导致新的相同颜色的角色出现 44 个或更多次时,这些角色也会消失,直到没有连续出现 44 个或更多次的相同颜色的角色为止。游戏的目标是尽量减少剩余未消失的角色数量。

例如,在下图的初始状态下,如果将从上方数第 66 个角色的颜色从黄色更改为蓝色,则蓝色的角色会连续出现 55 次并消失,最终剩下 33 个角色未消失。

2009-yo-t3.png

给定初始状态下 NN 个角色的颜色排列,请编写程序计算当仅更改一个位置上的角色颜色时,剩余未消失的角色数量的最小值 MM


输入

11 行包含一个整数 NN (1N10,0001 \le N \le 10,000),表示角色的数量。接下来的 NN 行中,每行包含一个整数 1,2,31, 2, 3,表示初始状态下从上方数第 ii 个角色的颜色(11 表示红色,22 表示蓝色,33 表示黄色)。

输出

输出剩余未消失的角色数量的最小值 MM


输入例子 1

12
3
2
1
1
2
3
2
2
2
1
1
3

输出例子 1

3

输入例子 2

12
3
2
1
1
2
3
2
1
3
2
1
3

输出例子 2

12