#include <iostream> using namespace std; int arr[105][105]; int M,N; int Matsum(int a,int b) { int p,max_end_here=0,max_so_far=0; int Line[105]; for(int i=1;i<=N;i++) { p = 0; for(int j=a;j<=b;j++) { p+=arr[j][i]; } Line[i]=p; } max_end_here=0; max_so_far=0; for(int i=1;i<=N;i++) { max_end_here = max_end_here + Line[i]; if(max_end_here<0) max_end_here = 0; if(max_so_far<max_end_here) max_so_far = max_end_here; } return max_so_far; } int main() { int a; int mx=0,x; while(cin>>M>>N) { if(M==0 && N==0) break; for(int i=1;i<=M;i++) { for(int j=1;j<=N;j++) { cin>>a; if(a==0) arr[i][j]=1; //a = -1; if(a) arr[i][j]=-1000000;//a[i-1][j]+a; } } mx = 0; for(int i=1;i<=M;i++) { for(int j=i;j<=M;j++) { x = Matsum(i,j); if(x>mx) mx=x; } } cout<<mx<<"\n"; }//end while return 0; }