#include <bits/stdc++.h>
using namespace std;
double win[18 + 1][18 + 1], live[1 << 18 + 1];
int main() {
  int n, m = -99999999;
  scanf("%d", &n);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) scanf("%lf", &win[i][j]);
  live[(1 << n) - 1] = 1.0;
  for (int state = (1 << n) - 1; state > 0; state--) {
    int alivecnt = __builtin_popcountll(state);
    int tempi = state;
    while (tempi) {
      int maski = tempi & (-tempi);
      int i = __builtin_ctz(maski);
      int tempj = state;
      while (tempj) {
        int maskj = tempj & (-tempj);
        int j = __builtin_ctz(maskj);
        if (maski != maskj)
          live[state - (maski)] +=
              live[state] * win[j][i] * 2 / alivecnt / (alivecnt - 1);
        tempj = tempj - maskj;
      }
      tempi = tempi - maski;
    }
  }
  for (int i = 0; i < n; i++) {
    printf("%.6lf", live[1 << i]);
    i == n - 1 ? printf("\n") : printf(" ");
  }
  return 0;
}
