#include <bits/stdc++.h>
using namespace std;
const int EF = 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 + 10;
int mark[10], perm[EF][10], np;
int p[10];
int n, k;
int num[10], a[10];
int dig[10][10];
int ans = -1;
void make_perm(int j) {
  if (j == k) {
    for (int i = 0; i < k; i++) perm[np][i] = p[i];
    np++;
    return;
  }
  for (int i = 0; i < k; i++)
    if (!mark[i]) {
      p[j] = i;
      mark[i] = true;
      make_perm(j + 1);
      mark[i] = false;
    }
}
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  make_perm(0);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < k; j++) {
      dig[i][j] = a[i] % 10;
      a[i] /= 10;
    }
  for (int i = 0; i < np; i++) {
    for (int j = 0; j < n; j++) {
      num[j] = 0;
      for (int h = 0; h < k; h++) num[j] = num[j] * 10 + dig[j][perm[i][h]];
    }
    int Min = num[0];
    int Max = num[0];
    for (int j = 1; j < n; j++) {
      Min = min(Min, num[j]);
      Max = max(Max, num[j]);
    }
    if (ans == -1 || ans > Max - Min) ans = Max - Min;
  }
  cout << ans << endl;
}
