#include <iostream>
using namespace std;
struct Diem {
int x, y;
};
class Bai2 {
private:
Diem* arr;
int sl;
public:
~Bai2() {
delete[] arr;
sl = 0;
arr = nullptr;
}
Bai2(int s = 0) {
sl = s;
arr = new Diem[sl];
}
void Nhap() {
cin >> sl;
arr = new Diem[sl];
for (int i = 0; i < sl; i++) {
cin >> arr[i].x >> arr[i].y;
}
}
void Xuat() {
for (int i = 0; i < sl; i++) {
cout << "(" << arr[i].x << "," << arr[i].y << ")" << "\n";
}
}
void DienTich_XacDinhChieu() {
double tong = 0;
for (int i = 0; i < sl; i++) {
if (i + 1 == sl) tong += arr[i].x * arr[0].y - arr[0].x * arr[i].y;
else tong += arr[i].x * arr[i + 1].y - arr[i + 1].x * arr[i].y;
}
cout << "Dien tich da giac: " << 0.5 * abs(tong) << "\n";
if (tong > 0) cout << "Chieu cua da giac là chieu nguoc chieu kim dong ho!\n";
else cout << "Chieu cua da giac là chieu cung chieu kim dong ho!\n";
}
void LoiHayLom() {
bool duong = false;
bool am = false;
for (int i = 0; i < sl; i++) {
Diem p1 = arr[(i - 1 + sl) % sl];
Diem p2 = arr[i];
Diem p3 = arr[(i + 1) % sl];
int vectorX1 = p2.x - p1.x;
int vectorY1 = p2.y - p1.y;
int vectorX2 = p3.x - p2.x;
int vectorY2 = p3.y - p2.y;
int tch = vectorX1 * vectorY2 - vectorX2 * vectorY1;
if (tch < 0) am = true;
if (tch > 0) duong = true;
}
if (duong && am) cout << "Da giac nay la da giac lom!\n";
else cout << "Da giac nay la da giac loi!\n";
}
};
int main() {
Bai2 a;
a.Nhap();
a.Xuat();
a.DienTich_XacDinhChieu();
a.LoiHayLom();
return 0;
}