import numpy as np
n = int(input())
s = int(input())
np.random.seed(s)
A = np.random.randint(0, 2, (n, n)).astype(float)
for i in range(n):
A[i, i] += np.sum(A[i])
b = np.random.randint(0, 2*n, n).astype(float)
x = np.zeros(n)
for _ in range(100):
xn = np.zeros(n)
for i in range(n):
s = b[i] - np.dot(A[i, :], x) + A[i, i] * x[i]
xn[i] = s / A[i, i]
if np.linalg.norm(np.dot(A, xn) - b) < 1e-6:
x = xn
break
x = xn
print(*x)
aW1wb3J0IG51bXB5IGFzIG5wCgpuID0gaW50KGlucHV0KCkpCnMgPSBpbnQoaW5wdXQoKSkKCm5wLnJhbmRvbS5zZWVkKHMpCgpBID0gbnAucmFuZG9tLnJhbmRpbnQoMCwgMiwgKG4sIG4pKS5hc3R5cGUoZmxvYXQpCmZvciBpIGluIHJhbmdlKG4pOgogICAgQVtpLCBpXSArPSBucC5zdW0oQVtpXSkKCmIgPSBucC5yYW5kb20ucmFuZGludCgwLCAyKm4sIG4pLmFzdHlwZShmbG9hdCkKCnggPSBucC56ZXJvcyhuKQpmb3IgXyBpbiByYW5nZSgxMDApOgogICAgeG4gPSBucC56ZXJvcyhuKQogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAgICAgcyA9IGJbaV0gLSBucC5kb3QoQVtpLCA6XSwgeCkgKyBBW2ksIGldICogeFtpXQogICAgICAgIHhuW2ldID0gcyAvIEFbaSwgaV0KCiAgICBpZiBucC5saW5hbGcubm9ybShucC5kb3QoQSwgeG4pIC0gYikgPCAxZS02OgogICAgICAgIHggPSB4bgogICAgICAgIGJyZWFrCiAgICB4ID0geG4KCnByaW50KCp4KQ==