/*
ch1, 例题5
*/
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
const int MAXN = 10004;
char DIR[][10] = {"L", "R", "Turning"};
struct ant
{
int pos;
int dir;
bool operator < (const ant & x) const {
return pos < x.pos;
}
} st[MAXN], ed[MAXN];
int idx[MAXN], ans[MAXN];
bool cmp(int a, int b)
{
return st[a].pos < st[b].pos;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif // ONLINE_JUDGE
int T;
scanf("%d", &T);
for(int t=1; t<=T; t++) {
int L, time, n;
scanf("%d%d%d", &L, &time, &n);
int p;
char c;
for(int i=0; i<n; i++) {
scanf("%d %c", &p, &c);
st[i].pos = p;
st[i].dir = c=='L' ? 0 : 1;
ed[i].pos = c=='L' ? p-time : p+time;
ed[i].dir = st[i].dir;
idx[i] = i;
}
sort(idx, idx+n, cmp);
sort(ed, ed+n);
for(int i=0; i<n; i++) {
ans[idx[i]] = i;
}
for(int i=1; i<n; i++) {
if(ed[i].pos == ed[i-1].pos) {
ed[i].dir = 2;
ed[i-1].dir = 2;
}
}
printf("Case #%d:\n", t);
for(int i=0; i<n; i++) {
int j = ans[i];
if(ed[j].pos >= 0 && ed[j].pos <= L)
printf("%d %s\n", ed[j].pos, DIR[ed[j].dir]);
else
printf("Fell off\n");
}
printf("\n");
}
return 0;
}