package main

import (
	"fmt"
	"strings"
)

type bounds struct {
	X1, Y1, X2, Y2 int
}

var (
	searchArea     bounds
	myPosX, myPosY int
)

func main() {
	// W: width of the building.
	// H: height of the building.
	var W, H int
	fmt.Scan(&W, &H)

	searchArea = bounds{0, 0, W, H}

	// N: maximum number of turns before game over.
	var N int
	fmt.Scan(&N)

	fmt.Scan(&myPosX, &myPosY)

	for {
		// bombDir: the direction of the bombs from batman's current location (U, UR, R, DR, D, DL, L or UL)
		var bombDir string
		fmt.Scan(&bombDir)

		if strings.Contains(bombDir, "U") {
			searchArea.Y2 = myPosY
		}

		if strings.Contains(bombDir, "D") {
			searchArea.Y1 = myPosY
		}

		if strings.Contains(bombDir, "R") {
			searchArea.X1 = myPosX
		}

		if strings.Contains(bombDir, "L") {
			searchArea.X2 = myPosX
		}

		myPosX = searchArea.X1 + (searchArea.X2-searchArea.X1)/2
		myPosY = searchArea.Y1 + (searchArea.Y2-searchArea.Y1)/2

		// the location of the next window Batman should jump to.
		fmt.Printf("%d %d\n",
			myPosX,
			myPosY,
		)
	}
}