main=do m<-readLn;mapM putStrLn[unwords[show$i!j|j<-[1..m],i!j<=m]|i<-[-m..0],i!1