#include <bits/stdc++.h>
using namespace std;

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

int main()
{
    int n; cin >> n;
    long long tacke[n][2];
    for ( int i = 0 ; i < n ; i++) cin >> tacke[i][0] >> tacke[i][1];
    if ( n == 4)
    {
        long long p1 = Ptrougla(tacke[0][0],tacke[0][1],tacke[1][0],tacke[1][1],tacke[2][0],tacke[2][1]);
        long long p2 = Ptrougla(tacke[0][0],tacke[0][1],tacke[1][0],tacke[1][1],tacke[3][0],tacke[3][1]);
        long long p3 = Ptrougla(tacke[0][0],tacke[0][1],tacke[2][0],tacke[2][1],tacke[3][0],tacke[3][1]);
        long long p4 = Ptrougla(tacke[3][0],tacke[3][1],tacke[1][0],tacke[1][1],tacke[2][0],tacke[2][1]);
        cout << min(min(min(p1,p2),p3),p4);
    }
    else
    {
        long long Pmnogougla = 0;
        for ( int i = 1 ; i < n-1 ; i++)
            Pmnogougla += Ptrougla(tacke[0][0],tacke[0][1],tacke[i][0],tacke[i][1],tacke[i+1][0],tacke[i+1][1]);
        long long m = Pmnogougla - Ptrougla(tacke[0][0],tacke[0][1],tacke[1][0],tacke[1][1],tacke[n-1][0],tacke[n-1][1]);
        for ( int i = 1 ; i < n - 1 ; i++ )
        {
            long long p = Ptrougla(tacke[i-1][0],tacke[i-1][1],tacke[i][0],tacke[i][1],tacke[i+1][0],tacke[i+1][1]);
            m = min(m,Pmnogougla - p);
        }
        m = min(m,Pmnogougla - Ptrougla(tacke[0][0],tacke[0][1],tacke[n-2][0],tacke[n-2][1],tacke[n-1][0],tacke[n-1][1]));
        cout << m;
    }




	return 0;
}