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;
inline void RI(long long &i) { scanf("%lld", &(i)); }
inline void RVI(vector<long long> &v) {
  for (long long i = 0; i < long long((v).size()); ++i) {
    RI(v[i]);
  }
}
inline void RVVI(vector<vector<long long> > &vv) {
  for (long long i = 0; i < long long((vv).size()); ++i) {
    RVI(vv[i]);
  }
}
inline void RS(string &s) {
  static char buf[1000000];
  scanf("%s", buf);
  s = buf;
}
inline long long sq(long long i) { return i * i; }
int main(int argc, char *argv[]) {
  long long i, j, k;
  long long t, T;
  RI(T);
  for (t = (0); t < (T); ++t) {
    long long d, k;
    RI(d);
    RI(k);
    long long k2 = k * k, d2 = d * d;
    long long a, b;
    a = 0;
    auto check = [&](long long x, long long y) {
      return (sq(x) + sq(y)) * k2 <= d2;
    };
    bool f = false;
    while (true) {
      long long L = 0, H = d;
      while (H - L > 1) {
        long long M = (H + L) / 2;
        if (check(a + M, M)) {
          L = M;
        } else {
          H = M;
        }
      }
      long long b = L;
      long long x = a + b, y = b;
      if (!check(x, y + 1) && !check(x + 1, y)) {
        f = a % 2 == 0;
        break;
      }
      a++;
    }
    printf(f ? "Utkarsh\n" : "Ashish\n");
  }
  return 0;
}
