//#include <stdio.h>
//#include <string.h>
//int main()
//{
// char s[11]={};
// scanf("%s",s);
// printf("welcome! %s",s);
// return 0;
//}
//#include <stdio.h>
//#include <string.h>
//int main()
//{
// char s[201]={};
// int i;
// gets(s);
// for(i=0;s[i]!=NULL;i++)
// {
// if('a'<=s[i]&&s[i]<='c')
// {
// s[i]=s[i]+23;
// }
// else if(s[i]!=' ')
// {
// s[i]=s[i]-3;
// }
// }
// printf("%s",s);
// return 0;
//}
//암호 a b c d e f g h i j k l m n o p q r s t u v w x y z
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//원문 x y z a b c d e f g h i j k l m n o p q r s t u v w
//#include <stdio.h>
//#include <string.h>
//int main()
//{
// char s[201]={};
// int i;
// gets(s);
// for(i=0;s[i]!=NULL;i++)
// {
// if('x'<=s[i]&&s[i]<='z')
// {
// s[i]=s[i]-23;
// }
// else if(s[i]!=' ')
// {
// s[i]=s[i]+3;
// }
// }
// printf("%s",s);
// return 0;
//}
//#include <stdio.h>
//#include <string.h>
//int main()
//{
// char s[21]={};
// int i;
// scanf("%s",s);
// for(i=0;s[i]!=NULL;i++)
// {
// s[i]=s[i]+2;
// }
// printf("%s\n",s);
// for(i=0;s[i]!=NULL;i++)
// {
// s[i]=s[i]-2;
// s[i]=s[i]*7%80+48;
// }
// printf("%s",s);
// return 0;
//}
#include <stdio.h>
int main()
{
int arr[101][101]={},i, j,n,m,k=1;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
for(i=n;i>=1;i--)
{
arr[i][j]=k;
k++;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}



