#include <bits/stdc++.h>

using namespace std;

const int MAXN = 1504;
int a[MAXN][MAXN];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

#ifdef OKRUZNOMAKS
    freopen("../input.txt", "r", stdin);
    freopen("../output.txt", "w",stdout);
#endif // OKRUZNOMAKS

    int n, m;
    cin >> n >> m;
    for(int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            cin >> a[i][j];
        }
    }
    if(n == 1)
    {
        long long xori = 0;
        for (int k = 0; k < 31; k++)
        {
            int cnt = 0;
            for(int i = 0; i < m; i++)
            {
                cnt += (a[0][i] >> k) % 2;
            }
            if (cnt > m/2)
            {
                xori |= (1 << k);
            }
        }
         long long ans = 0;
        for (int i = 0; i < m; i++)
        {
            ans += (a[0][i] ^ xori);
        }
        cout << ans << endl;
    }
    else if(n==2 && m==2)
    {
         long long xori = 0;
        for (int k = 0; k < 31; k++)
        {
            int cnt = 0;
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < n; j++)
                {
                    if(i == 1 && j == 0)
                        continue;
                    cnt += (a[i][j] >> k) % 2;
                }
            }
            if (cnt > 1)
            {
                xori |= (1 << k);
            }
        }
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < n; j++)
            {
                if(i == 1 && j == 0)
                    continue;
                a[i][j] ^= xori;
            }
        }

        xori = 0;
        for (int k = 0; k < 31; k++)
        {
            int cnt = 0;
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < n; j++)
                {
                    if(i == 0 && j == 1)
                        continue;
                    cnt += (a[i][j] >> k) % 2;
                }
            }
            if (cnt > 1)
            {
                xori |= (1 << k);
            }
        }
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < n; j++)
            {
                if(i == 1 && j == 0)
                    continue;
                a[i][j] ^= xori;
            }
        }


         long long ans = 0;
        for(int i = 0; i < n; i++)
        {
            for(int j = 0; j < n; j++)
            {
                ans += a[i][j];
            }
        }

        cout << ans << endl;
    }


    return 0;
}