Wielokąt wypukły

Dany jest zbiór Z punktów na płaszczyźnie. Napisz program który znajdzie pole największego wielokąta wypukłego o wierzchołkach w zbiorze Z, takiego, że żaden punkt ze zbioru Z nie leży wewnątrz tego wielokąta.

Wejście:

Pierwszy wiersz zawiera liczbę całkowitą $3\leq n\leq 300$. Jest to liczba punktów w zbiorze Z. Następnych n wierszy zawiera po dwie liczby całkowite $x,y, -10^9 \leq x,y \leq 10^9$. Są to współrzędne kolejnych punktów. Możesz założyć, że żadne trzy punkty nie leżą na jednej prostej.

Wyjście:

Wyjście powinno zawierać jedną liczbę równą polu szukanego wielokąta. Liczba ta powinna być wypisana z dokładnością do jednego miejsca po kropce dziesiętnej.

Przykład:

Dla danych wejściowych:

5
0 0
3 0
3 4
0 4
1 2

Poprawnym wynikiem jest:
7.0

Źródło:
http://liga.v-lo.krakow.pl/