#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; typedef pairpi; const int Maxn=1<<10,mod=1e9+7,rev2=(mod+1)>>1; int val[Maxn]; vectorG[Maxn]; int n,m; int ans[Maxn]; int jie; int dp[Maxn][Maxn]; int sum[Maxn]; void fwt(int *a,int n){ for(int d=1;d=mod)x-=mod;} void dfs(int u,int p){ sum[u]=val[u]; for(int i=0;i=mod)dp[u][sum[u]]-=mod; } int main(){ int _;scanf("%d",&_); while(_--){ scanf("%d%d",&n,&m); jie=1;while(jie