// iostream is too mainstream
#include <cstdio>
// bitch please
#include <iostream>
#include <algorithm>
#include <cstdlib>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <list>
#include <cmath>
#include <iomanip>
#define dibs reserve
#define OVER9000 1234567890
#define ALL_THE(CAKE,LIE) for(auto LIE =CAKE.begin(); LIE != CAKE.end(); LIE++)
#define tisic 47
#define soclose 1e-8
#define chocolate win
// so much chocolate
#define patkan 9
#define ff first
#define ss second
#define abs(x) ((x < 0)?-(x):x)
#define uint unsigned int
#define dbl long double
using namespace std;
// mylittledoge

struct pt {
	long long x,y;
	
	bool operator<(const pt &A) const {
		if(x != A.x) return x < A.x;
		return y < A.y;}
	};
	
int vs(pt A, pt B, pt O) {
	return (A.x-O.x)*(B.y-O.y)-(A.y-O.y)*(B.x-O.x);}

int main() {
	cin.sync_with_stdio(0);
	cin.tie(0);
	int T;
	cin >> T;
	for(int t =0; t < T; t++) {
		int N;
		cin >> N;
		vector<pt> P0(N);
		for(int i =0; i < N; i++) cin >> P0[i].x >> P0[i].y;
		sort(P0.begin(),P0.end());
		vector<int> H[2];
		for(int i =0; i < 2; i++) H[i].push_back(0);
		for(int i =1; i < N; i++) {
			if(vs(P0[N-1],P0[i],P0[0]) >= 0) {
				while(H[0].size() > 1 && vs(P0[i],P0[*H[0].rbegin()],P0[H[0][H[0].size()-2]]) <= 0) 
					H[0].pop_back();
				H[0].push_back(i);}
			if(vs(P0[N-1],P0[i],P0[0]) <= 0) {
				while(H[1].size() > 1 && vs(P0[i],P0[*H[1].rbegin()],P0[H[1][H[1].size()-2]]) >= 0) 
					H[1].pop_back();
				H[1].push_back(i);}
			}
		vector<pt> P;
		for(int i =0; i < H[0].size(); i++) P.push_back(P0[H[0][i]]);
		for(int i =H[1].size()-2; i > 0; i--) P.push_back(P0[H[1][i]]);
		N =P.size();

		int ans =0;
		for(int i =0; i < N; i++) {
			int a =i, b =(i+1)%N;
			for(int j =i+1; j < N; j++) {
				while((a+1)%N != j && abs(vs(P[(a+1)%N],P[j],P[i])) > abs(vs(P[a],P[j],P[i])))
					a =(a+1)%N;
				while((b+1)%N != i && abs(vs(P[(b+1)%N],P[j],P[i])) > abs(vs(P[b],P[j],P[i])))
					b =(b+1)%N;
				ans =max(ans,abs(vs(P[a],P[j],P[i]))+abs(vs(P[b],P[j],P[i])));
				if(b == j) b =(b+1)%N;}
			}
			
		cout << ans/2 << ((ans%2 != 0)?".5":"") << "\n";}
	return 0;}

// look at my code
// my code is amazing