#include <bits/stdc++.h>
using namespace std;
double const pi = 3.1415926536;
int const N = 1000005;
string s[10];
set<string> all;
int u = 1, k;
void f(string x) {
  if (all.size() == u) return;
  for (int i = 0; i < k - 1; i++) {
    string t = x;
    swap(t[i], t[i + 1]);
    if (all.find(t) == all.end()) {
      all.insert(t);
      f(t);
    }
  }
}
int main() {
  int n;
  cin >> n >> k;
  string x;
  for (int i = 0; i < n; i++) cin >> s[i];
  for (int i = 0; i < k; i++) {
    u *= i + 1;
    x += i + 1 + '0';
  }
  all.insert(x);
  f(x);
  int ans = 1e9;
  for (string c : all) {
    int a[n];
    for (int i = 0; i < n; i++) {
      a[i] = 0;
      for (int j = 0; j < k; j++) {
        a[i] += (s[i][c[j] - '1'] - '0') * pow(10, k - j - 1);
      }
    }
    int mn = 1e9, mx = 0;
    for (int i = 0; i < n; i++) {
      mx = max(mx, a[i]);
      mn = min(mn, a[i]);
    }
    ans = min(mx - mn, ans);
  }
  cout << ans;
}
