#include #include #include #include #include #include #define ll long long #define mod 1000000007 using namespace std; int n,m,a[25],h[300005],d[300005],bin[25]; int read(){ int x=0; char ch=getchar(); while (ch<'0' || ch>'9') ch=getchar(); while (ch>='0' && ch<='9'){ x=x*10+ch-'0'; ch=getchar(); } return x; } int main(){ int cas=read(),i; bin[0]=1; for (i=1; i<=17; i++) bin[i]=bin[i-1]<<1; while (cas--){ n=read(); m=read(); memset(d,-1,sizeof(d)); d[0]=0; for (i=1; i<=n; i++) scanf("%d",&a[i]); int head=0,tail=1; h[1]=0; while (head