#include <stdio.h>
typedef struct {
int buffer[100]; // Fixed memory for data
int head; // Write index
int tail; // Read index (not used here)
int count; // Number of elements in buffer
int capacity; // Maximum number of elements buffer can hold
} CircularBuffer;
void insert_circular(CircularBuffer *cb, int value) {
// Your logic using only pointer access
if (!(cb->count == cb->capacity)){
cb->buffer[cb->head] = value;
cb->head = (cb->head + 1) % cb->capacity;
cb->count++;
}
}
int main() {
int n, k;
scanf("%d %d", &n, &k);
CircularBuffer cb = { .head = 0, .tail = 0, .count = 0, .capacity = n };
for (int i = 0; i < k; i++) {
int val;
scanf("%d", &val);
insert_circular(&cb, val);
}
for (int i = 0; i < cb.count; i++) {
printf("%d", cb.buffer[i]);
if(i < cb.count-1){
printf(" ");
}
}
return 0;
}