#include <bits/stdc++.h>
double dp[1 << 18], p[18][18];
int b[] = {1,    2,    4,    8,    16,    32,    64,    128,    256,   512,
           1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144};
int c[] = {1,  1,  1,  3,  6,  10,  15,  21,  28, 36,
           45, 55, 66, 78, 91, 105, 120, 136, 153};
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < n; ++j) scanf("%lf", &p[i][j]);
  int M = (1 << n) - 1, k, cnt;
  double s, t;
  dp[M] = 1;
  for (int i = M; i > 0; --i) {
    cnt = 0;
    for (int j = 1; j <= i; j <<= 1) cnt += (i & j) > 0;
    if (cnt == 1) continue;
    t = dp[i] / c[cnt];
    for (int j = 0; b[j] <= i; ++j) {
      if (i & b[j]) {
        k = i ^ b[j], s = 0;
        for (int l = 0; b[l] <= k; ++l) {
          if (k & b[l]) s += p[l][j];
        }
        dp[k] += s * t;
      }
    }
  }
  for (int i = 0; i < n; ++i) printf("%.7f ", dp[b[i]]);
  return 0;
}
