#include <bits/stdc++.h>
using namespace std;
struct Point {
double x, y;
};
double dist(Point A, Point B) {
return sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));
}
double Area(Point A, Point B, Point C) {
double a = dist(A, B);
double b = dist(A, C);
double c = dist(B, C);
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
double getR(Point A, Point B, Point C) {
double a = dist(A, B);
double b = dist(A, C);
double c = dist(B, C);
return (a * b * c) / 4 * Area(A, B, C);
}
int main() {
Point A, B, C;
cin >> A.x >> A.y >> B.x >> B.y >> C.x >> C.y;
cout << setprecision(2) << fixed << Area(A, B, C) << '\n';
cout << setprecision(2) << fixed << getR(A, B, C);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgUG9pbnQgewogICAgZG91YmxlIHgsIHk7Cn07Cgpkb3VibGUgZGlzdChQb2ludCBBLCBQb2ludCBCKSB7CiAgICByZXR1cm4gc3FydCgoQS54IC0gQi54KSAqIChBLnggLSBCLngpICsgKEEueSAtIEIueSkgKiAoQS55IC0gQi55KSk7Cn0KCmRvdWJsZSBBcmVhKFBvaW50IEEsIFBvaW50IEIsIFBvaW50IEMpIHsKICAgIGRvdWJsZSBhID0gZGlzdChBLCBCKTsKICAgIGRvdWJsZSBiID0gZGlzdChBLCBDKTsKICAgIGRvdWJsZSBjID0gZGlzdChCLCBDKTsKICAgIGRvdWJsZSBwID0gKGEgKyBiICsgYykgLyAyOwogICAgcmV0dXJuIHNxcnQocCAqIChwIC0gYSkgKiAocCAtIGIpICogKHAgLSBjKSk7Cn0KCmRvdWJsZSBnZXRSKFBvaW50IEEsIFBvaW50IEIsIFBvaW50IEMpIHsKICAgIGRvdWJsZSBhID0gZGlzdChBLCBCKTsKICAgIGRvdWJsZSBiID0gZGlzdChBLCBDKTsKICAgIGRvdWJsZSBjID0gZGlzdChCLCBDKTsKICAgIHJldHVybiAoYSAqIGIgKiBjKSAvIDQgKiBBcmVhKEEsIEIsIEMpOwp9CgppbnQgbWFpbigpIHsKICAgIFBvaW50IEEsIEIsIEM7CiAgICBjaW4gPj4gQS54ID4+IEEueSA+PiBCLnggPj4gQi55ID4+IEMueCA+PiBDLnk7CiAgICBjb3V0IDw8IHNldHByZWNpc2lvbigyKSA8PCBmaXhlZCA8PCBBcmVhKEEsIEIsIEMpIDw8ICdcbic7CiAgICBjb3V0IDw8IHNldHByZWNpc2lvbigyKSA8PCBmaXhlZCA8PCBnZXRSKEEsIEIsIEMpOwp9Cg==