#include<cstdio>#include<cstring>#include<iostream>using namespace std;#define MY_MAX 1500int main(){ int dp[MY_MAX], trip[MY_MAX], time[MY_MAX]; int case_num, i, j, n, t, m; scanf("%d", &case_num); while(case_num--){ memset(dp, 0xFF, sizeof(dp)); memset(trip, 0, sizeof(trip)); scanf("%d %d %d", &n, &t, &m); for(i=1; i<=m; ++i) scanf("%d", &time[i]); dp[0] = -t; dp[1] = time[1] + t; trip[1] = 1; for(i=2; i<=m; ++i){ for(j=max(0, i-n); j<i; ++j){ int tmp = max(dp[j]+t, time[i]) + t; if(dp[i] == -1){ dp[i] = tmp; trip[i] = trip[j] + 1; continue; } if(tmp < dp[i]){ dp[i] = tmp; trip[i] = trip[j] + 1; } else if(tmp == dp[i] && trip[j] + 1 < trip[j]) trip[i] = trip[j] + 1; } } printf("%d %dn", dp[m], trip[m]); } return 0;}