1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4 #include <math.h>
5 #include <iostream>
6 #include <algorithm>
7 #include <climits>
8 #include <queue>
9 #define ll long long
10
11 using namespace std;
12
13 int color[105],n;
14 int dp[105][105];
15
16 int dfs(int l,int r)
17 {
18 if(r < l) return 0;
19 if(dp[l][r] != -1)
20 return dp[l][r];
21 if(l == r)
22 return dp[l][r] = 1;
23 dp[l][r] = r-l+1;
24
25 dp[l][r] = min(dfs(l+1,r)+1,dp[l][r]); //新穿一件
26
27 for(int i = l+1; i <= r; i++)
28 {
29 if(color[l] == color[i])
30 dp[l][r] = min(dp[l][r],dfs(l+1,i-1)+dfs(i,r)); //l == i 不用新穿
31 }
32 return dp[l][r];
33 }
34
35 void solve()
36 {
37 scanf("%d",&n);
38 memset(dp,-1,sizeof(dp));
39 for(int i = 1; i <= n; i++)
40 scanf("%d",&color[i]);
41 int ans = dfs(1,n);
42
43 printf("%d\n",ans);
44 }
45
46 int main(void)
47 {
48
49 int t,cnt = 0;
50 scanf("%d",&t);
51 while(t--)
52 {
53 printf("Case %d: ",++cnt);
54 solve();
55 }
56 return 0;
57 }