#include <bits/stdc++.h>
using namespace std;
ifstream fin("in.in");
ofstream fout("out.out");
const int N = 19;
int n, lg[(1 << 20) + 10], pw[N + 10];
long double a[N + 10][N + 10], dp[(1 << 20) + 10], del = 1;
void calc(int mask, int k) {
  int msk = (mask & (~k));
  k = lg[k];
  double tmp = 0;
  for (int i = 0; i < n; i++) {
    if (mask & pw[i]) continue;
    tmp += a[i][k];
  }
  dp[mask] += dp[msk] * tmp;
}
int main() {
  ios_base::sync_with_stdio(0);
  pw[0] = 1;
  for (int i = 1; i <= N; i++) {
    pw[i] = pw[i - 1] << 1;
    lg[pw[i]] = i;
  }
  cin >> n;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) cin >> a[i][j];
  for (int i = 3; i <= n; i++) del *= (long double)(i * (i - 1) / 2);
  dp[0] = 1;
  for (int mask = 1; mask < pw[n]; mask++) {
    int msk = mask;
    while (msk) {
      int k = (msk & (-msk));
      msk &= (~k);
      calc(mask, k);
    }
  }
  cout << fixed << setprecision(6);
  for (int i = 0; i < n; i++) cout << dp[pw[n] - 1 - pw[i]] / del << ' ';
  return 0;
}
