from random import shuffle # N偶数は正しくないよ! N=int(input()) if N<=3: print("-1") exit() if N==4: print( """1 2 3 4 1 5 2 6 4 8 6 7 7 8 7 11 9 10 11 12 9 13 11 15 12 16 13 14 14 15 """) exit() if N%2==0: P=list(range(1,N-1)) P.pop(P.index(N-3)) p=[] while True: shuffle(P) p=[0]+P+[N-3] flg=True for i in range(1,N-1): if i%2==0: if p[i-1]==p[i]+1: flg=False else: if p[i-1]==p[i]-1: flg=False if flg: break P=[] for i in range(N-1): rng=range(i*N,(i+1)*N) if i%2==1: rng=reversed(rng) for j in rng: P.append(j) dnt=set() for i in range(1,N-1): dnt.add(i*N+p[i]) for i in range(N*N-N-3): if P[i] not in dnt: print(P[i]+1,P[i+1]+1) else: print(P[i+1]+1-N,P[i+1]+1) print(N*N-N+1,N*N-N-N+1) for i in range(N-2): print(N*N-N+1+i,N*N-N+2+i) print(N*N,N*N-N) print(N*N-N,N*N-N-1) print(N*N-N-1,N*N-1) exit(0) P=list(range(1,N-1)) p=[] while True: shuffle(P) p=[0]+P+[N-1] flg=True for i in range(1,N): if i%2==0: if p[i-1]==p[i]+1: flg=False else: if p[i-1]==p[i]-1: flg=False if flg: break P=[] for i in range(N): rng=range(i*N,(i+1)*N) if i%2==1: rng=reversed(rng) for j in rng: P.append(j) dnt=set() for i in range(1,N): dnt.add(i*N+p[i]) for i in range(N*N-1): if P[i] not in dnt: print(P[i]+1,P[i+1]+1) else: print(P[i+1]+1-N,P[i+1]+1)