#include <iostream>

using namespace std;

unsigned long long a[1510][1510];
unsigned long long *poka[3020];
int n,m;
int dp=0;
unsigned long long maska=1;
int br0=0;
int br1=0;

void proslo(int x,int y){
    if(x==n-1 && y==m-1){
        poka[dp]=&a[x][y];
        dp++;
        if((maska&(a[x][y]))==maska){
            br1++;
        }
        else{
            br0++;
        }
        if(br1>br0){
            int i;
            for(i=0;i<dp;i++){
                (*poka[dp])=(*poka[dp])^maska;
            }
            dp--;
            i=br1;
            br1=br0;
            br0=i;
            if((maska&(a[x][y]))==maska){
                br1--;
            }
            else{
                br0--;
            }
        }
        else{
            if((maska&(a[x][y]))==maska){
                br1--;
            }
            else{
                br0--;
            }
        }
        return ;
    }
    if(x==n-1){
        poka[dp]=&a[x][y];
        dp++;
        if((maska&(a[x][y]))==maska){
            br1++;
        }
        else{
            br0++;
        }
        proslo(x,y+1);
        dp--;
        if((maska&(a[x][y]))==maska){
            br1--;
        }
        else{
            br0--;
        }
        return ;
    }
    if(y==m-1){
        poka[dp]=&a[x][y];
        dp++;
        if((maska&(a[x][y]))==maska){
            br1++;
        }
        else{
            br0++;
        }
        proslo(x+1,y);
        dp--;
        if((maska&(a[x][y]))==maska){
            br1--;
        }
        else{
            br0--;
        }
        return ;
    }

    poka[dp]=&a[x][y];
    dp++;
    if((maska&(a[x][y]))==maska){
        br1++;
    }
    else{
        br0++;
    }
    proslo(x+1,y);
    proslo(x,y+1);
    dp--;
    if((maska&(a[x][y]))==maska){
        br1--;
    }
    else{
        br0--;
    }
}

int main()
{
    cin>>n>>m;
    int i,j;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            cin>>a[i][j];
            while(a[i][j]>maska){
                maska<<=1;
            }
        }
    }
    while(maska){
        proslo(0,0);
        maska>>=1;
    }
    unsigned long long zbir=0;
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            zbir+=a[i][j];
        }
    }
    cout<<zbir<<endl;
    return 0;
}