# writer解(別解) n, k = map(int, input().split()) if k > n*(n-1): print("No") exit() ans = [n*[0] for _ in range(n)] if k == 3: ans[-2][-3] = 1 elif k == n*(n-1)-3: for i in range(n): ans[i][i] = 1 ans[1][2] = 1 elif k%2 == 0: for i in range(n): m = (n-i-1)*2 if k >= m: ans[i][i] = 1 k -= m else: ans[-1][-1] = 1 ans[-1][-2] = 1 ans[-2][-2] = 1 k -= 1 for i in range(n-2): m = (n-i-1)*2 if k >= m: ans[i][i] = 1 k -= m print("Yes") for i in ans: print(*i)