#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int one[2111];
int two[2111];
int dp[2111];//dp[i]=min(dp[i-1]+one[i],dp[i-2]+two[i])
void print_time(int n) {
int h = n / 3600;
int m = (n-3600*h) / 60;
int s = n - 3600 * h - 60 * m;
h = h + 8;
h = h % 24;
bool fg = true;
if (h >= 12) {
h -= 12;
if (!h)
h = 12;
fg = false;
}
if (fg)
printf("%02d:%02d:%02d am\n",h,m,s);
else {
printf("%02d:%02d:%02d pm\n", h, m, s);
}
}
int main() {
int n;
cin >> n;
while (n--) {
memset(dp, 0, sizeof(dp));
memset(one, 0, sizeof(one));
memset(two, 0, sizeof(two));
int k;
cin >> k;
for (int i = 1; i <= k; i++) {
cin >> one[i];
}
for (int i = 2; i <= k; i++) {
cin >> two[i];
}
dp[1] = one[1];
for (int i = 2; i <= k; i++) {
dp[i] = min(dp[i - 1] + one[i], dp[i - 2] + two[i]);
}
print_time(dp[k]);
}
return 0;
}