假设数列 a 为 a1, a2 …… an-1, an。
对 a 循环左移 i 位的结果为 ai+1, ai+2 … a1 … ai-1, ai,就是将数列 a 的所有元素左移 i 位,溢出的元素按溢出顺序从右端依次补进。
对 a 循环右移 i 位的结果为 an-i+1, an-i+2 … an … an-i-1, an-i,就是将数列 a 的所有元素右移 i 位,溢出的元素按溢出顺序从左端依次补进。
现给定数列 a,以及要求进行的操作 op,输出对 a 进行该操作之后的数列。
每组输入两行,第一行包含三个正整数 n、op 以及 i,分别表示数列 a 的长度、移动的方向以及移动的位数。(1 ≤ i ≤ n ≤ 10^4,op ∈ {1, 2})
op = 1 时,表示操作为循环左移 i 位。op = 2 时,表示操作为循环右移 i 位。
第二行包含 n 个整数,描述整个数列 a,第 i 个整数表示 ai。(-10^9 ≤ ai ≤ 10^9)
5 1 3
2 3 0 -3 4
5 2 4
5 1 2 3 4
-3 4 2 3 0
1 2 3 4 5