#include #include #include #include #include #include #include #define pb push_back #define all(x) begin(x),end(x) #define gall(x) begin(x),end(x),greater<>() #define ll long long #define P pair #define lP pair #include #include using namespace std; vector > prime_factorize(long long N) { vector > res; for (long long p = 2; p * p <= N; ++p) { if (N % p != 0) { continue; } int e = 0; while (N % p == 0) { ++e; N /= p; } res.emplace_back(p, e); } if (N != 1) { res.emplace_back(N, 1); } return res; } struct UnionFind{ vector p; UnionFind(int n){ p.resize(n,-1); } int find(int x){ if(p[x]== -1) return x; else return find(p[x]); } void unite(int x,int y){ x=find(x); y=find(y); if(x==y) return; p[x]=y; } }; int main() { int t; cin>>t; for(int i=0;i>n>>m; bool f=1; vector a(n); for(int j=0;j>a[j]; } for(int j=0;j