//
// sudoku.c
// datatahti
//
// Created by aapo haavisto on 10/6/19.
// Copyright © 2019 Aapo Haavisto. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
int main (void){
int number;
scanf("%i",&number);
int* list=malloc(number*sizeof(int));
for (int e=0;e<=number;e++){
list[e]=e+1;
}
if (number%2==0) {
for (int i=0; i<number; i++) {
for (int a=0; a<number; a++){
}
int*newlist=malloc(number*sizeof(int));
for (int a=0;a<number;a++){
printf("%i",list[a]);
printf(" ");
if ((list[a])%2==1){
if(a==number-1){
newlist[0]=list[a];
}
else{
newlist[a+1]=list[a];
}
}
else{
if(a==0){
newlist[number-1]=list[a];
}
else{
newlist[a-1]=list[a];
}
}
}
printf("\n");
list=newlist;
}
}
else{
for (int i=0; i<number; i++) {
for (int a=0; a<number; a++){
}
int*newlist=malloc(number*sizeof(int));
for (int a=0;a<number;a++){
printf("%i",list[a]);
printf(" ");
if(a==0){
newlist[number-1]=list[a];
}
else{
newlist[a-1]=list[a];
}
}
printf("\n");
list=newlist;
}
}
free(list);
}