#include <bits/stdc++.h>
using namespace std;
bool cmp(const pair<int, int> a, const pair<int, int> b) {
  return a.first < b.first;
}
void printV(vector<int> nums) {
  for (int i : nums) {
    printf("%d ", i);
  }
  printf("\n");
}
bool isPrime(int n) {
  for (int i = 2; i * i <= n; i++) {
    if (n % i == 0) {
      return false;
    }
  }
  return true;
}
void bfs(vector<vector<int>> graph, int src, int dest, vector<int> &pred) {
  queue<int> q;
  vector<bool> visited(graph.size() + 1, false);
  q.push(src);
  visited[src] = true;
  while (!q.empty()) {
    int curr = q.front();
    q.pop();
    for (int i : graph[curr]) {
      if (!visited[i]) {
        q.push(i);
        visited[i] = true;
        pred[i] = curr;
        if (i == dest) {
          return;
        }
      }
    }
  }
}
long long int nCr(int n, int r) {
  if (n == r) {
    return 1;
  }
  long long int ans = 1;
  if (n > r) {
    int mn = min(n - r, r);
    int mx = max(n - r, r);
    for (int i = n; i > mx; i--) {
      ans = ans * i;
    }
    for (int i = 1; i <= mn; i++) {
      ans /= i;
    }
    return ans;
  }
  return 0;
}
vector<int> sieve(int n) {
  vector<bool> is_prime(n + 1, true);
  vector<int> prime;
  is_prime[0] = is_prime[1] = false;
  for (int i = 2; i <= n; i++) {
    if (is_prime[i] && (long long int)i * i <= n) {
      for (int j = i * i; j <= n; j += i) {
        is_prime[j] = false;
      }
    }
  }
  for (int i = 0; i <= n; i++) {
    if (is_prime[i]) prime.push_back(i);
  }
  return prime;
}
vector<int> nextSmallerElements(vector<int> nums) {
  int n = nums.size();
  stack<int> stk;
  stk.push(0);
  vector<int> ind(n);
  for (int i = 1; i < n; i++) {
    if (stk.empty()) {
      stk.push(i);
    } else {
      while (!stk.empty() && nums[stk.top()] > nums[i]) {
        ind[stk.top()] = i;
        stk.pop();
      }
      stk.push(i);
    }
  }
  while (!stk.empty()) {
    ind[stk.top()] = -1;
    stk.pop();
  }
  return ind;
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    int m, n;
    cin >> m >> n;
    vector<vector<int>> nums(m, vector<int>(n));
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) cin >> nums[i][j];
    }
    int cnt = 0;
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < n; j++) {
        if (nums[i][j] == 0) {
          bool flag = true;
          for (int k = 0; k < m; k++) {
            if (nums[k][j] == 1) {
              flag = false;
              break;
            }
          }
          if (flag) {
            for (int k = 0; k < n; k++) {
              if (nums[i][k] == 1) {
                flag = false;
                break;
              }
            }
          }
          if (flag) {
            nums[i][j] = 1;
            cnt++;
          }
        }
      }
    }
    if (cnt & 1) {
      cout << "Ashish" << endl;
    } else {
      cout << "Vivek" << endl;
    }
  }
  return 0;
}
