#include <bits/stdc++.h>
using namespace std;
struct Point {
  double x, y;
  Point trans(Point v, double len) {
    double a = atan2(v.y, v.x);
    return (Point){x + len * cos(a), y + len * sin(a)};
  }
} ans[20], p, v1, v2, v3, v4;
int main() {
  double a, b, c, d;
  scanf("%lf%lf%lf%lf%lf%lf%lf%lf", &p.x, &p.y, &v1.x, &v1.y, &a, &b, &c, &d);
  v2.x = -v1.y;
  v2.y = v1.x;
  v3.x = -v1.x;
  v3.y = -v1.y;
  v4.x = -v2.x;
  v4.y = -v2.y;
  ans[1] = p.trans(v1, b);
  ans[2] = p.trans(v2, a / 2);
  ans[3] = p.trans(v2, c / 2);
  ans[4] = ans[3].trans(v3, d);
  ans[5] = ans[4].trans(v4, c);
  ans[6] = p.trans(v4, c / 2);
  ans[7] = p.trans(v4, a / 2);
  for (int i = 1; i <= 7; ++i) {
    printf("%.12f %.12f\n", ans[i].x, ans[i].y);
  }
  return 0;
}
