#include <bits/stdc++.h>
using namespace std;
inline int in() {
  int32_t x;
  scanf("%d", &x);
  return x;
}
const int MAX_N = 1e5 + 10;
inline char getCh() {
  char ch;
  scanf(" %c", &ch);
  return ch;
}
const int MAX_SIZE = (1 << 20);
double dp[MAX_SIZE];
double res[MAX_N];
double a[25][25];
int32_t main() {
  int n = in();
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) cin >> a[i][j];
  }
  dp[(1 << n) - 1] = 1;
  for (int mask = (1 << n) - 1; mask >= 1; mask--) {
    int sz = __builtin_popcount(mask);
    if (sz <= 1) continue;
    for (int lst = 0; lst < n; lst++) {
      if ((1 << lst) & mask) {
        for (int lst2 = lst + 1; lst2 < n; lst2++) {
          if ((1 << lst2) & mask) {
            dp[mask ^ (1 << lst)] +=
                a[lst2][lst] * dp[mask] / (sz * (sz - 1) / 2);
            dp[mask ^ (1 << lst2)] +=
                a[lst][lst2] * dp[mask] / (sz * (sz - 1) / 2);
          }
        }
      }
    }
  }
  for (int pt = 0; pt < n; pt++) {
    res[pt] += dp[(1 << pt)];
  }
  cout.precision(10);
  for (int i = 0; i < n; i++) cout << fixed << res[i] << " ";
}
