#include <bits/stdc++.h>
using namespace std;
double fun(double vx, double vy, double l) {
  return l / sqrt(vx * vx + vy * vy);
}
int main() {
  double px, py, vx, vy, a, b, c, d, ux, uy, t;
  double x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7;
  while (
      ~scanf("%lf%lf%lf%lf%lf%lf%lf%lf", &px, &py, &vx, &vy, &a, &b, &c, &d)) {
    if (vy == 0) {
      ux = 0;
      if (vx > 0)
        uy = -1;
      else
        uy = 1;
    } else if (vx == 0) {
      if (vy > 0)
        ux = 1;
      else
        ux = -1;
      uy = 0;
    } else {
      if (vy > 0) {
        ux = 1;
        uy = -vx / vy;
      } else {
        ux = -1;
        uy = vx / vy;
      }
    }
    t = fun(vx, vy, b);
    x1 = t * vx + px;
    y1 = t * vy + py;
    t = fun(-ux, -uy, a / 2);
    x2 = t * (-ux) + px;
    y2 = t * (-uy) + py;
    x7 = t * ux + px;
    y7 = t * uy + py;
    t = fun(-ux, -uy, c / 2);
    x3 = t * (-ux) + px;
    y3 = t * (-uy) + py;
    x6 = t * ux + px;
    y6 = t * uy + py;
    t = fun(-vx, -vy, d);
    x4 = t * (-vx) + x3;
    y4 = t * (-vy) + y3;
    x5 = t * (-vx) + x6;
    y5 = t * (-vy) + y6;
    printf("%.10lf %.10lf\n", x1, y1);
    printf("%.10lf %.10lf\n", x2, y2);
    printf("%.10lf %.10lf\n", x3, y3);
    printf("%.10lf %.10lf\n", x4, y4);
    printf("%.10lf %.10lf\n", x5, y5);
    printf("%.10lf %.10lf\n", x6, y6);
    printf("%.10lf %.10lf\n", x7, y7);
  }
  return 0;
}
