N = int(input()) N2 = N**2 if(N2 <= 4): print(-1) exit() edge = set() for i in range(N2): for di in [-(N-1)**2,-(N-1),(N-1),(N-1)**2]: new = (i + di) % N2 a,b = min(i,new), max(i,new) edge.add((a+1,b+1)) def check(N2, edge_list): edge = [[] for _ in range(N2+1)] for a,b in edge_list: edge[a].append(b) edge[b].append(a) if(any(len(i) != 4 for i in edge[1:])):return False for i in range(1,N2+1): if(sum(edge[i]) % N2 != 4*i % N2):return False return True if(not check(N2,edge)): print(-1) else: print(len(edge)) for i in sorted(edge): print(*i)