Convexity of a set of points on the plane is the size of the largest subset of points that form a convex polygon. Your task is to build a set of *n* points with the convexity of exactly *m*. Your set of points should not contain three points that lie on a straight line.
The single line contains two integers *n* and *m* (3 ≤ *m* ≤ 100, *m* ≤ *n* ≤ 2*m*).
n, m = map(int, input().split())


if m == 3:
    if n >= 5:
        print(-1)
        exit(0)
    print(0, 0)
    print(2, 0)
    print(1, 1)
    if n >= 4:
        print(1, 2)
    exit(0)

square = [[-1, -1], [-1, 1], [1, 1], [1, -1]]

r = n - m
s = (r + 3)//4
for i in range(1, s + 1):
    for x, y in square:
        if r == 0: break
        print(x*i, y*i)
        r -= 1
assert (r == 0)

s += 1
s = max(s, (m + 3)//4)

for x, y in square:
    print(s*x, s*y)

m -= 4

for i in range(4):
    x0, y0 = square[i]
    dx, dy = square[(i + 1)%4]
    dx -= x0
    dy -= y0
    d = min(m, s - 1)
    m -= d
    for j in range(1, d + 1):
        print(x0 + dx*j, y0 + dy*j)
