#include using namespace std; typedef long long int uli; int rint(char nxt){ char ch=getchar(); int v=0; int sgn=1; if(ch=='-')sgn=-1; else{ assert('0'<=ch&&ch<='9'); v=ch-'0'; } while(true){ ch=getchar(); if('0'<=ch && ch<='9')v=v*10+ch-'0'; else{ assert(ch==nxt); break; } } return v*sgn; } const int mx=333; vector >g[mx]; bool rem[mx*mx];//rem[i]=will edge i be removed? int main(){ // freopen("secret/0.in","r",stdin); // freopen("secret/0.out","w",stdout); int t=rint('\n'); assert(1<=t&&t<=256); while(t--){ int n=rint('\n'); set >allEdges; for(int i=0;iall(n); iota(all.begin(),all.end(),0); while(all.size()>0){ vectornxt; for(int i=0;i+1ans; for(int i=0;i*2