#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
long long S[20][20], ld[200];
vector<long long> frm[200];
double dp[111];
long long i, j, k;
void init(long long a) {
  long long i = 0;
  double b = 0;
  for (i = 0; i < a; i++) {
    b += min(dp[i], dp[ld[i]]) / 6.0;
  }
  b += 1;
  b *= 6.0 / a;
  dp[a] = b;
}
int main() {
  for (i = 0; i < 10; i++) {
    for (j = 0; j < 10; j++) {
      scanf("%lld", &S[i][j]);
    }
  }
  for (i = 0; i < 100; i++) {
    ld[i] = i;
  }
  for (i = 0; i < 10; i++) {
    for (j = 0; j < 10; j++) {
      if (S[i][j] == 0) continue;
      long long a = (i / 2 * 20) + (i % 2 ? 19 - j : j);
      long long s = S[i][j];
      long long b = (i - s) / 2 * 20 + ((i - s) % 2 ? 19 - j : j);
      ld[a] = b;
    }
  }
  dp[0] = 0;
  for (i = 1; i < 7; i++) {
    init(i);
  }
  for (i = 7; i < 100; i++) {
    double a = 0;
    for (j = 1; j < 7; j++) {
      a += min(dp[i - j], dp[ld[i - j]]) / 6.0;
    }
    a += 1.0;
    dp[i] = a;
  }
  printf("%.12lf", dp[99]);
  return 0;
}
