#include <bits/stdc++.h>
using namespace std;
double dp[1500][150], dp2[1500][150];
int sm[1500], lg[1500];
double m[150][150];
int M[1500];
double tmp[150];
int main() {
  int t = 1;
  while (t--) {
    int n;
    scanf("%d", &n);
    int p;
    p = pow(2, n);
    n = p;
    for (int i = 1; i < n + 1; i++) {
      for (int j = 1; j < n + 1; j++) {
        int a;
        scanf("%d", &a);
        m[i][j] = double(a) / 100.0;
      }
    }
    vector<int> v1, v2;
    int in = 0;
    for (int i = 1; i < p + 1; i++) {
      v1.push_back(in);
      sm[in] = lg[in] = i;
      for (int j = 1; j < p + 1; j++) {
        dp[in][j] = (i == j);
        dp2[in][j] = 0;
      }
      M[in] = 1;
      in++;
    }
    while (v1.size() > 1) {
      int sz = v1.size();
      for (int i = 0; i < sz; i += 2) {
        int a = v1[i];
        int b = v1[i + 1];
        int c = in++;
        sm[c] = sm[a];
        lg[c] = lg[b];
        M[c] = M[a] * 2;
        for (int j = 1; j < p + 1; j++) {
          if (sm[c] > j || lg[c] < j) {
            dp[c][j] = 0;
            dp2[c][j] = -1e8;
            continue;
          }
          bool f = 0;
          if (sm[b] > j) {
            f = 1;
            swap(a, b);
          }
          dp[c][j] = 0;
          for (int x = 1; x < p + 1; x++) {
            dp[c][j] += dp[a][x] * dp[b][j] * m[j][x];
          }
          double mx = 0;
          for (int i = 1; i < p + 1; i++) {
            tmp[i] = dp2[a][i] + dp2[b][j];
            mx = max(mx, tmp[i]);
          }
          dp2[c][j] = 0;
          for (int y = 1; y < p + 1; y++) {
            for (int z = 1; z < p + 1; z++) {
              double tt = dp[a][y] * dp[b][z] * (mx);
              if (z == j) {
                tt = max(tt, dp[a][y] * dp[b][j] * (mx + m[j][y] * M[c]));
              }
              dp2[c][j] += tt;
            }
          }
          if (f) swap(a, b);
        }
        v2.push_back(c);
      }
      v1 = v2;
      v2.clear();
    }
    double ans = 0;
    for (int i = 1; i < p + 1; i++) {
      ans = max(ans, dp2[v1[0]][i]);
    }
    ans /= 2.0;
    printf("%.10f\n", ans);
  }
}
