小红的染红
题号:NC313691
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红有一个长为 n 的数组 a = \{a_1,a_2,\dots,a_n \}\left(a_i \in \left[1,3\right] \right),初始时所有元素都是白色的。
\hspace{15pt}小红喜欢红色,她希望红色的元素尽可能多,为此她可以进行任意次如下操作:
\hspace{23pt}\bullet 选择一个长度小于等于 9子数组,其中的 1,2,3 元素数量相等,且所有元素都是白色的,将其染红。
\hspace{15pt}小红想知道她最多能染红多少个元素,请你帮帮她。

【名词解释】
\hspace{15pt}子数组:从原数组中,连续的选择一段元素(可以全选)得到的新数组。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入一个整数 n\left(1 \leqq n \leqq 2\times 10^5\right)
\hspace{15pt}第二行输入 n 个整数 a_i\left(a_i \in \left[1,3\right] \right),代表数组 a

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每组测试数据,新起一行。

\hspace{15pt}输出一个整数,代表最多能染红的元素数量。
示例1

输入

复制
1
9
1 2 3 3 2 1 2 1 3

输出

复制
9