#include <bits/stdc++.h>
using namespace std;
int n;
double f[1 << 19], a[19][19];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      cin >> a[i][j];
    }
  }
  f[1] = 1;
  for (int s = 2; s < (1 << n); s++) {
    for (int i = 0; i < n; i++) {
      if (s >> i & 1) {
        for (int j = i + 1; j < n; j++) {
          if (s >> j & 1) {
            f[s] = max(f[s],
                       f[s ^ (1 << i)] * a[j][i] + f[s ^ (1 << j)] * a[i][j]);
          }
        }
      }
    }
  }
  printf("%.15f", f[(1 << n) - 1]);
  return 0;
}
