mod = 1000000007 eps = 10**-9 def main(): import sys from collections import deque input = sys.stdin.readline N, D = map(int, input().split()) E = [] for _ in range(N): E.append(input().rstrip('\n')) for i in range(N): if E[i] == "0" * N: print("No") exit() adj = [[] for _ in range(N*2+1)] for i in range(N): for j in range(N): if E[i][j] == "1": adj[i+1].append(j+1+N) adj[i+1+N].append(j+1) for v0 in range(1, N+1): que = deque() que.append(v0) seen = [-1] * (N*2+1) seen[v0] = 0 while que: v = que.popleft() for u in adj[v]: if seen[u] == -1: seen[u] = seen[v] + 1 que.append(u) if D & 1: for v in range(N+1, N*2+1): if seen[v] == -1 or seen[v] > D: print("No") exit() else: for v in range(1, N+1): if seen[v] == -1 or seen[v] > D: print("No") exit() print("Yes") if __name__ == '__main__': main()