#include <bits/stdc++.h>
using namespace std;
queue <pair <int, int> > cars[2];
long long tmes[10005];
long long tme,inp_tme,n,t,m,c,po,carsloaded;
string dum;
int main()
{
	cin.sync_with_stdio(0);
	cin.tie(0);
	cin >> c;
	while (c--) {
		cin >> n >> t >> m;
		for (int i=0;i<m;++i) {
			cin >> inp_tme >> dum;
			if (dum=="left") cars[0].push(make_pair(inp_tme,i));
			else cars[1].push(make_pair(inp_tme,i));
		}
		tme=0;
		po=0;
		carsloaded=0;
		while (!cars[0].empty() || !cars[1].empty()) {
			carsloaded=0;
			if (!cars[po].empty()) {
				if (cars[po].front().first > tme) {
					if (!cars[(po+1)&1].empty() && (cars[po].front().first > cars[(po+1)&1].front().first)) {
						tme=cars[(po+1)&1].front().first;
						po=(po+1)&1;
						tme+=t;
						continue;
					}
					else tme=cars[po].front().first;
				}
				while ((carsloaded < n) && !cars[po].empty() && (cars[po].front().first <= tme)) { ++carsloaded; tmes[cars[po].front().second]=tme+t; cars[po].pop(); }
			}
			tme+=t;
			po=(po+1)&1;
		}
		for (int i=0;i<m;++i) cout << tmes[i] << '\n';
		if (c>0) cout << '\n';
	}
	return 0;
}
