
def sum(t):
    res = 0
    for x in t:
        res += x
    return res

def check_simpson(a, b, c, d, M):
    assert sum(b) == M
    assert sum(d) == M
    n = len(a)
    for i in range(0, n):
        assert a[i] > 0
        assert c[i] > 0
        # assert a[i] / b[i] > c[i] / d[i]
        assert a[i] * d[i] > c[i] * b[i]
    assert sum(a) < sum(c)
    return True

def construct(N, M):
    a = []
    b = []
    c = []
    d = []
    for i in range(0, N - 1):
        a.append(1)
        b.append(3)
    a.append(M - 3 * (N - 1) - 1)
    b.append(M - 3 * (N - 1))
    
    denom = M - 1 - 2 * (N - 2)
    numer = 0
    while (3 * numer <= denom):
        numer = numer + 1
        
    c.append(numer)
    d.append(denom)
    
    for i in range(0, N - 2):
        c.append(1)
        d.append(2)
    c.append(1)
    d.append(1)
    
    return c, d, a, b

if __name__ == '__main__':
    N, M = map(int, input().strip().split(" "))
    a, b, c, d = construct(N, M)
    check_simpson(a, b, c, d, M)

    for i in range(0, N):
        print(a[i], b[i], c[i], d[i])