def printout():
    for i in range(M):
        print(c[i], d[i])
    V = len(t)
    print(V)
    for i in range(V):
        print(t[i], r[i])

def fileout():
    f = open(r"C:\Users\AwanoShota\OneDrive\ドキュメント\kojinyou\atcoder\yukicoder_marathon\out.txt", "w")
    for i in range(M):
        f.write("{} {}\n".format(c[i], d[i]))
    V = len(t)
    f.write(str(V) + "\n")
    for i in range(V):
        f.write("{} {}\n".format(t[i], r[i]))


N, M = map(int, input().split())
a = [0] * N
b = [0] * N
for i in range(N):
    a[i], b[i] = map(int, input().split())

c = [0] * M
d = [0] * M

for i in range(M):
    c[i] = i
    d[i] = i+1

t = []
r = []

for i in range(N):
    t.append(1)
    r.append(i+1)

t.append(1)
r.append(1)

printout()