#include <bits/stdc++.h>
using namespace std;
const long double pi = 3.1415926535897932384626433832795;
struct point {
  double x, y;
  point() {}
  point(double _x, double _y) {
    x = _x;
    y = _y;
  }
  void rotate(double angle) {
    double nx = x * cos(angle) - y * sin(angle),
           ny = x * sin(angle) + y * cos(angle);
    x = nx;
    y = ny;
  }
};
point operator+(point x, point y) { return point(x.x + y.x, x.y + y.y); }
int main() {
  double px, py, vx, vy, a, b, c, d;
  cin >> px >> py >> vx >> vy >> a >> b >> c >> d;
  point cur(px, py);
  vector<point> ans;
  cur = cur + point(a / 2.0, 0);
  point tmp = cur;
  ans.push_back(cur);
  cur = cur + point(-a / 2.0, b);
  ans.push_back(cur);
  cur = cur + point(-a / 2.0, -b);
  ans.push_back(cur);
  cur = cur + point((a - c) / 2.0, 0);
  ans.push_back(cur);
  cur = cur + point(0, -d);
  ans.push_back(cur);
  cur = cur + point(c, 0);
  ans.push_back(cur);
  cur = cur + point(0, d);
  ans.push_back(cur);
  ans.erase(ans.begin());
  ans.push_back(tmp);
  double angle = atan2(vy, vx);
  angle -= pi / 2;
  for (int i = 0; i < (int)ans.size(); i++) {
    cout.precision(10);
    ans[i] = ans[i] + point(-px, -py);
    ans[i].rotate(angle);
    ans[i] = ans[i] + point(px, py);
    cout << fixed << ans[i].x << ' ' << ans[i].y << endl;
  }
}
