小红的aba子序列
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小红定义k阶aba型数组为:数组长度为3k,其中前k个数均为a,后k个数均为a,中间的的k个数为b,且
例如,[2,2,3,3,2,2]为2阶aba型序列。
现在给定一个数组,请你删除最少的数,使得剩下的数组成一个aba型数组。你能帮小红求出最少删除几个数吗?

输入描述:

第一行输入一个正整数n,代表数组的长度。

第二行输入n个正整数a_i,代表小红拿到的数组。
a_i

输出描述:

如果无解,则直接输出-1。否则输出一个整数,代表小红删除的最少数量。
示例1

输入

复制
7
1 1 2 3 2 1 1

输出

复制
1

说明

删除一个数3即可。
示例2

输入

复制
7
1 1 1 1 2 2 2

输出

复制
-1