const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    let arr = [];
    while ((line = await readline())) {
        arr.push(line);
    }
    let count = parseInt(arr[0]);
    let steps_arr = arr[1].split(""); // UDUDUD 指定的上下
    let now_p = 1; // 当前位置
    let now_list = [];
    steps_arr.forEach((item) => {
        if (item == "U") {
            if (now_p == 1) {
                now_p = count;
                if (count > 4) {
                    now_list = [count - 3, count - 2, count - 1, count];
                }
            } else {
                if ( now_list[0] == now_p) { // 光标已到最上面,还要往上走
                    let tmp_list = [
                        now_list[0] - 1,
                        now_list[1] - 1,
                        now_list[2] - 1,
                        now_list[3] - 1,
                    ];
                    now_list = [...tmp_list];
                }
                now_p--;
            }
        } else if (item == "D") {
            if (now_p == count) {
                now_p = 1;
                if (count > 4) {
                    now_list = [1, 2, 3, 4];
                }
            } else {
                if (now_list[3] == now_p) { // 光标已到最下面,还要往下走
                    let tmp_list = [
                        now_list[0] + 1,
                        now_list[1] + 1,
                        now_list[2] + 1,
                        now_list[3] + 1,
                    ];
                    now_list = [...tmp_list];
                }
                now_p++;
            }
        }
    });
    if (count <= 4) {
        let route_str = "";
        for (let i = 1; i <= count; i++) {
            route_str = route_str + i + " ";
        }
        console.log(route_str);
    } else {
        console.log(now_list.join(" "));
    }

    console.log(now_p);
})();