#include<iostream>#include<cmath>#include<algorithm>#include<cstdio>using namespace std;#define maxn 1001#define LL long long#define MOD 998244353struct node{ LL x,y; double ang; node(LL a=0,LL b=0):x(a),y(b){} node operator - (node a){return node(x-a.x,y-a.y); } LL operator ^ (node a){return x*a.y-a.x*y; } bool operator < (const node &a)const{ return ang<a.ang; } void in(){scanf("%lld%lld",&x,&y); } void out(){printf("%lld %lldn",x,y); }}p[maxn*2],s[maxn];int n;LL ex2[maxn];double PI =acos(-1.0);void init(){ for(int i=ex2[0]=1;i<maxn;i++) ex2[i]=(ex2[i-1]*2)%MOD;}inline LL fix(LL a){ return (a%MOD+MOD)%MOD;}LL solve(int x){ swap(p[x],p[0]); for(int i=1;i<n;i++) p[i].ang=atan2(p[i].y-p[0].y,p[i].x-p[0].x); sort(p+1,p+n); for(int i=1;i<n;i++){ p[n+i-1]=p[i]; p[n+i-1].ang+=2.0*PI; } LL res=0; for(int i=1,j=1;i<n;i++){ while(p[j].ang<p[i].ang+PI)j++; LL tmp=(ex2[j-i-1]-1)*(( (p[0]^p[i])%MOD +MOD)%MOD)%MOD; res=(res+tmp)%MOD; } return res%MOD;}int main(){ init(); int T;scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=0;i<n;i++){ p[i].in(); s[i]=p[i]; } LL ans=0; for(int i=0;i<n;i++){ for(int j=0;j<n;j++) p[j]=s[j]; ans=(ans+solve(i))%MOD; } printf("%lldn",ans); } return 0;}