//
// Created by Naman Bhalla on 29/09/19.
//

#include <bits/stdc++.h>

using namespace std;

int a[101];

int dp[101][101];
int mm[101][101];
int ct[1001];

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    cout.tie(NULL);

    int t;
    cin >> t;

    for(int cs = 1; cs <= t; ++cs){
        cout << "Case #" << cs << ": ";
        memset(dp, 0, sizeof dp);
        memset(mm, 0, sizeof mm);

        int n, k;
        cin >> n >> k;

        for(int i = 1; i <= n; ++i){
            cin >> a[i];
        }

        for(int i = 1; i <= n; ++i){
            memset(ct, 0, sizeof ct);
            int mmc = 0;
            for(int j = i; j <= n; ++j){
                ++ct[a[j]];
                if(ct[a[j]] > mmc){
                    mmc = ct[a[j]];
                }
                mm[i][j] = mmc;
            }
        }

        for(int i = 0; i <= n; ++i){
            for(int j = 0; j <= n; ++j){
                dp[i][j] = INT_MAX;
            }
        }

        dp[0][1] = 0;
        for(int i = 1; i <= n; ++i){
            dp[i][1] = i - mm[1][i];
        }


        for(int i = 1; i <= n; ++i){
            for(int j = 2; j <= k + 1; ++j){
                for(int l = i; l >= 1; --l){
                    if(dp[l - 1][j - 1] != INT_MAX)
                        dp[i][j] = min(dp[i][j], (i - l + 1 - mm[l][i]) + dp[l - 1][j - 1]);
                }
            }
        }

        int ans = INT_MAX;

        for(int j = 1; j <= k + 1; ++j){
            ans = min(ans, dp[n][j]);
        }

        cout << ans << "\n";
    }


    return 0;
}