import java.io.BufferedReader import java.io.InputStream import java.io.InputStreamReader import java.io.PrintWriter import java.util.* fun PrintWriter.solve(sc: FastScanner) { val n = sc.nextInt() val a = Array(n) { Array(n) { 0 } } val rep = Array(n) { 0 } for (i in 0 until n) { rep[(i * 2) % n] = i + 1 } for (i in 0 until n) { for (j in 0 until n) { a[i][j] = rep[(i + j) % n] } } for (i in 0 until n) { println(a[i].joinToString(" ")) } } fun main() { val writer = PrintWriter(System.out, false) writer.solve(FastScanner(System.`in`)) writer.flush() } class FastScanner(s: InputStream) { private var st = StringTokenizer("") private val br = BufferedReader(InputStreamReader(s)) fun next(): String { while (!st.hasMoreTokens()) st = StringTokenizer(br.readLine()) return st.nextToken() } fun nextInt() = next().toInt() fun nextLong() = next().toLong() fun nextLine() = br.readLine() fun nextDouble() = next().toDouble() fun ready() = br.ready() }