编号为 到 的 头奶牛正在和农夫约翰玩一个疯狂游戏。奶牛们将自己排列成一行,并询问农夫约翰它们的排列编号是多少。此外,农夫约翰也可以给奶牛们一个排列编号,奶牛们必须重新排列成那个对应编号的排列。 一个排列的编号指的是,考虑这个排列的全部可能排列,这个排列在全部可能排列中的字典序排名。 农夫约翰和奶牛们希望你能帮助他们玩这个游戏。他们有 个查询需要帮助。查询 有两个部分: 是命令,可以是 `P` 或 `Q` 。 如果 是 `P` ,那么查询的第二部分将是一个整数 ,这是一个排列编号。这是农夫约翰挑战奶牛们排成正确的奶牛排列。 如果 是 `Q`,那么查询的第二部分将是 个不同的整数 。这将表示一个奶牛排列。这是奶牛们挑战农夫约翰找出它们的排列编号。
输入描述:
输入的第  行两个用空格分隔的整数 ,分别表示奶牛的数量和询问的数量。接下来  行,每两行共同构成一次询问。每次询问的第一行有一个字符  代表询问类型,随后:若  ,在下一行输入一个整数 ,表示奶牛需要排列成的顺序的编号;若  ,在下一行输入一行  个用空格分隔的整数 ,表示此时奶牛的排列顺序。


输出描述:
输出包含  行,依次分别为各个询问的结果:对于  操作,输出一行  个用空格分隔的整数,表示对应编号的奶牛排列顺序。对于  操作,输出一行一个整数,表示对应奶牛排列顺序的排序编号。
示例1

输入

5 2
P
3
Q
1 2 5 3 4

输出

1 2 4 3 5
5

说明

农夫约翰有 5 头奶牛,并希望它们按照排列编号 3 来进行排列。

按升序字典序排列的排列:

第 1 个:1,2,3,4,5

第 2 个:1,2,3,5,4

第 3 个:1,2,4,3,5

因此,奶牛们将自己排列成奶牛排列 1,2,4,3,5

假如奶牛们反过来排列成配置「1,2,5,3,4」,并询问农夫约翰它们此时的排列编号是多少。此时我们可以继续列表:

第 4 个:1,2,4,5,3

第 5 个:1,2,5,3,4

此时第 5 个编号对应的排列与奶牛的排列一一对应上了,所有农夫约翰可以看到答案是 5 。
加载中...