while True:
try:
SongNum=int(input())
Order=input()
head,tail,index=1,SongNum,1
if SongNum<=4:#当歌曲数目小于等于4时,可以直接输出当前列表
for i in Order:
if i=='U':#对于每一步的命令‘U’(‘D’),有两种情况:
if index==1:#第一种:光标在第一首歌曲上,
index=SongNum#执行一次‘U’,光标移到最后一首歌曲上;
else:#第二种:光标不在第一首歌曲上,
index-=1#执行一次‘U’,光标移到上一首歌曲上;
else:
if index==SongNum:#第一种:光标在最后一首歌曲上,
index=1#执行一次‘D’,光标移到第一首歌曲上;
else:#第二种:光标不在最后一首歌曲上,
index+=1#执行一次‘D’,光标移到下一首歌曲上。
head,tail=1,SongNum#重新设置头、尾坐标用于歌曲数目大于4的情形
else:
for i in Order:
if i=='U':
if index==1:#此时,执行一次‘U’,
index=SongNum#光标移到最后一首歌;
head,tail=SongNum-3,SongNum#更新列表尾为最后一首歌,表头为倒数第四首歌
else:
index-=1#此时,执行一次‘U’,光标上移一首;
if index<head:#注意,若上移后的坐标比当前表头坐标小,则要更新表头和表尾,
head,tail=index,index+3#更新列表头坐标为光标所在那首歌,列表尾为表头往后3首歌
else:
if index==SongNum:#此时,执行一次‘D’,
index=1#光标移到第一首歌;
head,tail=1,4#更新列表头尾第一首歌,表尾为第四首歌
else:
index+=1#此时,执行一次‘D’,光标下移一首;
if index>tail:#注意,若下移后的坐标比当前表尾坐标大,则要更新表头和表尾,
head,tail=index-3,index#更新列表尾坐标为光标所在那首歌,列表头为表尾往前3首歌
print(' '.join([str(i) for i in range(head,tail+1)]))
print(index)
except:
break