{
int N, L, T, n, i, position, change_c, cnt = 1;
char c;
cin>>N;
while(N--)
{
cin>>L>>T>>n;
for(i = 0; i < n; i++)
{
cin>>position>>c;
if(c == 'L') change_c = -1; //转一下,等下计算终态与输出都方便
else change_c = 1;
before[i] = (ant){i, position, change_c};
after[i] = (ant){0, position + T*change_c, change_c}; //计算终态,其中id无太大用处,可赋个默认值
}
sort(before, before+n); //按位置排序
for(i = 0; i < n; i++) order[before[i].id] = i; //赋值,使输入的第i只蚂蚁是位置上的第order[i]只
sort(after, after+n); //按位置排序
for(i = 0; i < n-1; i++) //修改方向
if(after[i].pos == after[i+1].pos)
{
after[i].dir = 0;
after[i+1].dir = 0;
}
cout<<"Case #"<< xml:namespace prefix = cnt++<<" /> for(i = 0; i < n; i++)
{
int a = order[i]; //输入的第i只为位置上的第a只
if(after[a].pos < 0 || after[a].pos > L) cout<<"Fell off"< else cout<