#include <stdio.h>
void input(int *buffer, int *length, int *c);
void output(int *buffer, int length);
void cyclic_shift(int *buffer, int length, int c);
int main() {
int length;
int buffer[10];
int c;
input(buffer, &length, &c);
if (length < 1 || length > 10) {
return 1;
}
cyclic_shift(buffer, length, c);
output(buffer, length);
return 0;
}
void input(int *buffer, int *length, int *c) {
for (int i = 0; i < *length; i++) {
}
}
void cyclic_shift(int *buffer, int length, int c) {
if (length <= 0) return;
c = c % length;
if (c < 0) {
c = length + c;
}
int temp[10];
for (int i = 0; i < length; i++) {
temp[i] = buffer[(i + c) % length];
}
for (int i = 0; i < length; i++) {
buffer[i] = temp[i];
}
}
void output(int *buffer, int length) {
for (int i = 0; i < length; i++) {
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIGlucHV0KGludCAqYnVmZmVyLCBpbnQgKmxlbmd0aCwgaW50ICpjKTsKdm9pZCBvdXRwdXQoaW50ICpidWZmZXIsIGludCBsZW5ndGgpOwp2b2lkIGN5Y2xpY19zaGlmdChpbnQgKmJ1ZmZlciwgaW50IGxlbmd0aCwgaW50IGMpOwoKaW50IG1haW4oKSB7CiAgICBpbnQgbGVuZ3RoOwogICAgaW50IGJ1ZmZlclsxMF07CiAgICBpbnQgYzsKICAgIGlucHV0KGJ1ZmZlciwgJmxlbmd0aCwgJmMpOwogICAgaWYgKGxlbmd0aCA8IDEgfHwgbGVuZ3RoID4gMTApIHsKICAgICAgICBwcmludGYoIm4vYVxuIik7CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICBjeWNsaWNfc2hpZnQoYnVmZmVyLCBsZW5ndGgsIGMpOwogICAgb3V0cHV0KGJ1ZmZlciwgbGVuZ3RoKTsKICAgIHJldHVybiAwOwp9CnZvaWQgaW5wdXQoaW50ICpidWZmZXIsIGludCAqbGVuZ3RoLCBpbnQgKmMpIHsKICAgIHNjYW5mKCIlZCIsIGxlbmd0aCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8ICpsZW5ndGg7IGkrKykgewogICAgICAgIHNjYW5mKCIlZCIsICZidWZmZXJbaV0pOwogICAgfQogICAgc2NhbmYoIiVkIiwgYyk7Cn0Kdm9pZCBjeWNsaWNfc2hpZnQoaW50ICpidWZmZXIsIGludCBsZW5ndGgsIGludCBjKSB7CiAgICBpZiAobGVuZ3RoIDw9IDApIHJldHVybjsKICAgIGMgPSBjICUgbGVuZ3RoOwogICAgaWYgKGMgPCAwKSB7CiAgICAgICAgYyA9IGxlbmd0aCArIGM7CiAgICB9CiAgICBpbnQgdGVtcFsxMF07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgdGVtcFtpXSA9IGJ1ZmZlclsoaSArIGMpICUgbGVuZ3RoXTsKICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICBidWZmZXJbaV0gPSB0ZW1wW2ldOwogICAgfQp9CnZvaWQgb3V0cHV0KGludCAqYnVmZmVyLCBpbnQgbGVuZ3RoKSB7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCBidWZmZXJbaV0pOwogICAgfQogICAgcHJpbnRmKCJcbiIpOwp9