#include <stdio.h>
#include <string.h>

/* 各方向を向いているときの移動ベクトル (北, 西, 南, 東) */
int VECTOR[4][2] = { {0, 1}, {-1, 0}, {0, -1}, {1, 0} };

int w, h; /* 盤面の大きさ */
int x, y, a; /* ロボットの座標と向き */

/* 指定した移動量だけロボットを進める */
void move(int v) {
	x += VECTOR[a][0] * v;
	y += VECTOR[a][1] * v;
	/* 壁との衝突判定 */
	if (x < 1) x = 1; else if (x > w) x = w;
	if (y < 1) y = 1; else if (y > h) y = h;
}

/* 指定した角度だけロボットを回転させる ただし角度は90度を1とし左回りを正とする */
void rotate(int v) {
	a += v;
	while (a < 0) a += 4;
	while (a > 3) a -= 4;
}

int main(void) {
	char s[10];
	int k;

	/* データセット毎の処理 */
	while (scanf("%d%d", &w, &h) == 2 && w > 0 && h > 0) {
		/* ロボットの状態を初期化する */
		x = 1;
		y = 1;
		a = 0;
		/* 命令を入力する */
		while (scanf("%s", s) == 1) {
			/* 命令にそった処理 */
			if (strcmp(s, "FORWARD") == 0) {
				scanf("%d", &k);
				move(k);
			} else if (strcmp(s, "BACKWARD") == 0) {
				scanf("%d", &k);
				move(-k);
			} else if (strcmp(s, "RIGHT") == 0) {
				rotate(-1);
			} else if (strcmp(s, "LEFT") == 0) {
				rotate(1);
			} else if (strcmp(s, "STOP") == 0) {
				break;
			}
		}

		printf("%d %d\n", x, y); /* ロボットの座標を出力する */
	}

    return 0;
}