r n=([1..n]>>" ")++"X" main=do c<-readLn;let m=c`div`2;l=[r(k-1)++r(c-2*k)|k<-[1..m]] mapM putStrLn$l++[r m]++reverse l