import java.util.Arrays;
import java.util.Scanner;
import java.util.Vector;
public class POJ_3050 {
static Vector<String> v=new Vector<String>();
static String s="";
static int ans;
static int[][] map=new int[5][5];
static int[] dx={0,0,1,-1};
static int[] dy={1,-1,0,0};
static int[] a=new int[10];
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
map[i][j]=sc.nextInt();
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
s="";
dfs(0,map,i,j);
}
}
System.out.println(ans);
}
static void dfs(int index,int[][] map,int x,int y){
a[index]=map[x][y];
s= Arrays.toString(a);
if(index==5&&!v.contains(s)){
v.add(s);
ans++;
return;
}
else if(index==5){
return;
}
for (int i1 = 0; i1 < 4; i1++) {
int nx=x+dx[i1];
int ny=y+dy[i1];
if(nx>=0&&nx<5&&ny>=0&&ny<5){
dfs(index+1,map,nx,ny);
}
}
}
}
08-18