length_of_visible, number_of_tracks, t = map(int, input().split())

for _ in range(number_of_tracks):
    arr = ['='] * length_of_visible
    pos_of_train, speed, d, train_length  = input().split()
    pos_of_train, speed, train_length = map(int, (pos_of_train, speed, train_length))

    if d == 'R':
        engine_pos = pos_of_train + t * speed + (train_length - 1)

        if engine_pos < length_of_visible:
            arr[engine_pos] = '!'
        if train_length > 1:
            car_pos = engine_pos - train_length + 1
            for i in range(max(car_pos, 0), min(engine_pos, length_of_visible)):
                arr[i] = '#'
        # for i in range(range)

    else:
        engine_pos = pos_of_train + t * -1 * speed

        if 0 <= engine_pos < length_of_visible:
            arr[engine_pos] = '!'
        if train_length > 1:
            car_pos = engine_pos + train_length
            for i in range(engine_pos + 1, min(car_pos, length_of_visible)):
                arr[i] = '#'
    print(''.join(arr))
