#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")