typedef complex<double> P;
void go(const P& a, const P& b, const P& c, const P& d) {
if (abs(a - c) > EPS) {
return;
}
assert(abs(a - d) > EPS);
assert(abs(b - c) > EPS);
assert(abs(b - d) > EPS);
P p = b - a + d;
printf("%.03f %.03f\n", p.real(), p.imag());
}
int main() {
for (double c[8]; cin >> c[0] >> c[1] >> c[2] >> c[3] >> c[4] >> c[5] >> c[6] >> c[7]; ) {
P p[4];
for (int i = 0; i < 4; ++i) {
p[i] = P(c[i * 2], c[i * 2 + 1]);
}
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 2; ++j) {
go(p[i], p[1 - i], p[2 + j], p[3 - j]);
}
}
}
}