#include using namespace std; using ll = long long; using ull = unsigned long long; using ld = long double; using vll = vector; using pll = pair; using mll = map; using sll = set; #define iv(v) for(auto &i:v) cin >> i #define ov(v) for(auto &i:v) cout << i << " " #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(), v.rend() #define YES cout << "YES\n" #define NO cout << "NO\n" #define Bismillah ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); const ll MOD = 1e9 + 7; ll add(ll a, ll b) {return ((a % MOD) + (b % MOD)) % MOD;} ll mul(ll a, ll b) {return ((a % MOD) * (b % MOD)) % MOD;} ll sub(ll a, ll b) {return (((a - b) % MOD) + MOD) % MOD;} ll modExp(ll a, ll b) { if (b <= 0) return 1; ll ret = modExp(a * a % MOD, b / 2); if (b % 2) ret = ret * a % MOD; return ret; } ll inverse(ll b) {return modExp(b, MOD - 2);} ll divv(ll a, ll b) {return ((a % MOD) * (inverse(b) % MOD)) % MOD;} ///////////////////////////////////////////////////////////////////////////////////////////////////////////// ll n; vectoradj(n); void dfs(ll v, ll p) { } void solve() { int m; cin >> n >> m; mll f; for (int i=0; i> u >> v; u--; v--; // adj[u].push_back(v); // adj[v].push_back(u); f[u]++; f[v]++; } if (n==m) { for (int i=0; i> t; while (t--) { solve(); } return 0; }