Utkarsh is forced to play yet another one of Ashish's games. The game progresses turn by turn and as usual, Ashish moves first.

Consider the 2D plane. There is a token which is initially at (0,0). In one move a player must increase either the x coordinate or the y coordinate of the token by exactly k. In doing so, the player must ensure that the token stays within a (Euclidean) distance d from (0,0).

In other words, if after a move the coordinates of the token are (p,q), then p^2 + q^2 ≤ d^2 must hold.

The game ends when a player is unable to make a move. It can be shown that the game will end in a finite number of moves. If both players play optimally, determine who will win.

Input

The first line contains a single integer t (1 ≤ t ≤ 100) — the number of test cases.

The only line of each test case contains two space separated integers d (1 ≤ d ≤ 10^5) and k (1 ≤ k ≤ d).

Output

For each test case, if Ashish wins the game, print "Ashish", otherwise print "Utkarsh" (without the quotes).

Example

Input


5
2 1
5 2
10 3
25 4
15441 33


Output


Utkarsh
Ashish
Utkarsh
Utkarsh
Ashish

Note

In the first test case, one possible sequence of moves can be

(0, 0) \xrightarrow{Ashish } (0, 1) \xrightarrow{Utkarsh } (0, 2).

Ashish has no moves left, so Utkarsh wins.

<image>
#include <bits/stdc++.h>
using namespace std;
typedef string::const_iterator state;
const double PI = acos(-1);
const long long big = 1000000007LL;
const long long INF = 1e18;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
long long max(long long x, long long y) {
  if (x > y)
    return x;
  else
    return y;
}
long long min(long long x, long long y) {
  if (x < y)
    return x;
  else
    return y;
}
long long expm(long long x, long long y, long long mod = big) {
  if (y == 0) return 1;
  if (x == 1 || x == 0) return x;
  if (y % 2 == 1) return (expm(x, y - 1, mod) * x) % mod;
  long long t = expm(x, y / 2, mod);
  return (t * t) % mod;
}
long long exp(long long x, long long y) {
  if (y == 0) return 1;
  if (x == 1 || y == 0) return x;
  if (y % 2 == 1) return exp(x, y - 1) * x;
  long long t = exp(x, y / 2);
  return t * t;
}
long long sqrts(long long d, long long k) {
  long long ok = 0;
  long long ng = d;
  while (ng - ok > 1) {
    long long mid = (ok + ng) / 2;
    if (2 * k * k * mid * mid <= d * d)
      ok = mid;
    else
      ng = mid;
  }
  return ok;
}
void solve() {
  long long d, k;
  cin >> d >> k;
  long long n = sqrts(d, k);
  if (n * k * n * k + (n + 1) * k * (n + 1) * k <= d * d) {
    cout << "Ashish\n";
  } else
    cout << "Utkarsh\n";
}
int main() {
  ios::sync_with_stdio(false);
  std::cin.tie(nullptr);
  cout << fixed << setprecision(10);
  int t;
  cin >> t;
  while (t--) solve();
}
