#include <iostream>
#include <queue>
#include <algorithm>
#include <iterator>
using namespace std;
int main() {
//输入数据
int t;
cin >> t;
int a;
int b;
int c;
int d;
int f2[6] = {1, -1, 10, -10, 100, -100};//辅助数组2
int res[t];//存储结果
for(int i = 0; i < t; i++){
cin >> a >> b>> c >> d;
int tmp_res[4];
int source[4] = {a, b, c, d};
for(int j = 0; j < 4; j++){
int goal = source[j];
//bfs
int visited[301];
fill(begin(visited), end(visited), -1);
queue<int> q;
visited[10] = 0;
q.push(10);
while(!q.empty()){
//终止条件
if(visited[goal] != -1){
break;
}
//从队列中取出current结点
int current = q.front();
q.pop();
//遍历邻接结点
for(int k = 0; k < 6; k++){
int next = current + f2[k];
if(next >= 10 && next <= 300 && visited[next] == -1){
visited[next] = visited[current] + 1;
q.push(next);
}
}
if(visited[300] == -1){
visited[300] = visited[current] + 1;
q.push(300);
}
if(visited[10] == -1){
visited[10] = visited[current] + 1;
q.push(10);
}
}
tmp_res[j] = visited[goal];
}
res[i] = tmp_res[0] + tmp_res[1] + tmp_res[2] + tmp_res[3];
}
//打印结果
for(int i = 0; i < t; i++){
cout << res[i] << endl;
}
return 0;
}
// 64 位输出请用 printf("%lld")