U736965 凯撒密码变体
题目背景
传统凯撒密码将所有字母移动相同的位数。现在,字母表中的每一种字母都有自己的移动位数。
题目描述
这 $26$ 个整数**按字母而不是按字符串位置**指定偏移量:字母 `a` 的偏移量为 $a_1$,字母 `b` 的偏移量为 $a_2$,依此类推,字母 `z` 的偏移量为 $a_{26}$。同一种字母无论在字符串中出现多少次,使用的偏移量始终相同。
加密时,将原字符串中的每个字符沿字母表向后移动其对应的位数;如果超出 `z`,则从 `a` 继续计算。例如,`z` 向后移动 $1$ 位得到 `a`,`y` 向后移动 $3$ 位得到 `b`。
请输出加密后的字符串。
输入格式
第一行输入一个正整数 $n$,表示原字符串的长度。
第二行输入一个长度为 $n$、仅包含小写英文字母的字符串 $s$。
第三行输入 $26$ 个正整数 $a_1,a_2,\ldots,a_{26}$,依次表示字母 `a` 到 `z` 的偏移量。
输出格式
输出一行一个长度为 $n$ 的字符串,表示加密后的结果。
说明/提示
**样例 #1 解释**
字母 `a` 的偏移量为 $1$,所以原字符串中所有的 `a` 都加密为 `b`;字母 `b` 的偏移量为 $2$,因此加密为 `d`;字母 `z` 的偏移量为 $1$,因此加密为 `a`。
**数据范围**
对于 $100\%$ 的测试数据,保证:
- $1\le n\le 2\times 10^5$;
- $1\le a_i\le 25$($1\le i\le 26$);
- $s$ 仅包含小写英文字母,且 $|s|=n$。