n=gets.to_i a=Array.new(n,nil).map{Array.new(n,nil)} s=[0,0] d=0 (n**2).times do |i| a[s[0]][s[1]]=i+1 if d==0 if s[1]+1==n || a[s[0]][s[1]+1] d=1 s[0]+=1 else s[1]+=1 end elsif d==1 if s[0]+1==n || a[s[0]+1][s[1]] d=2 s[1]-=1 else s[0]+=1 end elsif d==2 if s[1]-1==-1 || a[s[0]][s[1]-1] d=3 s[0]-=1 else s[1]-=1 end else if s[0]-1==-1 || a[s[0]-1][s[1]] d=0 s[1]+=1 else s[0]-=1 end end end a.each do |e| puts e.map{|i|"%03d"%i}*" " end