n,k=map(int,input().split())

#スター型がマックス

if k>((n-1)*(n-2))//2:
    print(-1)
    exit()

ans=set([])

cnt=((n-1)*(n-2))//2
for i in range(2,n+1):
    ans.add((1,i))

for i in range(2,n):
    for j in range(i+1,n+1):
        if cnt>k:
            ans.add((i,j))
            cnt-=1
        else:
            break

print(len(ans))

for item in ans:
    print(item[0],item[1])




 n,k=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split k if k>((n-1)*(n-2))//2:
    print(-1)
    exit() k>((n-1)*(n-2))//2 k ((n-1)*(n-2))//2 (n-1)*(n-2) n-1 n 1 n-2 n 2 2 print(-1) print -1 exit() exit ans=set([]) ans set([]) set [] cnt=((n-1)*(n-2))//2 cnt ((n-1)*(n-2))//2 (n-1)*(n-2) n-1 n 1 n-2 n 2 2 for i in range(2,n+1):
    ans.add((1,i)) i range(2,n+1) range 2 n+1 n 1 ans.add((1,i)) ans.add ans add (1,i) 1 i for i in range(2,n):
    for j in range(i+1,n+1):
        if cnt>k:
            ans.add((i,j))
            cnt-=1
        else:
            break i range(2,n) range 2 n for j in range(i+1,n+1):
        if cnt>k:
            ans.add((i,j))
            cnt-=1
        else:
            break j range(i+1,n+1) range i+1 i 1 n+1 n 1 if cnt>k:
            ans.add((i,j))
            cnt-=1
        else:
            break cnt>k cnt k ans.add((i,j)) ans.add ans add (i,j) i j cnt-=1 cnt 1 break print(len(ans)) print len(ans) len ans for item in ans:
    print(item[0],item[1]) item ans print(item[0],item[1]) print item[0] item 0 item[1] item 1 cnt-=1 1 cnt ans=set([]) set([]) ans n,k=map(int,input().split()) map(int,input().split()) n k=map(int,input().split()) map(int,input().split()) k cnt=((n-1)*(n-2))//2 ((n-1)*(n-2))//2 cnt
n,k=map(int,input().split())

#スター型がマックス

if k>((n-1)*(n-2))//2:
    print(-1)
    exit()

ans=set([])

cnt=((n-1)*(n-2))//2
for i in range(2,n+1):
    ans.add((1,i))

for i in range(2,n):
    for j in range(i+1,n+1):
        if cnt>k:
            ans.add((i,j))
            cnt-=1
        else:
            break

print(len(ans))

for item in ans:
    print(item[0],item[1])





