#include <iostream>
#include <string>
#include <algorithm> // 用于 std::min
using namespace std;

// 函数用于打印当前显示的歌曲列表和选中的歌曲
void printCurrentList(int songCount, int cursorPosition, int displayStart) {
    // 计算当前屏幕显示的歌曲范围,这里displayStart初始为0;显示第一页 (控制页面第一行显示内容)
    int displayEnd = min(displayStart + 3, songCount - 1);
    // 打印当前显示的歌曲列表
    for (int i = displayStart; i <= displayEnd; ++i) {
        cout << i + 1 << " ";
    }
    cout << endl;

    // 打印当前选中的歌曲
    cout << cursorPosition + 1 << endl;
}

// 处理向上移动的逻辑
void handleUpCommand(int songCount, int &cursorPosition, int &displayStart) {
    if (songCount <= 4) { // 歌曲总数小于4
        cursorPosition = (cursorPosition - 1 + songCount) % songCount; // 循环移动光标
    } else { // 歌曲总数大于4
        if (cursorPosition == 0) { // 光标在第一首歌曲上
            displayStart = songCount - 4;  // 显示最后一页
            cursorPosition = songCount - 1; // 光标移动到最后一首歌曲
        } else { // 光标不在第一首歌曲上
            cursorPosition--; // 光标向上移动
            if (cursorPosition < displayStart) { // 如果光标移出当前屏幕范围
                displayStart = cursorPosition; // 更新显示起始位置
            }
        }
    }
}

// 处理向下移动的逻辑
void handleDownCommand(int songCount, int &cursorPosition, int &displayStart) {
    if (songCount <= 4) { // 歌曲总数小于等于4
        cursorPosition = (cursorPosition + 1) % songCount; // 循环移动光标
    } else { // 歌曲总数大于4
        if (cursorPosition == songCount - 1) { // 光标在最后一首歌曲上
            displayStart = 0; // 显示第一页 (控制页面第一行显示内容)
            cursorPosition = 0; // 光标移到第一首歌曲
        } else { // 光标不在最后一首歌曲上
            cursorPosition++; // 光标向下移动
            if (cursorPosition > displayStart + 3) { // 如果光标移出当前屏幕范围内
                displayStart = cursorPosition - 3; // 更新显示起始位置
            }
        }
    }
}

int main() {
    int songCount; // 歌曲总数
    string commands; // 用户输入的命令序列

    // 输入歌曲数量和命令序列
    cin >> songCount;
    cin >> commands;

    // 初始化光标位置和显示起始位置
    int cursorPosition = 0;
    int displayStart = 0;

    // 遍历命令序列,执行每一个命令
    for (char command : commands) {
        if (command == 'U') { // 按 UP 键
            handleUpCommand(songCount, cursorPosition, displayStart);
        } else if (command == 'D') { // 按 Down 键
            handleDownCommand(songCount, cursorPosition, displayStart);
        }
    }

    // 打印最终结果
    printCurrentList(songCount, cursorPosition, displayStart);

    return 0;
}