#include <bits/stdc++.h>

using namespace std;

long long mat[1505][1505];

long long f(long long a,long long b,long long c)
{
    long long najveci=max(a,max(b,c));
    long long uk=0;
    long long st=1;
    while(st<=najveci)
    {
        long long br=0;
        if(a & st)
            br++;
        if(b & st)
            br++;
        if(c & st)
            br++;
        if(br>3-br)
            br=3-br;
        uk+=br*st;
        st*=2;
    }
    return uk;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>mat[i][j];
    if((n==1 && m==1) || (n==1 && m==2) || (n==2 && m==1))
    {
        cout<<0;
        return 0;
    }
    if(n==2 && m==2)
    {
        cout<<min(f(mat[0][0],mat[1][0],mat[1][1]),f(mat[0][0],mat[0][1],mat[1][1]));
        return 0;
    }
    if(n==1)
    {
        long long uk=0;
        long long najveci=mat[0][0];
        for(int i=1;i<m;i++)
        {
            if(mat[0][i]>najveci)
                najveci=mat[0][i];
        }
        long long st=1;
        while(st<=najveci)
        {
            long long br=0;
            for(int i=0;i<m;i++)
            {
                if(mat[0][i] & st)
                    br++;
            }
            if(br>m-br)
                br=m-br;
            uk+=br*st;
            st*=2;
        }
        cout<<uk;
    }
    return 0;
}