N(1<=N<=20)头牛方便地编号为1…N正在与农夫约翰玩另一个疯狂的游戏。奶牛会排成一行,问农夫约翰他们的行号是多少。作为回报,农夫约翰可以给它们一个行号,而奶牛必须重新排列成这一行。
行号是通过按字典顺序对行的所有排列进行编号来分配的。
考虑这个例子:
农夫约翰有5头母牛,并给了它们3的行号。
按字典序升序排列的行:1:1 2 3 4 5
第二名:1 2 3 5 4
第三名:1 2 4 3 5
因此,奶牛将自己排在奶牛生产线1 2 4 3 5。
作为回报,母牛排成“1 2 5 3 4”的配置,并问农民约翰他们的行号是多少。
继续列表:
第四名:1 2 4 5 3
第五名:1 2 5 3 4
农夫约翰可以看到答案是5
农夫约翰和牛想请你帮忙玩他们的游戏。他们有K(1<=K<=10000)个查询需要帮助。查询i有两个部分:C\u i将是命令,即“P”或“Q”。
如果C_i是'P',那么查询的第二部分将是一个整数A_i(1<=A_i<=N!),这是一个行号。这是农夫约翰在挑战奶牛,让它们排在正确的奶牛队列中。
如果C_i是'Q',那么查询的第二部分将是N个不同的整数B_ij(1<=B_ij<=N)。这将表示一条母牛线。这些牛在挑战农夫约翰寻找他们的行号。