""" https://yukicoder.me/problems/no/1831 (2N-1 + 1) * (2N-1) / 2 枚 = N*(2N-1) 枚 ある 2N-1個作れるのでは? と考えられる """ import sys from sys import stdin N = int(stdin.readline()) ans = [[2*N-1] for i in range(2*N-1)] for i in range(1,N): rev = 2*N-1 - i if i % 2 == 0: put = [i] * i + [rev] * rev else: put = [rev] * rev + [i] * i for j in range(2*N-1): ans[j].append(put[j]) print (len(ans)) for i in ans: print (*i)