#include <bits/stdc++.h>   using namespace std;   const int maxn = 10;   const int INF = 2147000000;   int n, k;   int a[maxn][maxn];   int b[maxn], vis[maxn];   int ans = INF;   int make(int num) {     int res = 0;     for (int i = 1; i <= k; i++) {       int c = b[i];       res = res * 10 + a[num][c];     }     return res;   }   void solve() {     int Max = -INF, Min = INF;     for (int i = 1; i <= n; i++) {       int res = make(i);       Max = max(Max, res);       Min = min(Min, res);     }     ans = min(ans, Max - Min);   }   void dfs(int cur) {     if (cur == k + 1) {       solve();       return;     }     for (int i = 1; i <= k; i++) {       if (!vis[i]) {         vis[i] = 1;         b[cur] = i;         dfs(cur + 1);         vis[i] = 0;       }     }   }   int main() {     scanf( %d%d , &n, &k);     for (int i = 1; i <= n; i++) {       for (int j = 1; j <= k; j++) {         char c;         scanf(  %c , &c);         a[i][j] = c -  0 ;       }     }     memset(vis, 0, sizeof(vis));     dfs(1);     printf( %d n , ans);     return 0;   }   