from collections import deque H, W = map(int, input().split()) pond = [] for i in range(H): a = [int(i) for i in input().split()] pond.append(a) ans = 0 q = deque() toward = [[0, 1], [0, -1], [1, 0], [-1, 0]] visited = [([False] * W) for i in range(H)] def search(): while len(q) > 0: x, y = q.popleft() visited[x][y] = True for k in range(4): dx, dy = x + toward[k][0], y + toward[k][1] if (0 <= dx < H) and (0 <= dy < W): if (pond[dx][dy] == 1) and (visited[dx][dy] == False): visited[dx][dy] = True q.append([dx, dy]) for i in range(H): for j in range(W): if (pond[i][j] == 1) and (visited[i][j] == False): q.append([i, j]) search() ans += 1 print(ans)