#include <bits/stdc++.h>
using namespace std;
const long long N = 20, M = (1 << 18) + 5;
long long n, x, cnt;
double a[N][N], dp[M];
signed main() {
  scanf("%lld", &n), dp[(1 << n) - 1] = 1;
  for (long long i = 0; i < n; i++)
    for (long long j = 0; j < n; j++) scanf("%lf", &a[i][j]);
  for (long long S = (1 << n) - 1; S >= 1; S--) {
    cnt = 0, x = S;
    while (x) cnt += x & 1, x >>= 1;
    for (long long i = 0; i < n; i++)
      if (S & (1 << i))
        for (long long j = i + 1; j < n; j++)
          if (S & (1 << j)) {
            dp[S - (1 << j)] += dp[S] * a[i][j] / (1.0 * cnt * (cnt - 1) / 2);
            dp[S - (1 << i)] += dp[S] * a[j][i] / (1.0 * cnt * (cnt - 1) / 2);
          }
  }
  for (long long i = 0; i < n; i++)
    printf("%.6lf%c", dp[1 << i], i == n - 1 ? '\n' : ' ');
  return 0;
}
