#include #include #include typedef long long ll; using namespace std; int cas,n,m,s,f1,f2; int f[1000000],a[1000000],b[1000000],c[1000000]; int find(int x){ if (f[x]!=x)f[x]=find(f[x]); return(f[x]); } bool check(int x){ int s=0; for (int i=1;i<=n;i++)f[i]=i; for (int i=1;i<=m;i++) if ((c[i]&x)==x){ f1=find(a[i]); f2=find(b[i]); if (f1!=f2){ f[f2]=a[i]; s++; } } if (s==n-1)return 1; return 0; } int main(){ scanf("%d",&cas); while(cas--){ scanf("%d%d",&n,&m); for (int i=1;i<=m;i++)scanf("%d%d%d",&a[i],&b[i],&c[i]); int x=0; for (int p=30;p>=0;p--){ int k=1<