#include <bits/stdc++.h>
using namespace std;
const int N = 25;
int cnt = 0;
double a[N * N][N * N];
int id[N][N];
int s[N][N], d[N];
double p[N];
double ans[N * N];
void find(int x) {
  int p = x;
  for (int i = x + 1; i <= cnt; i++)
    if (abs(a[i][x]) > abs(a[p][x])) p = i;
  for (int i = x; i <= cnt + 1; i++) swap(a[p][i], a[x][i]);
}
void reduce(int x) {
  for (int i = x + 1; i <= cnt; i++) {
    double k = a[i][x] / a[x][x];
    for (int j = x; j <= cnt + 1; j++) a[i][j] -= a[x][j] * k;
  }
}
int main() {
  int n, m, s1, s2;
  scanf("%d%d%d%d", &n, &m, &s1, &s2);
  int x, y;
  for (int i = 1; i <= m; i++) {
    scanf("%d%d", &x, &y);
    s[x][y] = s[y][x] = 1;
    d[x]++;
    d[y]++;
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      id[i][j] = ++cnt;
    }
  }
  for (int i = 1; i <= n; i++) {
    s[i][i] = 1;
    scanf("%lf", &p[i]);
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      for (int f1 = 1; f1 <= n; f1++) {
        for (int f2 = 1; f2 <= n; f2++) {
          if (f1 == f2) continue;
          if (s[i][f1] == 0 || s[j][f2] == 0) continue;
          if (f1 == i && f2 == j) {
            a[id[i][j]][id[f1][f2]] = p[f1] * p[f2];
          } else if (f1 == i) {
            a[id[i][j]][id[f1][f2]] = p[f1] * (1.0 - p[f2]) / d[f2];
          } else if (f2 == j) {
            a[id[i][j]][id[f1][f2]] = p[f2] * (1.0 - p[f1]) / d[f1];
          } else {
            a[id[i][j]][id[f1][f2]] =
                (1.0 - p[f1]) / d[f1] * (1.0 - p[f2]) / d[f2];
          }
        }
      }
    }
  }
  for (int i = 1; i <= cnt; i++) {
    a[i][i]--;
  }
  a[id[s1][s2]][cnt + 1] = -1;
  for (int i = 1; i <= cnt; i++) {
    find(i);
    reduce(i);
  }
  for (int i = cnt; i >= 1; i--) {
    ans[i] = a[i][cnt + 1];
    for (int j = i + 1; j <= cnt; j++) ans[i] -= a[i][j] * ans[j];
    ans[i] /= a[i][i];
  }
  double all = 0;
  for (int i = 1; i <= n; i++) {
    all += ans[id[i][i]];
  }
  for (int i = 1; i <= n; i++) {
    printf("%.10f ", ans[id[i][i]] / all);
  }
  return 0;
}
