#include <iostream>
using namespace std;
void shift(size_t * arr, size_t n){
size_t buf = arr[0];
memcpy(arr, arr + 1, (n - 1)*sizeof(size_t));
arr[n - 1] = buf;
}
void show (size_t *arr, size_t n){
for( size_t i = 0; i < n; i++ )
cout<<arr[i]<<" ";
cout<<endl;
}
int main(){
size_t i, j, k;
size_t arr[] = {0, 1, 2, 3, 4, 5};
size_t n = sizeof(arr) / sizeof(arr[0]);
for( i = 0; i < n; i++ )
{
shift(arr + i, n - i);
for( j = 0; j < n; j++ )
{
shift(arr, n);
show (arr, n);
}
}
return 0;
}