#include <bits/stdc++.h>
#define int long long
int arr[1000010];
int arr2[100010];
signed main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int n,m;
std::cin >> n >> m;
if(n==1){
int cost = 0;
int maxS = 0;
for(int i=1;i<=m;i++){
std::cin >> arr[i];
if(arr[i]==0)arr[i]=-1;
else cost+=1,arr[i]=1;
}
int best = 0;
for(int i=1;i<=m;i++){
maxS+=arr[i];
best=std::max(maxS,best);
if(maxS<0)maxS=0;
}
std::cout << cost - best;
}
else if(n==2){
int cost = 0;
int maxS = 0;
for(int i=1;i<=m;i++){
std::cin >> arr[i];
if(arr[i]==0)arr[i]=-1;
else cost+=1,arr[i]=1;
}
for(int i=1;i<=m;i++){
std::cin >> arr2[i];
if(arr2[i]==0)arr2[i]=-1;
else cost+=1,arr2[i]=1;
}
int best = 0;
for(int i=1;i<=m;i++){
maxS+=arr[i];
best=std::max(maxS,best);
if(maxS<0)maxS=0;
}
maxS=0;
for(int i=1;i<=m;i++){
maxS+=arr2[i];
best=std::max(maxS,best);
if(maxS<0)maxS=0;
}
maxS=0;
for(int i=1;i<=m;i++){
maxS+=arr[i]+arr2[i];
best=std::max(maxS,best);
if(maxS<0)maxS=0;
}
std::cout << cost - best;
}
}