width, n_trac, t = map(int, input().split())

for i in range(n_trac):
	p, s, d_str, l = input().split()
	p, s, l = int(p), int(s), int(l)
	dir = -1 if d_str == 'L' else 1

	start = p + s * t * dir
	end = start + l - 1
	start_vis_part = max(0, start)
	end_vis_part = min(width - 1, end) # -1 ???
	vis_part_len = end_vis_part - start_vis_part + 1

	#print(f"visible train len: {vis_part_len}")
	
	train_str = '#' * vis_part_len
	if dir == -1 and start >= 0:
		train_str = '!' + train_str[1:] 
	elif dir == 1 and end < width:
		train_str = train_str[:-1] + '!'
		#train_str[-1] = '!'

	#print(f"s = {start_vis_part}, e = {width - end_vis_part - 1}")
	print('=' * min(start_vis_part, width), end='')
	print(train_str, end='')
	print('=' * (width - end_vis_part - 1))

		

	
