#include<stdio.h>#include<stdlib.h>#define N 30int a[N][N],dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};int s[N][N];int main(){int n;scanf(&quot;%d&quot;,&amp;n);int x=0,y=0,X=0,Y=0;int k=0;for(int i=1;i<=n*n;i++){ s[x][y]=1;a[x][y]=i;X=x+dx[k];Y=y+dy[k];if(X>=0&amp;&amp;X<n&amp;&amp;Y>=0&amp;&amp;Y<n&amp;&amp;s[X][Y]==0) {x=X;y=Y;}else{if(k!=3){k++;x+=dx[k];y+=dy[k];}else{k=0;x+=dx[k];y+=dy[k];}}}for(int i=0;i<n;i++){for(int j=0;j<n;j++)printf(&quot;%d &quot;,a[i][j]);printf(&quot;\n&quot;);}return 0;}