#include <bits/stdc++.h>
using namespace std;
struct Point {
double x, y;
};
double getArea(Point a, Point b, Point c) {
return 0.5 * abs(a.x * (b.y - c.y) + b.x * (c.y - a.y) + c.x * (a.y - b.y));
}
bool isInTriangle(Point X, Point A, Point B, Point C) {
double s = getArea(A, B, C);
double s1 = getArea(A, B, X);
double s2 = getArea(B, C, X);
double s3 = getArea(A, C, X);
return (s == s1 + s2 + s3);
}
int main() {
Point A, B, C;
cin >> A.x >> A.y >> B.x >> B.y >> C.x >> C.y;
int n, counter = 0;
cin >> n;
while (n--) {
Point X;
cin >> X.x >> X.y;
counter += isInTriangle(X, A, B, C);
}
cout << setprecision(2) << fixed << getArea(A, B, C) << '\n';
cout << counter;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgUG9pbnQgewogICAgZG91YmxlIHgsIHk7Cn07Cgpkb3VibGUgZ2V0QXJlYShQb2ludCBhLCBQb2ludCBiLCBQb2ludCBjKSB7CiAgICByZXR1cm4gMC41ICogYWJzKGEueCAqIChiLnkgLSBjLnkpICsgYi54ICogKGMueSAtIGEueSkgKyBjLnggKiAoYS55IC0gYi55KSk7Cn0KCmJvb2wgaXNJblRyaWFuZ2xlKFBvaW50IFgsIFBvaW50IEEsIFBvaW50IEIsIFBvaW50IEMpIHsKICAgIGRvdWJsZSBzID0gZ2V0QXJlYShBLCBCLCBDKTsKICAgIGRvdWJsZSBzMSA9IGdldEFyZWEoQSwgQiwgWCk7CiAgICBkb3VibGUgczIgPSBnZXRBcmVhKEIsIEMsIFgpOwogICAgZG91YmxlIHMzID0gZ2V0QXJlYShBLCBDLCBYKTsKICAgIHJldHVybiAocyA9PSBzMSArIHMyICsgczMpOwp9CgppbnQgbWFpbigpIHsKICAgIFBvaW50IEEsIEIsIEM7CiAgICBjaW4gPj4gQS54ID4+IEEueSA+PiBCLnggPj4gQi55ID4+IEMueCA+PiBDLnk7CiAgICBpbnQgbiwgY291bnRlciA9IDA7CiAgICBjaW4gPj4gbjsKICAgIHdoaWxlIChuLS0pIHsKICAgICAgICBQb2ludCBYOwogICAgICAgIGNpbiA+PiBYLnggPj4gWC55OwogICAgICAgIGNvdW50ZXIgKz0gaXNJblRyaWFuZ2xlKFgsIEEsIEIsIEMpOwogICAgfQogICAgY291dCA8PCBzZXRwcmVjaXNpb24oMikgPDwgZml4ZWQgPDwgZ2V0QXJlYShBLCBCLCBDKSA8PCAnXG4nOwogICAgY291dCA8PCBjb3VudGVyOwp9Cg==