#include <bits/stdc++.h>
using namespace std;
int n, ans, az;
double et[21][21], f[1 << 19];
int main() {
  scanf("%d", &n);
  for (int i = (1); i <= n; i++)
    for (int j = (1); j <= n; j++) scanf("%lf", &et[i][j]);
  f[(1 << n) - 1] = 1;
  for (int s = ((1 << n) - 2); s >= 1; s--) {
    ans = 0, az = s;
    while (az) ans += (az & 1), az >>= 1;
    for (int i = (1); i <= n; i++) {
      if (!(s & (1 << (i - 1)))) {
        for (int j = (1); j <= n; j++) {
          if (s & (1 << (j - 1))) {
            f[s] += f[s | (1 << (i - 1))] * et[j][i] / (ans * (ans + 1) / 2);
          }
        }
      }
    }
  }
  for (int i = (1); i <= n; i++) printf("%0.6lf ", f[1 << (i - 1)]);
  return 0;
}
