#include <bits/stdc++.h>   using namespace std;   int n;   double w[507][507], e[507][507], a[507][507];   void dfs(int sco, int l, int r, int p) {     if (l == r) {       w[p][l] = 1;       e[p][l] = sco;       return;     }     int mid = (l + r) >> 1;     dfs(sco / 2, l, mid, p << 1);     dfs(sco / 2, mid + 1, r, (p << 1) + 1);     for (int i = l; i <= mid; i++)       for (int j = mid + 1; j <= r; j++) {         w[p][i] += w[p << 1][i] * w[(p << 1) + 1][j] * a[i][j];         w[p][j] += w[p << 1][i] * w[(p << 1) + 1][j] * a[j][i];       }     for (int i = l; i <= mid; i++)       for (int j = mid + 1; j <= r; j++) {         e[p][i] = max(e[p][i], w[p][i] * sco + e[p << 1][i] + e[(p << 1) + 1][j]);         e[p][j] = max(e[p][j], w[p][j] * sco + e[p << 1][i] + e[(p << 1) + 1][j]);       }   }   int main() {     scanf( %d , &n);     n = 1 << n;     for (int i = 1; i <= n; i++)       for (int j = 1; j <= n; j++) scanf( %lf , &a[i][j]), a[i][j] *= 0.01;     dfs(n / 2, 1, n, 1);     double ans = -1;     for (int i = 1; i <= n; i++) ans = max(ans, e[1][i]);     printf( %.10f , ans);   }   