#include <bits/stdc++.h>

using namespace std;

int main()
{
    long long n,m;
    cin>>n>>m;
    long long matra[n][m];
    for(long long i=0;i<n;i++)
        for(long long j=0;j<m;j++)
            cin>>matra[i][j];

    long long nizn[n-1];
    for(int i=1;i<=n-1;i++)
    {
        long long y=0;
        long long x=i;
        long long s=0;
        while(x>=0 && y<=m-1)
        {
            s=s^matra[x][y];
            //cout<<x<<" "<<" "<<y<<" "<<matra[x][y]<<endl;
            x--;
            y++;
        }
        nizn[i-1]=s;
    }
    long long nizm[m-2];
    for(long long i=1;i<m-1;i++)
    {
        long long y=i;
        long long x=n-1;
        long long s=0;
        while(y<=m-1 && x>=0)
        {
            s=s^matra[x][y];
            //cout<<x<<" "<<" "<<y<<" "<<matra[x][y]<<endl;
            x--;
            y++;
        }
        nizm[i-1]=s;
    }
    /*for(int i=0;i<n-1;i++)
        cout<<nizn[i]<<" ";
    cout<<endl;

    for(int i=0;i<m-2;i++)
        cout<<nizm[i]<<" ";
    cout<<endl;
    */
    long long svi[n+m-1];
    svi[0]=matra[0][0];
    svi[n+m-2]=matra[n-1][m-1];
    for(long long i=0;i<n-1;i++)
        svi[i+1]=nizn[i];
    for(long long i=n;i<n+m-2;i++)
        svi[i]=nizm[i-n];
    long long suma=0;
    for(int i=0;i<n+m-1;i++)
        suma+=svi[i];
    vector<long long> manje;
    for(long long i=0;i<31;i++)
    {
        long long e=1;
        long long sumap=0;
        for(int j=0;j<i;j++)
            e=e*2;
        for(int i=0;i<n+m-1;i++)
            sumap+=(e^svi[i]);
        if(sumap<suma)
        {
            manje.push_back(i);
        }
    }
    long long broj=0;
    for(int i=0;i<manje.size();i++)
    {
        int e=1;
        for(int j=0;j<manje[i];j++)
            e=e*2;

        broj+=e;
    }
    if(broj==0)
    {
        cout<<suma;
        return 0;
    }
    long long rez=0;
    for(int i=0;i<n+m-1;i++)
    {
        rez=(svi[i]^broj);
    }
    cout<<rez;
    return 0;
}