#include <bits/stdc++.h>
#define ll long long
using namespace std;
bool isPrime(int n)
{
if(n == 2)
return true;
if(n < 2 || (n > 2 && !(n&1)))
return false;
int i = 3;
for(; i*i <= n ; i+=2)
if(n%i == 0)
return false;
return true;
}
void solve()
{
int n,m;cin>>n>>m;
vector<vector<int>> v(n,vector<int>(m));
for(auto& row : v)
for(auto& col : row)
cin>>col;
int ans = LONG_MAX;
for(int j = 0 ; j < n ; j++)
{
int sum = 0;
for(int i = 0 ; i < m ; i++)
{
int Tsum = 0;
while(!isPrime(v[j][i]))
v[j][i]++,sum++,Tsum++;
v[j][i]-= Tsum;
}
ans = min(ans,sum);
}
for(int j = 0 ; j < m ; j++)
{
int sum = 0;
for(int i = 0 ; i < n ; i++)
{
int Tsum = 0;
while(!isPrime(v[i][j]))
v[i][j]++,sum++,Tsum++;
v[i][j] -= Tsum;
}
ans = min(ans,sum);
}
cout << ans << endl;
}
int main()
{
// int t;cin>>t;
// while(t--)
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApib29sIGlzUHJpbWUoaW50IG4pCnsKICAgIGlmKG4gPT0gMikKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIGlmKG4gPCAyIHx8IChuID4gMiAmJiAhKG4mMSkpKQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIGludCBpID0gMzsKICAgIGZvcig7IGkqaSA8PSBuIDsgaSs9MikKICAgICAgICBpZihuJWkgPT0gMCkKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAKfQogCiAKdm9pZCBzb2x2ZSgpCnsKICAgIGludCBuLG07Y2luPj5uPj5tOwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiB2KG4sdmVjdG9yPGludD4obSkpOwogICAgZm9yKGF1dG8mIHJvdyA6IHYpCiAgICAgICAgZm9yKGF1dG8mIGNvbCA6IHJvdykKICAgICAgICAgICAgY2luPj5jb2w7CiAKICAgIGludCBhbnMgPSBMT05HX01BWDsKICAgIGZvcihpbnQgaiA9IDAgOyBqIDwgbiA7IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGludCBzdW0gPSAwOwogICAgICAgICAgICBmb3IoaW50IGkgPSAwIDsgaSA8IG0gOyBpKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaW50IFRzdW0gPSAwOwogICAgICAgICAgICAgICAgICAgIHdoaWxlKCFpc1ByaW1lKHZbal1baV0pKQogICAgICAgICAgICAgICAgICAgICAgICB2W2pdW2ldKyssc3VtKyssVHN1bSsrOwogICAgICAgICAgICAgICAgICAgIHZbal1baV0tPSBUc3VtOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBhbnMgPSBtaW4oYW5zLHN1bSk7CiAgICAgICAgfQogCiAgICBmb3IoaW50IGogPSAwIDsgaiA8IG0gOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBpbnQgc3VtID0gMDsKICAgICAgICAgICAgZm9yKGludCBpID0gMCA7IGkgPCBuIDsgaSsrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGludCBUc3VtID0gMDsKICAgICAgICAgICAgICAgICAgICB3aGlsZSghaXNQcmltZSh2W2ldW2pdKSkKICAgICAgICAgICAgICAgICAgICAgICAgdltpXVtqXSsrLHN1bSsrLFRzdW0rKzsKICAgICAgICAgICAgICAgICAgICB2W2ldW2pdIC09IFRzdW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGFucyA9IG1pbihhbnMsc3VtKTsKICAgICAgICB9CiAKICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7CiAKfQogCmludCBtYWluKCkKewovLyAgICBpbnQgdDtjaW4+PnQ7Ci8vICAgIHdoaWxlKHQtLSkKICAgICAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0=