#include using namespace std; using i64 = long long; #define rep(i,s,e) for(int (i) = (s);(i) <= (e);(i)++) int H,W; int A[3030][3030]; int main(){ cin >> H >> W; rep(i,1,H){ rep(j,1,W){ cin >> A[i][j]; } } using P = pair; int ans = 0; rep(i,1,H){ rep(j,1,W){ if(A[i][j] == 0) continue; queue

que; que.push({i,j}); while(!que.empty()){ int x = que.front().first; int y = que.front().second; que.pop(); if(A[x][y] == 0) continue; A[x][y] = 0; que.push({x + 1,y}); que.push({x - 1,y}); que.push({x,y + 1}); que.push({x,y - 1}); } ans++; } } cout << ans << endl; }