#include <stdio.h>
#include <string.h>
int main() {
int k;
char str[1005];
// 读取整数 k
if (scanf("%d", &k) != 1) return 0;
// 读取换行符或空格,确保接下来的 fgets 能正确读入字符串
getchar();
// 读取整行字符串(因为字符串中可能包含空格)
if (fgets(str, sizeof(str), stdin) == NULL) return 0;
// 去掉 fgets 自动读入的末尾换行符 '\n'
int len = strlen(str);
if (len > 0 && str[len - 1] == '\n') {
str[len - 1] = '\0';
len--;
}
// 如果字符串为空(处理边界情况),直接结束
if (len == 0) return 0;
// 核心步骤:对 k 取模,防止 k 大于字符串长度
k = k % len;
// 如果 k 为 0,说明不需要移动,直接输出原字符串
if (k == 0) {
printf("%s\n", str);
return 0;
}
// 1. 先打印后半部分(将被移到最前面的 k 个字符)
// 起始位置是 len - k
printf("%s", &str[len - k]);
// 2. 再打印前半部分(被挤到后面的部分)
// 只需要打印前 len - k 个字符
for (int i = 0; i < len - k; i++) {
putchar(str[i]);
}
printf("\n");
return 0;
}