#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAX_INT 2000000000

int B,G,N;
int numcase;

int t[1000001];
int need_next[1000001];
int g[1000001];
int b[1001];

int find_max_b() {
	int bbb;
	int max = -1;
	int maxi = -1;
	for(int i=0; i<B; i++) {
		bbb = b[i];
		if(bbb<=0) return i; //bay empty
		if(need_next[bbb] > max) {
			max = need_next[bbb];
			maxi = i;
		}
	}
	return maxi;
}			

bool is_in_b(int gg) {
	for(int i=0; i<B; i++) {
		if(b[i] == gg) return true;
	}
	return false;
}

int main(void) {
	int j,i,bbb, ttt, nc;
	
	scanf("%d", &numcase);
	nc = 1;
	while(numcase--) {
		if(nc > 1) printf("\n");
		printf("Case %d:\n",nc); nc++;

		memset(g, 0, 1000001*sizeof(int));
		memset(b, 0, 1001*sizeof(int));
		memset(need_next, 0, 100001*sizeof(int));
		
		scanf("%d %d %d", &B, &G, &N);
		for(i=0; i<N; i++) {
			scanf("%d", &ttt);
			t[i] = ttt;
			g[ttt]++;
			if(need_next[ttt] == 0) need_next[ttt] = i;
		}
		
		for(i=0; i<N; i++) {
			ttt = t[i];
			if(is_in_b(ttt)) {
				printf("NO ACTION\n");
			} else {
				bbb = find_max_b();
				printf("LOAD %d %d\n", bbb+1, ttt);
				b[bbb] = t[i];
			}
			g[ttt]--;
			
			if(g[ttt] <= 0 ) need_next[ttt] = MAX_INT;
			else {
				for(j = i+1; t[j] != ttt; j++) ;
				need_next[ttt] = j;
			}
		}
	}
	return 0;
}

