#include <bits/stdc++.h>
using namespace std;
const int inf = 0x7ffffff;
const double PI = acos(-1.0);
const double eps = 1e-10;
const double e = 2.7182818284590452354;
double d[10010];
double vs, vp;
struct point {
  double x, y, z;
  point() {}
  point(double x, double y, double z) : x(x), y(y), z(z) {}
} p[10010], op, s;
point ox = point(1, 0, 0);
point oy = point(0, 1, 0);
point oz = point(0, 0, 1);
point operator-(point a, point b) {
  return point(a.x - b.x, a.y - b.y, a.z - b.z);
}
point operator+(point a, point b) {
  return point(a.x + b.x, a.y + b.y, a.z + b.z);
}
point operator*(int a, point b) { return point(a * b.x, a * b.y, a * b.z); }
double getcos(point a, point b) {
  return (a.x * b.x + a.y * b.y + a.z * b.z) /
         (sqrt(a.x * a.x + a.y * a.y + a.z * a.z) *
          sqrt(b.x * b.x + b.y * b.y + b.z * b.z));
}
double getdist(point a, point b) {
  return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y) +
              (a.z - b.z) * (a.z - b.z));
}
bool solve(double t) {
  int i = 0;
  while (vs * t > d[i + 1]) i++;
  double tt = t - d[i] / vs;
  point dir = p[i + 1] - p[i];
  double vx = vs * getcos(dir, ox);
  double vy = vs * getcos(dir, oy);
  double vz = vs * getcos(dir, oz);
  s = point(p[i].x + vx * tt, p[i].y + vy * tt, p[i].z + vz * tt);
  if (t * vp - getdist(op, s) >= eps)
    return 1;
  else
    return 0;
}
int main() {
  int n;
  while (~scanf("%d", &n)) {
    for (int i = 0; i <= n; i++) scanf("%lf%lf%lf", &p[i].x, &p[i].y, &p[i].z);
    scanf("%lf%lf", &vp, &vs);
    scanf("%lf%lf%lf", &op.x, &op.y, &op.z);
    for (int i = 1; i <= n; i++) d[i] = d[i - 1] + getdist(p[i], p[i - 1]);
    if ((getdist(op, p[n]) - vp * (d[n] / vs)) > eps) {
      puts("NO");
      continue;
    }
    puts("YES");
    double left = 0;
    double right = d[n] / vs;
    while (left + eps < right) {
      double mid = (left + right) / 2;
      if (solve(mid))
        right = mid;
      else
        left = mid;
    }
    printf("%.12lf\n", left);
    printf("%.12lf %.12lf %.12lf\n", s.x, s.y, s.z);
  }
  return 0;
}
