#include #include #define DX 505 using namespace std; int n,m; char x[DX][DX]; int nr[DX][DX]; int main() { int i,j,max1,max2,ind1,ind2,maxim=-999,maxi; cin>>n>>m; for(i=1;i<=n;i++) cin>>(x[i]+1); for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { if(x[i][j]=='1') { nr[i][j]=1; nr[i][j]+=nr[i-1][j]; } } } for(i=1;i<=n;i++) { max1=max2=maxi-1; for(j=1;j<=m;j++) { if(nr[i][j]>max1) { max2=max1; ind2=ind1; ind1=j; max1=nr[i][j]; } else { if(nr[i][j]>max2) { max2=nr[i][j]; ind2=j; } } if(x[i][j]=='0') { max1=max2=-1; } if(max2>=1 && max1>=1) maxi=max(maxi,max2+max1+(ind2-ind1-1)-(max1==max2)); } if(max2>=1 && max1>=1) maxim=max(maxim,maxi); } cout<