#include<bits/stdc++.h>
using namespace std;
struct koordinate{
    unsigned long long x;
    unsigned long long y;
};
koordinate niz[100005];
int n, br=1;
unsigned long long povrsine[100005], minn=1e19;

unsigned long long rac_pov(long long x1, long long y1, long long x2, long long y2, long long x3, long long y3){
    unsigned long long p = abs(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2;
    return p;
}

void set1(){
    long long x1=niz[1].x, y1=niz[1].y;
    long long x2=niz[2].x, y2=niz[2].y;
    long long x3=niz[3].x, y3=niz[3].y;
    long long x4=niz[4].x, y4=niz[4].y;
    unsigned long long p1 = rac_pov(x1, y1, x2, y2, x3, y3);
    minn = min(minn, p1);
    unsigned long long p2 = rac_pov(x1, y1, x2, y2, x4, y4);
    minn = min(minn, p2);
    unsigned long long p3 = rac_pov(x1, y1, x3, y3, x4, y4);
    minn = min(minn, p3);
    unsigned long long p4 = rac_pov(x2, y2, x3, y3, x4, y4);
    minn = min(minn, p4);
    //cout << p1 << " " << p2 << " " << p3 << " " << p4 << endl;
    cout << minn << endl;


}
int main()
{
    cin >> n;
    for(int i=1; i<=n; i++){
        cin >> niz[i].x >> niz[i].y;
    }
    if(n==4) set1();

    return 0;
}