#include  <stdio.h>

int main() 
{ 
	int A[6][6]; // 5행X 5열
	int K=5;// 각 회전 당 N값의 갯수 //회전당 출력되는 n갯수 
	int N=0;// 1씩 증가되는 숫자 처리
	int S=1;// 행열의 증가/ 방향전환
	int I=1;//행  
	int J=0;//열
	int p;
	
	
	//printf
	int i;
	int j;
	
	//  (i,j)
	/*  (1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1) (3,2) (3,3) (3,4) (3,5)
		(4,1) (4,2) (4,3) (4,4) (4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
		
	//  (i,j)
	/*  (1,1) (1,2) (1,3) (1,4) (1,5)
								(2,5)
								(3,5)
								(4,5)
								(5,5) 
	*/
		//  (i,j)
	/*  (1,1) (1,2) (1,3) (1,4) (1,5)
								(2,5)
								(3,5)
								(4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
	/*  (1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1)					(2,5)
		(3,1)					(3,5)
		(4,1)					(4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
	/*  
		(1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1)					(3,5)
		(4,1)					(4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
	/*  
		(1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1)			  (3,4)	(3,5)
		(4,1)			  (4,4) (4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
	
	/*  
		(1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1)			  (3,4)	(3,5)
		(4,1)			  (4,4) (4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
	/*  
		(1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1)			  (3,4)	(3,5)
		(4,1) (4,2) (4,3) (4,4) (4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
		/*  
		(1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1) (3,2)	      (3,4)	(3,5)
		(4,1) (4,2) (4,3) (4,4) (4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
		/*  
		(1,1) (1,2) (1,3) (1,4) (1,5)
		(2,1) (2,2) (2,3) (2,4) (2,5)
		(3,1) (3,2)	(3,3) (3,4)	(3,5)
		(4,1) (4,2) (4,3) (4,4) (4,5)
		(5,1) (5,2) (5,3) (5,4) (5,5) 
	*/
	while(K>0)
	{
		for(p=1; p<K+1; p++)
		{
			//가 로 
			//(1,1) (1,2) (1,3) (1,4) (1,5)
			//N 1 ~ 25 
			N = N + 1; 
			//j가 증가
			//i는 고정  
			J = J + S; // S만큼 증가 S = 1 
			A[I][J] = N;
		}
		//5 4 4 3 3 2 2 1 1 
		K = K - 1;
		
		if(K > 0)
		{
			for(p=1; p<K+1; p++)
			{
				//세로 
				N = N + 1;
				// I가 증가
				// J는 고정
				// 증가량 S = 1
				I = I + S;
				A[I][J] = N; 
			}
		}
		S = S*(-1);
	}

	for(i = 1; i <= 5; i ++)
	{
		for(j = 1; j <=5; j++)
		printf("   %d       ", A[i][j]);
		printf("\n");
	}
}