#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
/*
int isMagic(int mat[3][3]){
    // Check if all numbers are distinct
    int magic = 1;
    int nums[9] = {0,0,0,0,0,0,0,0,0};
    for (int i=0; i< 3; i++){
        for (int j=0; j< 3; j++){
            if (nums[mat[i][j]] == 0) {
               nums[mat[i][j]] = 1;
            }else if (nums[mat[i][j]] == 1){
                return 0;
            }
        }
    }
    return 1;
}*/

int diffMats(int a[3][3], int b[3][3]){
    
    int sum = 0;
    for (int i=0; i< 3; i++){
        for (int j=0; j< 3; j++){
            sum += abs(a[i][j]-b[i][j]);
            }
        }
    return sum;
}

int findRotation(int mat[3][3]){
    int can1[3][3] = {{2, 7, 6},{9,5,1},{4,3,8}};
    int can2[3][3] = {{4,3,8},{9,5,1},{2, 7, 6}};
    int can3[3][3] = {{6, 7, 2},{1,5,9},{8,3,4}};
    int can4[3][3] = {{8, 1, 6},{3,5,7},{4,9,2}};
    int can5[3][3] = {{4, 9, 2},{3,5,7},{8,1,6}};
    int can6[3][3] = {{8, 3, 4},{1,5,9},{6,7,2}};
    int can7[3][3] = {{6, 1, 8},{7,5,3},{2,9,4}};
    int can8[3][3] = {{2, 9, 4},{7,5,3},{6,1,8}};
    
    int cost[8];
    cost[0] = diffMats(can1,mat);
    cost[1] = diffMats(can2,mat);
    cost[2] = diffMats(can3,mat);
    cost[3] = diffMats(can4,mat);
    cost[4] = diffMats(can5,mat);
    cost[5] = diffMats(can6,mat);
    cost[6] = diffMats(can7,mat);
    cost[7] = diffMats(can8,mat);
    
    return *min_element(cost,cost+8); 
}

int main() {
    int mat[3][3];
    cin >> mat[0][0];
    cin >> mat[0][1];
    cin >> mat[0][2];
    cin >> mat[1][0];
    cin >> mat[1][1];
    cin >> mat[1][2];
    cin >> mat[2][0];
    cin >> mat[2][1];
    cin >> mat[2][2];
   
    cout << findRotation(mat) << endl;
    
    
    return 0;
}