#include <bits/stdc++.h>
using namespace std;
double dp[1 << 18];
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int i, j, k, l, n, test_case, m, r;
  test_case = 1;
  while (test_case--) {
    cin >> n;
    double prob[n][n];
    for (i = 0; i < n; i++) {
      for (j = 0; j < n; j++) {
        cin >> prob[i][j];
      }
    }
    dp[0] = 1;
    for (i = 0; i < 1 << n; i++) {
      double lost = __builtin_popcount(i);
      double wins = n - lost;
      for (j = 0; j < n; j++) {
        for (k = j + 1; k < n; k++) {
          if (!(i >> j & 1) && !(i >> k & 1)) {
            dp[i ^ (1 << j)] +=
                dp[i] * prob[k][j] * 2.0 / (1.0 * wins * (wins - 1));
            dp[i ^ (1 << k)] +=
                dp[i] * prob[j][k] * 2.0 / (1.0 * wins * (wins - 1));
          }
        }
      }
    }
    cout << fixed << setprecision(9);
    for (i = 0; i < n; i++) {
      cout << dp[((1 << n) - 1) ^ (1 << i)] << " ";
    }
    cout << "\n";
  }
  return 0;
}
