#include <iostream>
using namespace std;
int main()
{
int c=1;
int N;
cin>>N;
int **a;
a=(int **)malloc(N*sizeof((int *)malloc(N*sizeof(int *))));
for(int n=0;n<N;n++)
{
a[n]=(int *)malloc(N*sizeof(int *));
for(int i=0;i<n+1;i++)
{
if((n%2)!=0)
a[n-i][i]=c;
else
a[i][n-i]=c;
c++;
}
}
for(int n=N;n<2*N;n++)
{
for(int i=n-(N-1);i<N;i++)
{
if((n%2)!=0)
a[i][n-i]=c;
else
a[n-i][i]=c;
c++;
}
}
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
system("pause");
return 0;
}
using namespace std;
int main()
{
int c=1;
int N;
cin>>N;
int **a;
a=(int **)malloc(N*sizeof((int *)malloc(N*sizeof(int *))));
for(int n=0;n<N;n++)
{
a[n]=(int *)malloc(N*sizeof(int *));
for(int i=0;i<n+1;i++)
{
if((n%2)!=0)
a[n-i][i]=c;
else
a[i][n-i]=c;
c++;
}
}
for(int n=N;n<2*N;n++)
{
for(int i=n-(N-1);i<N;i++)
{
if((n%2)!=0)
a[i][n-i]=c;
else
a[n-i][i]=c;
c++;
}
}
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
system("pause");
return 0;
}