"""

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)