#include<bits/stdc++.h>
using namespace std;
int a[10][10];
int v1[10][10],v2[10][10],v3[10][10];
int ans=-1;
int s[10][10]={
0,0,0,0,0,0,0,0,0,0,
0,6,6,6,6,6,6,6,6,6,
0,6,7,7,7,7,7,7,7,6,
0,6,7,8,8,8,8,8,7,6,
0,6,7,8,9,9,9,8,7,6,
0,6,7,8,9,10,9,8,7,6,
0,6,7,8,9,9,9,8,7,6,
0,6,7,8,8,8,8,8,7,6,
0,6,7,7,7,7,7,7,7,6,
0,6,6,6,6,6,6,6,6,6,
};
int score(){
int sum=0;
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++)sum+=s[i][j]*a[i][j];
}
return sum;
}
void dfs(int x,int y){
if(x<1){
ans=max(ans,score());
return ;
}
int z=(x-1)/3*3+(y-1)/3+1;
if(a[x][y]){
if(y==1)dfs(x-1,9);
else dfs(x,y-1);
return ;
}
for(int i=9;i>=1;i--){
if(!v1[x][i] && !v2[y][i] && !v3[z][i]){
a[x][y]=i;
v1[x][i]=v2[y][i]=v3[z][i]=1;
if(y==1)dfs(x-1,9);
else dfs(x,y-1);
v1[x][i]=v2[y][i]=v3[z][i]=0;
a[x][y]=0;
}
}
}
int main(){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
scanf("%d",&a[i][j]);
if(a[i][j]){
int z=(i-1)/3*3+(j-1)/3+1;
v1[i][a[i][j]]=v2[j][a[i][j]]=v3[z][a[i][j]]=1;
}
}
}
dfs(9,9);
printf("%d",ans);
return 0;
}