num = int(input())
command = input()
# 思路:
# 1.先判断歌曲是否大于4
# 2.不大于4,上下移动到头后会从另一头重新开始
# 3.大于4,每页只显示4首歌,上下移动会触发翻页
current_num = 1 # 初始光标默认在第一首歌
if num <= 4:
# 歌曲总数小于等于4
list1 = [x + 1 for x in range(num)]
for d in command:
if d == "U":
if current_num == 1:
current_num = num
else:
current_num -= 1
elif d == "D":
if current_num == num:
current_num = 1
else:
current_num += 1
print(*list1)
print(current_num)
else:
# 歌曲数大于4,每页显示4首,需要翻页
# ————踩坑点1————
# 最初错误:页面起始变量写在for循环内部,每轮命令都会重置为1
# 全局状态变量(页面起点、最大值、记录值)必须定义在循环外面
page_start = 1
for d in command:
if d == "U":
if current_num == 1:
# 从第一首往上,跳到最后一首
current_num = num
page_start = num - 3 # 跳转到最后一页
else:
current_num -= 1
# ————踩坑点2————
# 最初错误:翻页判断逻辑写反、条件错误
# 上翻触发条件:光标移出当前页面最左侧 < 页面起始
if current_num < page_start:
page_start -= 1
elif d == "D":
if current_num == num:
# 最后一首往下,回到第一首
current_num = 1
page_start = 1
else:
current_num += 1
# ————踩坑点3————
# 下翻触发条件:每页固定4首,页面末尾 = page_start + 3
# 光标超出页面右侧,才需要向后翻页
if current_num > page_start + 3:
page_start += 1
# ————踩坑点4————
# 最初隐患:直接range(page_start, page_start+5)会出现超范围不存在的歌曲号
# 左闭右开,一页4首:range(起点, 起点+4) 刚好4个
list2 = list(range(page_start, page_start + 4))
print(*list2)
print(current_num)