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>
import java.util.*;
import java.io.*;

public class twoteams{

    static class FastReader {
        BufferedReader br;
        StringTokenizer st;
        public FastReader() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }
        String next() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        int nextInt() {
            return Integer.parseInt(next());
        }
        long nextLong() {
            return Long.parseLong(next());
        }
        double nextDouble() {
            return Double.parseDouble(next());
        }
        String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }

    public static void main(String args[]){
        FastReader in = new FastReader();
        int cases = in.nextInt();
        int d;
        int k;
        //0 = A, 1 = U
        int player = 0;
        int x,y;
        //System.out.println("Cases: "+cases);
        for(int i = 0; i < cases; i++){
            player = 0;
            x = 0;
            y = 0;
            d = in.nextInt();
            k = Integer.parseInt(in.next());
            //System.out.println("X: "+x+"; Y: "+y+"; d: "+d+"; k: "+k);
            while((x+k)*(x+k)+y*y <= d*d){
                if(x+k<=d){
                    x += k;
                    //System.out.println("x = "+x);
                    if(player == 0){
                        player = 1;
                    }
                    else{
                        player = 0;
                    }
                }
                //System.out.println(player);
                if((y+k)*(y+k)+x*x <= d*d){
                    y += k;
                    //System.out.println("y = "+y);
                    if(player == 0){
                        player = 1;
                        //System.out.println(player);
                    }
                    else{
                        player = 0;
                        //System.out.println(player);
                    }
                }
            }
            //System.out.println(player);
            if(player == 0) System.out.println("Utkarsh");
            else System.out.println("Ashish");
        }
    }
}
/*
1
9 3
110010001
5 9
1 4
2 6
7 8
*/