子字符串翻转
题号:NC229721
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有天皮卡丘收到了一个长度为n的字符串s,其下标从1开始。
但皮卡丘并不喜欢这个字符串,所以它决定通过m次操作改变字符串的原有顺序,每次它可以选择一个正整数,并将字符串的下标为到n-+1的这一段子字符串进行翻转(数据保证 * 2 <= n)。你的任务就是找到经过m 次翻转变化之后的字符串s。

输入描述:

第一行包含一个长度为n的字符串s(1 <= n <= 100000),该字符串只包含小写字母
第二行包含一个整数m(1 <= m <= 100000),代表次数
第三行包含m个以空格为分隔的数,第i个数表示皮卡丘在第i次选择的数

输出描述:

用一行输出在m次后字符串s的样子。
示例1

输入

复制
abcde
2
2 2

输出

复制
abcde
示例2

输入

复制
asdfge
1
2

输出

复制
agfdse
示例3

输入

复制
abcdef
3
1 2 3

输出

复制
fbdcea