#include<bits/stdc++.h>
using namespace std;
int cum_sum[105];
int grid[105][105];
int main()
{
int test,row,col,n,i,j,k,koyta,mn,ans;
int a,b,x,y;
scanf("%d",&test);
while(test--)
{
scanf("%d",&row);
col = row;
scanf("%d",&n);
memset(cum_sum,0,sizeof(cum_sum));
memset(grid,-1,sizeof grid);
if(n==0)
{
printf("%d\n",row*col);
continue;
}
for(i=1;i<=n;i++)
{
scanf("%d%d%d%d",&a,&b,&x,&y);
for(j=a;j<=x;j++)
{
for(k=b;k<=y;k++)
{
grid[j][k] = 0;
}
}
}
for(i=1; i<=row; i++)
{
for(j=1; j<=col; j++)
{
if(grid[i][j]==-1)
{
grid[i][j] = 1;
}
}
}
ans = 0;
for(i=1; i<=row; i++)
{
for(j=1; j<=col; j++)
{
if(grid[i][j]==1)
{
cum_sum[j]+=grid[i][j];
}
else
{
cum_sum[j] = 0;
}
}
for(j=1; j<=col; j++)
{
koyta = mn = 0;
if(cum_sum[j]==0)
{
koyta = 0;
}
else
{
mn = cum_sum[j];
for(k=j; k<=col; k++)
{
if(cum_sum[k]==0)
break;
mn = min(mn,cum_sum[k]);
koyta++;
ans = max(ans,(mn*koyta));
}
ans = max(ans,(mn*koyta));
}
ans = max(ans,(mn*koyta));
}
}
printf("%d\n",ans);
}
return 0;
}