#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e6 +5;
pair<long long, long long> pr[MaxN];
long long n,m;
map<long long, long long>mp;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
long long cnt=0;
for (long long i=1; i<=n ;i++)
{
for (long long j=1; j<=m; j++)
{
long long x;
cin >> x;
pr[++cnt].first = x;
pr[cnt].second=i;
}
}
sort(pr+1,pr+cnt+1);
long long l=1,r=1,ans=LLONG_MAX;
while (r<=cnt)
{
mp[pr[r].second]++;
while(mp.size()==n)
{
ans=min(ans,pr[r].first-pr[l].first);
mp[pr[l].second]--;
if(mp[pr[l].second]==0)
{
mp.erase(pr[l].second);
}
l++;
}
r++;
}
cout << ans;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxZTYgKzU7CnBhaXI8bG9uZyBsb25nLCBsb25nIGxvbmc+IHByW01heE5dOwpsb25nIGxvbmcgbixtOwptYXA8bG9uZyBsb25nLCBsb25nIGxvbmc+bXA7CmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgbG9uZyBsb25nIGNudD0wOwogICAgZm9yIChsb25nIGxvbmcgaT0xOyBpPD1uIDtpKyspCiAgICB7CiAgICAgICAgZm9yIChsb25nIGxvbmcgaj0xOyBqPD1tOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBsb25nIGxvbmcgeDsKICAgICAgICAgICAgY2luID4+IHg7CiAgICAgICAgICAgIHByWysrY250XS5maXJzdCA9IHg7CiAgICAgICAgICAgIHByW2NudF0uc2Vjb25kPWk7CiAgICAgICAgfQogICAgfQogICAgc29ydChwcisxLHByK2NudCsxKTsKICAgIGxvbmcgbG9uZyBsPTEscj0xLGFucz1MTE9OR19NQVg7CiAgICB3aGlsZSAocjw9Y250KQogICAgewogICAgICAgIG1wW3ByW3JdLnNlY29uZF0rKzsKICAgICAgICB3aGlsZShtcC5zaXplKCk9PW4pCiAgICAgICAgewogICAgICAgICAgICBhbnM9bWluKGFucyxwcltyXS5maXJzdC1wcltsXS5maXJzdCk7CiAgICAgICAgICAgIG1wW3ByW2xdLnNlY29uZF0tLTsKICAgICAgICAgICAgaWYobXBbcHJbbF0uc2Vjb25kXT09MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbXAuZXJhc2UocHJbbF0uc2Vjb25kKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBsKys7CiAgICAgICAgfQogICAgICAgIHIrKzsKICAgIH0KICAgIGNvdXQgPDwgYW5zOwp9Cg==