#include <bits/stdc++.h>
using namespace std;
const int nmax = 20;
const int inf = 1e9 + 7;
const int modulo = 1e9 + 7;
const double linf = 1e36;
const double pi = acos(-1.0);
struct vec {
  vec() {}
  vec(double a, double b) : x(a), y(b) {}
  double x;
  double y;
};
vec rotate(vec v, vec d) {
  double ang = atan2(d.y, d.x);
  ang -= pi / 2;
  double c = cos(ang);
  double s = sin(ang);
  vec u;
  u.x = c * v.x - s * v.y;
  u.y = s * v.x + c * v.y;
  return u;
}
double px, py, vx, vy, a, b, c, d;
vec ans[7], dir;
int main() {
  scanf("%lf%lf%lf%lf%lf%lf%lf%lf", &px, &py, &vx, &vy, &a, &b, &c, &d);
  dir.x = vx;
  dir.y = vy;
  ans[0] = vec(0, b);
  ans[1] = vec(-a / 2, 0);
  ans[2] = vec(-c / 2, 0);
  ans[3] = vec(-c / 2, -d);
  ans[4] = vec(c / 2, -d);
  ans[5] = vec(c / 2, 0);
  ans[6] = vec(a / 2, 0);
  for (int i = (int)(0); i < (int)(7); ++i) ans[i] = rotate(ans[i], dir);
  for (int i = (int)(0); i < (int)(7); ++i) {
    ans[i].x += px;
    ans[i].y += py;
  }
  for (int i = (int)(0); i < (int)(7); ++i) {
    printf("%.12lf %.12lf\n", ans[i].x, ans[i].y);
  }
  return 0;
}
