# 20110928_ITSA 月賽 8th

#include<iostream>
using namespace std;
int main()
{
    int t1,ia,va[50][2];
    long long oa,ob;
    cin>>t1;
    while(t1--)
    {
        cin>>ia;
        oa=0;
        for(int i=0;i<ia;i++)
            cin>>va[i][0]>>va[i][1];
        for(int i=0;i<ia;i++)
            for(int j=i+1;j<ia;j++)
            {
                ob=(((long long)va[i][0])-va[j][0])*(va[i][1]-va[j][1]);
                if(ob<0)ob=-ob;
                if(ob>oa)oa=ob;
            }
        cout<<oa<<endl;
    }
}
#include<stdio.h>
#include<stdlib.h>
struct Queue{
    int x, y;
}Queue[81];
int N = 3, Map[9][9], Qt, Find;
int Check(int x, int y, int Num)
{
    int a, b;
    for(a=0;a<N*N;a++)
        if(Map[x][a] == Num && y!=a)    return 0;
    for(a=0;a<N*N;a++)
        if(Map[a][y] == Num && x!=a)    return 0;
    int xx=x/N*N, yy=y/N*N;
    for(a=0;a<N;a++)
        for(b=0;b<N;b++)
            if(Map[xx+a][yy+b] == Num && (xx+a!=x && yy+b!=y))    return 0;
    return 1;
}
void DFS(int Now)
{
    if(Find==1)    return;
    int a, b;
    if(Now == Qt) {
        Find=1;
        for(a = 0; a < 9;puts(""), a++) {
               for(b = 0; b < 8; b++) {
                   printf("%d ", Map[a][b]);
            }
            printf("%d", Map[a][8]);
        }
        return;
    }
    for(a = 1; a <= 9; a++)
        if(Check(Queue[Now].x, Queue[Now].y, a)==1)
        {
            Map[Queue[Now].x][Queue[Now].y]=a;
            DFS(Now+1);
            Map[Queue[Now].x][Queue[Now].y]=0;
        }
}
int main()
{
    int a, b, No;
    while(scanf("%d",&Map[0][0])==1) {
        Qt=0, No=0;
        if(Map[0][0]==0)
            Queue[Qt].x=0, Queue[Qt].y=0, Qt++;
        for(a = 0; a < 9; a++)
            for(b = 0; b < 9; b++)
            {
                if(a == 0 && b == 0)    continue;
                scanf("%d",&Map[a][b]);
                if(Map[a][b]==0)
                    Queue[Qt].x=a, Queue[Qt].y=b, Qt++;
            }
        Find=0;
        if(No==0)    DFS(0);
        if(Find==0)    puts("NO SOLUTION");
    }
    return 0;
}
/*
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
*/
/**********************************************************************************/
/*  Problem: c121 "Fibonacci Freeze" from ACM 495                                 */
/*  Language: CPP (1469 Bytes)                                                    */
/*  Result: AC judge by zeroserver@ZeroJudge                                      */
/*  Author: taichunmin at 2009-02-06 13:13:37                                     */
/**********************************************************************************/
#include<iostream>
using namespace std;
long long ia[93]={0,1};//int 47 long long 93
string sa[4910];
string add(string fsa,string fsb)
{
  string tsa;
  int strl=fsa.size(),stra=fsa.size(),strb=fsb.size();
  if(fsb.size()>strl)strl=fsb.size();
  strl++;
  tsa.resize(strl);
  fsa.resize(strl);
  fsb.resize(strl);
  for(int i=0;i<strl;i++)tsa[i]='0';
  for(int i=stra;i<strl;i++)fsa[i]='0';
  for(int i=strb;i<strl;i++)fsb[i]='0';
  bool ba=true;
  for(int i=0;i<strl-1;i++)
    tsa[i]+=fsa[i]-'0'+fsb[i]-'0';
  for(int i=0;i<strl-1;i++)
    if(tsa[i]>'9')
    {
      if(i==strl-2)ba=false;
      tsa[i+1]+=(tsa[i]-'0')/10;
      tsa[i]=(tsa[i]-'0')%10+'0';
    }
  if(ba)tsa.resize(strl-1);
  return tsa;
}
int main()
{
  //freopen("testdata\\pro19.in","r",stdin);
  //freopen("pro19.out","w",stdout);
  for(int i=2;i<93;i++)ia[i]=ia[i-1]+ia[i-2];
  long long ib=ia[91];
  while(ib>0)
  {
    sa[0]+=(char)(ib%10+'0');
    ib/=10;
  }
  ib=ia[92];
  while(ib>0)
  {
    sa[1]+=(char)(ib%10+'0');
    ib/=10;
  }
  sa[0]=add(sa[0],sa[1]);
  sa[1]=add(sa[0],sa[1]);
  for(int i=2;i<4910;i++)sa[i]=add(sa[i-2],sa[i-1]);
  while(cin>>ib)
  {
    if(ib<=92)cout<<ia[ib]<<endl;
    else 
    {
      for(int i=sa[ib-93].size()-1;i>-1;i--)cout<<sa[ib-93][i];
      cout<<endl;
    }
  }
  //system("pause");
}
#include<stdio.h>
#include<stdlib.h>
int Ans[100];
void DFS(int n, int last, int now) {
    if(n < 0)
        return;
    int i;
    if(n == 0) {
        for(i = 0; i < now-1; i++)
            printf("%d ", Ans[i]);
        printf("%d\n", Ans[now-1]);
        return;
    }
    for(i = last+1; i <= n; i++)
        Ans[now] = i, DFS(n-i, i, now+1);
}
int main() {
    int n;
    while(scanf("%d", &n) == 1) {
        DFS(n, 0, 0);
    }
    return 0;
}
#include<iostream>
#include<sstream>
using namespace std;
int va[10000];
int va_c;
int main()
{
    int ia,ib,itotal;
    string sa;
    while(cin>>ia)
    {
        getline(cin,sa);
        va_c=itotal=0;
        istringstream ssin(sa);
        while(ssin>>ib)va[va_c++]=ib;
        for(int i=0;i<va_c;i++) itotal+=va[i];
        itotal=ia-itotal-va_c+1;
        //cout<<"itotal="<<itotal<<endl;
        bool firsta=true,firstb=true;
        for(int i=0;i<va_c;i++)
        {
            if(firsta)firsta=false;
            else cout<<" 0";
            for(int j=0;j<va[i];j++)
            {
                if(firstb)firstb=false;
                else cout<<' ';
                cout<<((j<itotal)?0:1);
            }
        }
        for(int i=0;i<itotal;i++)cout<<" 0";
        cout<<endl;
    }
}

好難得拿了個第一名@@ - team214