RT,玄学
#include <bits/stdc++.h>
using namespace std;
int a[12], c[12], cnt;
bool mark[12];
bool ck(int i, int j, int k) {
static int t[3];
t[0] = c[i], t[1] = c[j], t[2] = c[k];
sort(t, t+3);
return a[t[0]] == a[t[1]] && a[t[0]] != a[t[2]];
}
void dfs(int dep) {
if (dep == 10) {
int t = 1;
if (ck(1, 2, 3)) t = 0;
if (ck(4, 5, 6)) t = 0;
if (ck(7, 8, 9)) t = 0;
if (ck(1, 4, 7)) t = 0;
if (ck(2, 5, 8)) t = 0;
if (ck(3, 6, 9)) t = 0;
if (ck(1, 5, 9)) t = 0;
if (ck(3, 5, 7)) t = 0;
cnt += t;
return;
}
for (int i = 1; i <= 9; i++) {
if (!mark[i]) {
mark[i] = true;
c[dep] = i;
dfs(dep+1);
mark[i] = false;
}
}
}
int main() {
int k = 1;
for (int i = 1; i <= 9; i++) {
scanf("%d", &a[i]);
k *= i;
}
dfs(1);
printf("%.10lf\n", 1.0*cnt/k);
return 0;
}