#include <bits/stdc++.h>
using namespace std;
int N, K;
string str;
string s[10];
int is[10];
int m;
void gen(int);
void rz(string st);
int main() {
  int k;
  cin >> N >> K;
  str.resize(K);
  for (int i = 0; i < K; i++) str[i] = (i + 1) + 48;
  m = -1;
  for (int i = 0; i < N; i++) cin >> s[i];
  gen(0);
  cout << m;
  return 0;
}
void gen(int k) {
  if (k == K - 1) {
    rz(str);
  } else {
    for (int j = k; j < K; j++) {
      swap(str[k], str[j]);
      gen(k + 1);
      swap(str[k], str[j]);
    }
  }
}
int ch(string l, string st) {
  int res = 0;
  for (int i = 0; i < st.size(); i++) {
    int index = st[i] - 48;
    res += l[index - 1] - 48;
    res *= 10;
  }
  res /= 10;
  return res;
}
void rz(string st) {
  for (int i = 0; i < N; i++) is[i] = ch(s[i], st);
  int rmin = is[0];
  int rmax = is[0];
  for (int i = 1; i < N; i++) {
    if (is[i] < rmin) rmin = is[i];
    if (is[i] > rmax) rmax = is[i];
  }
  if ((rmax - rmin) < m || m == -1) m = rmax - rmin;
}
