#1369. 第15届蓝桥杯C++青少组_省赛_4_字母移位

第15届蓝桥杯C++青少组_省赛_4_字母移位

描述

字母移位:表示将字母按照字母表的顺序进行移动。 例如:'b' 向右移动一位是'c’,'f'向左移动两位是'd'。

特别地,'a'向左移动一位是'z','z'向右移动一位是'a'。

给定一个仅包含小写字母且长度为 n 的字符串 s,以及 n 个正整数 a1,a2,a3,...,ana_1, a_2, a_3, ..., a_n,接下来对字符串s按如下规律操作:

1.将第 1位字符向左移动 a1a_1 位; 2.再将第 1、2 位字符都向右移动 a2a_2 位; 3.再将第 1、2、3 位字符都向左移动 a3a_3 位; 4.再将第 1、2、3、4 位字符都向右移动 a4a_4 位;

以此类推,直到将s的第1到第n位字符都(按规律向左或向右)移动 ana_n 位。

最后,将操作完成后的字符串s输出。

例如: n = 5 ,字符串 s = "abcde" ,5 个正整数为 1,3,5,7,9;

将 abcde 的第 1 位字符 "a" 向左移动 1 位,s 变为 zbcde 再将 zbcde 的前 2 位字符 "zb" 向右移动 3 位,s 变为 cecde 再将 cecde 的前 3 位字符 "cec" 向左移动 5 位, s 变为 xzxde 再将 xzxde 的前 4 位字符 "xzxd" 向右移动7 位,s 变为 egeke 再将 egeke 的前 5 位字符 "egeke" 向左移动 9 位,s 变为 vxvbv。 最后,将操作完成后的字符串 vxvbv 输出。

输入输出格式

输入

第一行输入一个整数 n (1<=n<=1051<=n<=10^5) 第二行输入一个仅包含小写字母且长度为 n 的字符串 s 第三行输入 n 个整数 a1,a2,a3,...,ana_1, a_2, a_3, ..., a_n (1<=a<=1091<=a<=10^9) ,整数之间以一个空格隔开

输出

输出一个字符串,表示操作完成后的字符串

样例数据

5
abcde
1 3 5 7 9
vxvbv