#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
const int DIM = 18;
int n;
double p[DIM][DIM];
double df[1 << DIM];
double sum[DIM][1 << DIM];
int dcn[1 << DIM];
int lbit[1 << DIM];
int main() {
  scanf("%d", &n);
  lbit[0] = -1;
  for (int i = (1); i < (1 << n); i++) {
    dcn[i] = dcn[i >> 1] + (i & 1);
  }
  for (int i = (0); i < (n); i++) {
    for (int j = (0); j < (n); j++) scanf("%lf", &p[i][j]);
  }
  for (int i = (0); i < (n); i++) {
    for (int j = (0); j < (1 << n); j++)
      if (((j >> i) & 1) == 0) {
        for (int k = (0); k < (n); k++)
          if ((j >> k) & 1) {
            sum[i][j] += p[k][i];
          }
      }
  }
  for (int k = (0); k < (n); k++) {
    for (int mask = (0); mask < (1 << n); mask++)
      if ((mask >> k) & 1) {
        if (mask == 1 << k) {
          df[mask] = 1.0;
          continue;
        }
        double res = 0.0;
        int cn = dcn[mask];
        for (int i = (0); i < (n); i++)
          if (i != k && ((mask >> i) & 1)) {
            double add =
                p[k][i] * 1.0 / ((cn * (cn - 1)) / 2) * df[mask ^ (1 << i)];
            res += add;
            add = sum[i][(mask ^ (1 << i)) ^ (1 << k)] / ((cn * (cn - 1)) / 2) *
                  df[mask ^ (1 << i)];
            res += add;
          }
        df[mask] = res;
      }
    printf(" %.7lf" + !k, df[(1 << n) - 1]);
  }
  printf("\n");
  return 0;
}
