1992: 解密文件

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:55 解决:12

题目描述

已知英语中26个字母出现的概率p[0],p[1]……,p[25](它们的和为1),分别表示’a’, ‘b’,‘c’……出现的概率(大写字母和小写字母被认为是一样的)。

    现在有一个加密过的文件,加密方法是将原文件中的每一个字母进行相同的变换,其他的字符不变,变换的方法如下:

如果将az编号为025,那么字母i将被替换成(i+k) mod 260<=k<26。原来是大写的字母,仍然是大写,原来是小写的字母仍然是小写。

  但是你并不知道k的值,所以只好枚举。因为知道26个字母出现的频率,所以你可以选择一个尽量好的k,使得频率的方差和最小,方差和定义如下:

    假设你枚举的k还原出来的原文件中的26个字母出现的概率为x[0], x[1], ……, x[25],那么方差和为:(p[0]-x[0])^2 + (p[1]-x[1])^2 + …… + (p[25]-x[25])^2

  如果有两个相同的k一样好,那么选较小的k

最后输出解密出的原文件。

输入

    26行分别是26个字母出现的概率。

接下来是一个只含有26个大小写字母和空格,换行符,标点符号,阿拉伯数字等的文本。

输出

解密过的文本。

样例输入 复制

0.109375
0.000000
0.062500
0.015625
0.109375
0.015625
0.015625
0.000000
0.062500
0.015625
0.000000
0.078125
0.062500
0.062500
0.093750
0.015625
0.015625
0.031250
0.046875
0.046875
0.046875
0.000000
0.000000
0.000000
0.093750
0.000000
L dp Ol Bxtldq, ru brx fdq fdoo ph VsdfhIobhu.
L dp jodg wr vhh brx.
Hqmrb pb frqwhvw.

样例输出 复制

I am Li Yuqian, or you can call me SpaceFlyer.
I am glad to see you.
Enjoy my contest.

提示

【数据规模】

输入文件不超过10k