#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
#include <set>
#include <stack>
#include <sstream>
#include <cmath>
#include <map>

using namespace std;

typedef long long int lli;

int qt[1123];
int next[1123];
lli ganho[1123];

lli sum;

int main(void){
	int t,r,k,n;
	scanf("%d", &t);
	for(int cas = 1; cas <= t; cas++){
		printf("Case #%d: ",cas);
		scanf("%d %d %d", &r, &k, &n);
		sum = 0;
		for(int i = 0; i < n; i++){
			scanf("%d", &qt[i]);
			sum += (lli)qt[i];
		}
		if(sum <= k){
				printf("%lld\n", sum*r);
				continue;
		}
		for(int i = 0; i < n; i++){
			sum = (lli)qt[i];
			int j = (i+1)%n;
			while(sum<=(lli)k){
				sum+=(lli)qt[j];
				j = (j+1)%n;
			}
			j = j == 0 ? n-1 : j-1;
			sum-=(lli)qt[j];
			next[i] = j;
			ganho[i] = sum;
			//printf("comecando em %d: %lld\n",i,ganho[i]);
			//printf("proximo: %d\n",next[i]);
		}
		lli res = 0;
		int at = 0;
		for(int i = 0; i < r; i++){
			res += ganho[at];
			at=next[at];
		}
		printf("%lld\n", res);



	}

	return 0;
}
