#include <bits/stdc++.h>
using namespace std;
struct point {
  double x, y;
};
vector<point> ans;
int main() {
  point p, v;
  double a, b, c, d;
  cin >> p.x >> p.y >> v.x >> v.y;
  cin >> a >> b >> c >> d;
  double dist = sqrt(v.x * v.x + v.y * v.y);
  v.x /= dist;
  v.y /= dist;
  point k = {v.y * a / 2, -v.x * a / 2};
  point h = {v.y * c / 2, -v.x * c / 2};
  point q = {-v.x * d, -v.y * d};
  ans.push_back({p.x + v.x * b, p.y + v.y * b});
  ans.push_back({p.x - k.x, p.y - k.y});
  ans.push_back({p.x - h.x, p.y - h.y});
  ans.push_back({p.x - h.x + q.x, p.y - h.y + q.y});
  ans.push_back({p.x + h.x + q.x, p.y + h.y + q.y});
  ans.push_back({p.x + h.x, p.y + h.y});
  ans.push_back({p.x + k.x, p.y + k.y});
  for (int i = 0; i < 7; i++) {
    cout << setprecision(10) << fixed << ans[i].x << ' ' << ans[i].y << '\n';
  }
}
