#P1196. Twofive

Twofive

题目描述

圣诞老人和他的小助手们之间的秘密消息通常使用25语言编码。25字母表与拉丁字母表基本相同,只是不包含字母'Z',即25字母表包含从'A'到'Y'的25个拉丁字母,顺序与拉丁字母表相同。25语言中的每个单词都由恰好25个不同的字母组成。单词可以按行优先顺序填入5×5的表格中。例如,单词ADJPTBEKQUCGLRVFINSWHMOXY可以表示为:

A D J P T
B E K Q U
C G L R V
F I N S W
H M O X Y

一个有效的25语言单词需要满足:每行的字母和每列的字母都必须按升序排列。因此,单词ADJPTBEKQUCGLRVFINSWHMOXY是有效的,而单词ADJPTBEGQUCKLRVFINSWHMOXY则是无效的(第二列和第三列的字母顺序被破坏)。

圣诞老人有一本词典,其中按字典序排列了所有有效的25语言单词,并为每个单词分配了从1开始的序号。例如:

  • 单词ABCDEFGHIJKLMNOPQRSTUVWXY的序号是1
  • 单词ABCDEFGHIJKLMNOPQRSUTVWXY的序号是2(与序号1的单词相比,U和T的位置互换)

由于词典非常庞大,请编写一个程序:

  1. 对于给定的有效单词,确定其序号
  2. 对于给定的序号,确定对应的单词

词典中的单词总数不超过2312^{31}个。

输入格式

程序从标准输入读取数据:

  • 第一行包含单个字符:'W'或'N'
    • 如果是'W',第二行包含一个有效的25语言单词(25个字符)
    • 如果是'N',第二行包含一个存在的单词序号

输出格式

程序向标准输出写入结果:

  • 如果输入是单词,输出其序号
  • 如果输入是序号,输出对应的单词

样例输入

W
ABCDEFGHIJKLMNOPQRSUTVWXY

样例输出

2

题目来源

IOI 2001