#include <bits/stdc++.h>
int n, m, t[10][10], i, j, tail[10], sum[10], tl[10];
int min, max, all = 999999999;
char s[10];
bool u[10];
void pnr(int x) {
  int k, l;
  for (k = 0; k < m; k++) {
    if (u[k]) continue;
    u[k] = 1;
    for (i = 1; i <= n; i++) sum[i] = sum[i] * 10 + t[i][k];
    if (x < m)
      pnr(x + 1);
    else {
      for (min = max = 1, i = 2; i <= n; i++)
        if (sum[i] < sum[min])
          min = i;
        else if (sum[i] > sum[max])
          max = i;
      if (sum[max] - sum[min] < all) all = sum[max] - sum[min];
    }
    for (i = 1; i <= n; i++) sum[i] /= 10;
    u[k] = 0;
  }
}
int main() {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) {
    scanf("%s", &s);
    for (j = 0; j < m; j++) t[i][j] = s[j] - '0';
  }
  pnr(1);
  printf("%d", all);
  scanf(" ");
}
