#include #define syosu(x) fixed< P; typedef pair pdd; typedef pair pll; typedef vector vi; typedef vector vvi; typedef vector vd; typedef vector vvd; typedef vector vl; typedef vector vvl; typedef vector vs; typedef vector

vp; typedef vector vvp; typedef vector vpll; typedef pair pip; typedef vector vip; const int inf=1<<30; const ll INF=1ll<<60; const double pi=acos(-1); const double eps=1e-8; const ll mod=1e9+7; const int dx[4]={-1,0,1,0},dy[4]={0,-1,0,1}; int h,w; vvi a; int main(){ cin>>h>>w; a=vvi(h+2,vi(w+2)); for(int i=1;i<=h;i++) for(int j=1;j<=w;j++) cin>>a[i][j]; int t=0; for(int i=1;i<=h;i++) for(int j=1;j<=w;j++) if(a[i][j]){ t++; queue

q; q.push({i,j}); while(!q.empty()){ P p=q.front();q.pop(); int x=p.first,y=p.second; for(int k=0;k<4;k++){ int cx=x+dx[k],cy=y+dy[k]; if(a[cx][cy]){ a[cx][cy]=0; q.push({cx,cy}); } } } } cout<