N = int(eval(input()))

ans = []

if N % 2 == 0:

    for i in range(1, N + 1):

        for j in range(i + 1, N + 1):

            if i + j != N + 1:

                ans.append((i, j))

else:

    for i in range(1, N + 1):

        for j in range(i + 1, N + 1):

            if i + j != N:

                ans.append((i, j))

print((len(ans)))

for a in ans:

    print((' '.join(map(str, a))))

# 入力

N = int(eval(input()))



# Nが偶数ならば完全グラフから辺 (1, N), (2, N-1), ... を除いたグラフが解

# Nが奇数ならば完全グラフから辺 (1, N-1), (2, N-2), ... を除いたグラフが解

M = (

    N * (N - 1) // 2 - N // 2 if N % 2 == 0 else

    N * (N - 1) // 2 - (N - 1) // 2

)

s = N + 1 if N % 2 == 0 else N

ans = str(M) + '\n' + '\n'.join(

    '{} {}'.format(i, j)

    for i in range(1, N)

    for j in range(i + 1, N + 1)

    if i + j != s

)



# 出力

print(ans)

N = int(eval(input()))
ans = []
if N % 2 == 0:
    for i in range(1, N + 1):
        for j in range(i + 1, N + 1):
            if i + j != N + 1:
                ans.append((i, j))
else:
    for i in range(1, N + 1):
        for j in range(i + 1, N + 1):
            if i + j != N:
                ans.append((i, j))
print((len(ans)))
for a in ans:
    print((" ".join(map(str, a))))

# 入力
N = int(eval(input()))
# Nが偶数ならば完全グラフから辺 (1, N), (2, N-1), ... を除いたグラフが解
# Nが奇数ならば完全グラフから辺 (1, N-1), (2, N-2), ... を除いたグラフが解
M = N * (N - 1) // 2 - N // 2 if N % 2 == 0 else N * (N - 1) // 2 - (N - 1) // 2
s = N + 1 if N % 2 == 0 else N
ans = (
    str(M)
    + "\n"
    + "\n".join(
        "{} {}".format(i, j)
        for i in range(1, N)
        for j in range(i + 1, N + 1)
        if i + j != s
    )
)
# 出力
print(ans)

+# 入力 -ans = [] -if N % 2 == 0: -    for i in range(1, N + 1): -        for j in range(i + 1, N + 1): -            if i + j != N + 1: -                ans.append((i, j)) -else: -    for i in range(1, N + 1): -        for j in range(i + 1, N + 1): -            if i + j != N: -                ans.append((i, j)) -print((len(ans))) -for a in ans: -    print((" ".join(map(str, a)))) +# Nが偶数ならば完全グラフから辺 (1, N), (2, N-1), ... を除いたグラフが解 +# Nが奇数ならば完全グラフから辺 (1, N-1), (2, N-2), ... を除いたグラフが解 +M = N * (N - 1) // 2 - N // 2 if N % 2 == 0 else N * (N - 1) // 2 - (N - 1) // 2 +s = N + 1 if N % 2 == 0 else N +ans = ( +    str(M) +    + "\n" +    + "\n".join( +        "{} {}".format(i, j) +        for i in range(1, N) +        for j in range(i + 1, N + 1) +        if i + j != s +    ) +) +# 出力 +print(ans)