Example :
‘S’ = “aabcd”, ‘M’ = 2, ‘A’ = [0, 1]
After 1st operation i.e, reversing from [0, 4], ‘S’ = “dcbaa”.
After 2nd operation i.e, reversing from [1, 3], ‘S’ = “dabca”.
Hence, the answer is “dabca”.
The first line contains a single integer ‘T’ denoting the number of test cases, then the test case follows.
The first line of each test case contains a string ‘S’ consisting of lowercase English characters without spaces.
The second line of each test case contains a single integer ‘M’ denoting the number of operations.
The third line of each test case contains ‘M’ space-separated integers denoting the elements of the array ‘A’.
For each test case, find the string after performing all the operations.
Output for each test case will be printed on a separate line.
Note :
You are not required to print anything; it has already been taken care of. Just implement the function.
Constraints :
1 ≤ T ≤ 10
1 ≤ len(S) ≤ 10^5
1 ≤ M ≤ 10^5
Each ‘A[i]’ is such that the range [‘A[i]’, len(‘S’) - ‘A[i]’ - 1] is non-empty.
It is guaranteed that the sum of lengths of ‘S’ and ‘M’ is ≤ 10^5 for all test cases, respectively.
Time limit: 1 sec
Sample Input 1 :
2
gaagbd
3
2 2 2
dbgd
5
1 1 1 0 0
Sample Output 1 :
gagabd
dgbd
Explanation For Sample Input 1 :
For test case 1:
Here, len(‘S’) = 6. So, we need to reverse the string ‘S’[2, 3] three times.
After 1st reversal: ‘S’ = “gagabd”.
After 2nd reversal: ‘S’ = “gaagbd”.
After 3rd reversal: ‘S’ = “gagabd”.
Hence, the answer is “gagabd”.
For test case 2:
Here, len(‘S’) = 4. We need to reverse the string ‘S’[1, 2], ‘S’[1, 2], ‘S’[1, 2], ‘S’[0, 3], ‘S’[0, 3].
After 1st reversal: ‘S’ = “dgbd”
After 2nd reversal: ‘S’ = “dbgd”
After 3rd reversal: ‘S’ = “dgbd”
After 4th reversal: ‘S’ = “dbgd”
After 5th reversal: ‘S’ = “dgbd”
Hence, the answer is “dgbd”.
Sample Input 2 :
2
cgagbga
4
0 2 1 0
daa
3
1 0 1
Sample Output 2 :
cgagbga
aad