#B8180. 字母移位

字母移位

题目描述

字母移位:表示将字母按照字母表的顺序进行移动。
例如:'b' 向右移动一位是 'c''f' 向左移动两位是 'd'
特别地,'a' 向左移动一位是 'z''z' 向右移动一位是 'a',即字母表为循环的。

给定一个仅包含小写字母且长度为 nn 的字符串 ss,以及 nn 个正整数 a1,a2,,ana_1, a_2, \dots, a_n,接下来对字符串 ss 依次执行以下 nn 步操作(第 kk 步操作的前缀长度为 kk):

  1. 将第 11 位字符向移动 a1a_1 位。
  2. 将第 1122 位字符向移动 a2a_2 位。
  3. 将第 1133 位字符向移动 a3a_3 位。
  4. 将第 1144 位字符向移动 a4a_4 位。 ... 以此类推,直到最后一步将第 11 到第 nn 位字符移动 ana_n 位。
    其中,移动方向按照步骤编号的奇偶性决定:第奇数步向左移动,第偶数步向右移动。

最后,输出操作完成后的字符串 ss

示例n=5n=5s=abcdes = \texttt{abcde}a=[1,3,5,7,9]a = [1, 3, 5, 7, 9]
过程如下:

  • 第1步:将 s[1]s[1]a)左移1位 → zbcde
  • 第2步:将 s[1..2]s[1..2]zb)右移3位 → cecde
  • 第3步:将 s[1..3]s[1..3]cec)左移5位 → xzxde
  • 第4步:将 s[1..4]s[1..4]xzxd)右移7位 → egeke
  • 第5步:将 s[1..5]s[1..5]egeke)左移9位 → vxvbv
    最终输出 vxvbv

输入格式

第一行一个整数 nn1n1051 \le n \le 10^5)。
第二行一个仅包含小写字母且长度为 nn 的字符串 ss
第三行 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9),整数之间用一个空格隔开。

输出格式

一行一个字符串,表示操作完成后的字符串 ss

5
abcde
1 3 5 7 9
vxvbv

数据范围与提示

  • 1n1051 \le n \le 10^51ai1091 \le a_i \le 10^9