#include <bits/stdc++.h>
using namespace std;
void read(complex<double>& a) {
  int x, y;
  cin >> x >> y;
  a = complex<double>(x, y);
}
complex<double> rot(complex<double> p, double angle) {
  return complex<double>(p.real() * cos(angle) - p.imag() * sin(angle),
                         p.real() * sin(angle) + p.imag() * cos(angle));
}
void solve() {
  complex<double> o, dir;
  read(o);
  read(dir);
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  vector<complex<double> > vec = {
      complex<double>(0, b),        complex<double>(-0.5 * a, 0),
      complex<double>(-0.5 * c, 0), complex<double>(-0.5 * c, -d),
      complex<double>(0.5 * c, -d), complex<double>(0.5 * c, 0),
      complex<double>(0.5 * a, 0)};
  double angle = atan2(dir.imag(), dir.real()) - 0.5 * acos(-1);
  for (complex<double>& p : vec) {
    p = rot(p, angle);
    p += o;
    cout << p.real() << " " << p.imag() << "\n";
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cout << fixed << setprecision(10);
  int te = 1;
  for (int w = 1; w <= te; w++) {
    solve();
  }
  return 0;
}
