import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class POJ_2718 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(br.readLine());
while(n-->0){
String[] s=br.readLine().split(" ");
int[] a=new int[s.length];
for (int i = 0; i < s.length; i++) {
a[i]=Integer.parseInt(s[i]);
}
boolean[] b1=new boolean[s.length];
int[] b=new int[s.length];
int p=s.length/2;
min=999999999;
dfs(b1,a,b,0,p);
System.out.println(min);
}
}
static int min=9999999;
static void dfs(boolean[] b1,int[] a,int[] b,int index,int p){
if(index==a.length){
if(b[0]!=0&&b[p]!=0){
int sum1=0,sum2=0;
int k=1;
for (int i = p-1; i >=0; i--) {
sum1+=b[i]*k;
k*=10;
}
k=1;
for (int i = b.length-1; i >= p; i--) {
sum2+=b[i]*k;
k*=10;
}
if(Math.abs(sum2-sum1)<min){
min=Math.abs(sum2-sum1);
}
}
if(p==1&&a.length==2){
min=Math.abs(b[0]-b[1]);
}
}
else{
for (int i = 0; i < a.length; i++) {
if(!b1[i]){
b[index]=a[i];
b1[i]=true;
dfs(b1,a,b,index+1,p);
b1[i]=false;
}
}
}
}
}