func_code_string: #include <bits/stdc++.h>   using namespace std;   long long max(long long a, long long b) {     if (a < b) return b;     return a;   }   long long min(long long a, long long b) {     if (a < b) return a;     return b;   }   long long X;   vector<long long> x;   long long dfs(long long node, long long par, vector<vector<long long> > &v) {     long long cnt = 0;     for (int i = 0; i < v[node].size(); i++) {       long long adj = v[node][i];       if (adj == par) continue;       long long y = dfs(adj, node, v);       if (node == X) x.push_back(y);       cnt += y;     }     return cnt + 1;   }   void solve() {     x.clear();     long long n;     cin >> n >> X;     vector<vector<long long> > v(n + 1);     long long degree[n + 1];     memset(degree, 0, sizeof(degree));     vector<vector<long long> > comp;     for (int i = 0; i < n - 1; i++) {       long long a, b;       cin >> a >> b;       degree[a]++, degree[b]++;       v[a].push_back(b);       v[b].push_back(a);     }     if (degree[X] == 1 || n == 1)       cout <<  Ayush n ;     else {       dfs(X, -1, v);       long long cnt = 0;       for (int i = 0; i < x.size(); i++) cnt += max(0, x[i] - 1);       cnt += max(0, v[X].size() - 1);       if (cnt % 2 == 0) {         cout <<  Ayush n ;       } else         cout <<  Ashish n ;     }   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long test = 0;     cin >> test;     while (test--) solve();     return 0;   }   