#8858. 维吉尼亚密码 普及−

时间限制:1000 ms 内存限制:256 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

在凯撒密码的基础上,维吉尼亚密码更进一步,引入了密钥来决定位移替换的方式。

在加密前,我们要先准备出一个字母表格,这个表格由26行以不同字母开头的字母表构成。以A开头的第一行字母表的索引是A,在第二行中,字母表中的第一个字母是B,所以它被标识为B,其余各行以此类推。下面是加密表的一部分:

现在,让我们引入密钥。假设密钥是"SORT",那么加密表如下:

如果用"SORT"这个密钥加密"HELLO,ALGORITHM!"(你好,算法),加密时第一个字母将通过"S"来编码,"O","R"和"T"行则被用于加密第二、第三、第四个字母。从第五个字母开始,上述过程将被不断地重复。也就是说,我们要回到"S"行,并用它去加密第五个字母。加密后的文本为"ZSCEG,OCZGFZMZA!"

注意,在加密时,只会输入大写字母和标点符号,我们只需要对大写字母进行加密,且密钥只含大写字母

输入格式

第一行,表示要加密的文本(长度不超过1000,可能含有空格) 第二行,密钥(长度小于要加密的文本长度,保证只含大写字母,且没有空格)

输出格式

加密后的文本(标点符号原样输出)

样例

样例输入 1

HELLO,WORLD!
OK

样例输出 1

VOZVC,GCBZN!

样例输入 2

OUR COVER IS BLOWN,WE NEED TO MAKE NEW PLAN.
SEP

样例输出 2

GYG USKWV XK FAGAC,OI CWIS LS BSOT FIL HPPF.