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$。