void rotate_inter(int *a, int n, int k) {
int t[k];
for (int i = 0; i < k; i++) { t[k - 1 - i] = a[n - 1 - i]; }
for (int i = n - 1; i >= k; i--) { a[i] = a[i - k]; }
for (int i = 0; i < k; i++) { a[k - 1 - i] = t[k - 1 - i]; }
}
void rotate(int* a, int n, int k) {
if (k == 0) return;
if (k < n) {
rotate_inter(a, n, k);
} else if (k > n) {
rotate(a, n, k % n);
}
}