#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define RD(v) long v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} short d[4096]; main(){ char*rp=mmap(0l,1l<<25,1,2,0,0ll); RD(h); RD(w);++w; long i=0,z=0,a=0,b=0,c=0; while(c=*rp++){ if(c&1){ c=b; b=d[i]; a=(a=a?z:a; }else{ a=0; } d[i+w&4095]=a; i=i+1&4095; } z=z+1>>1; { long n=0; long d=0; while(++n,d=d<<8|0x30|z%10,z/=10); write(1,&d,n); } _exit(0); }