#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MEM(a,b) memset(a,(b),sizeof(a)) #define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define MP make_pair #define pb push_back #define maxn 10000 #define maxt 100 #define maxv 1000000 #define inf 1000000000 typedef long long LL; typedef pair pi; typedef vector vi; typedef vector vs; typedef vector vd; typedef vector vpi; int d[40][40]; int memo[1<<18][2],all,n; inline int getbit(int mask,int x) { return mask&(1<=1 && T<=50); while(T--) { scanf("%d%d",&n,&m); assert(n%2==0); assert(n>=2 && n<=18); assert(m>=2*n-1 && m<= 2*n*(2*n-1)/2); all=(1<=1 && c<=maxv); assert(a!=b && d[a][b]==inf); d[a][b]=d[b][a]=c; } // floyd warshal for(k=0;k