Ashishgup and FastestFinger play a game. 

They start with a number n and play in turns. In each turn, a player can make any one of the following moves:

  * Divide n by any of its odd divisors greater than 1. 
  * Subtract 1 from n if n is greater than 1. 



Divisors of a number include the number itself.

The player who is unable to make a move loses the game.

Ashishgup moves first. Determine the winner of the game if both of them play optimally.

Input

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

The only line of each test case contains a single integer — n (1 ≤ n ≤ 10^9).

Output

For each test case, print "Ashishgup" if he wins, and "FastestFinger" otherwise (without quotes).

Example

Input


7
1
2
3
4
5
6
12


Output


FastestFinger
Ashishgup
Ashishgup
FastestFinger
Ashishgup
FastestFinger
Ashishgup

Note

In the first test case, n = 1, Ashishgup cannot make a move. He loses.

In the second test case, n = 2, Ashishgup subtracts 1 on the first move. Now n = 1, FastestFinger cannot make a move, so he loses.

In the third test case, n = 3, Ashishgup divides by 3 on the first move. Now n = 1, FastestFinger cannot make a move, so he loses.

In the last test case, n = 12, Ashishgup divides it by 3. Now n = 4, FastestFinger is forced to subtract 1, and Ashishgup gets 3, so he wins by dividing it by 3.


import java.util.*;
import java.io.*;

public class C650C{
	static boolean isPrime[] = sieve((int)(1e5));
	static class FastReader {

        BufferedReader br;
        StringTokenizer st;

        private 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());
        }

	 int[] nextIntArray(int n) {
			int[] a = new int[n];
			for (int i = 0; i < n; i++)
				a[i] = nextInt();
			return a;
	}

	int[] nextIntArrayOne(int n) {
				int[] a = new int[n+1];
				for (int i = 1; i < n+1; i++)
					a[i] = nextInt();
				return a;
	}

        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 s =new FastReader();
		int t = s.nextInt();
		StringBuilder str = new StringBuilder();
		while(t-- >0) {
			int n = s.nextInt();
			
			if(n == 1) {
				str.append("FastestFinger").append("\n");
				continue;
			}
			if(n == 2 || n % 2 != 0 ){
				str.append("Ashishgup").append("\n");
				continue;
			}
			int count = 0;
			while(n % 2 == 0) {
				count++;
				n/=2;
			}
			if(n == 1) {
				str.append("FastestFinger").append("\n");
				continue;
			}
			List<Integer> list = new ArrayList<>();
			
			for(int i = 3;i * i<=n;i+=2) {
				
				while(n % i == 0) {
					list.add(i);
					n /=i;
				}
			}
			if(n > 1) list.add(n);
			
			if( (list.size() == 1 && count == 1)) {
				str.append("FastestFinger").append("\n");
			}else {
				str.append("Ashishgup").append("\n");
			}
			
			
		}
		System.out.println(str);
	}
	
	
	 static int oddDivs(int num) {
		List<Integer> list = new ArrayList<>();
		
		while(num % 2 ==0) {
			
			num /= 2;
		}
		
		for(int i = 3;i * i<=num;i+=2) {
			
			while(num % i == 0) {
				list.add(i);
				num /=i;
			}
		}
		
		if(num > 1) list.add(num);
		int oddProd = 1;
		for(int p : list) {
			oddProd *=p;
			}
		return oddProd;
	}
		private static boolean[] sieve(int n) {    
			boolean res[] = new boolean[n+1];
			
			
			res[2] = true;
			for(int fill= 3;fill<=n;fill+=2) { 
				res[fill] = true;
			}
			

			
			for(int i=3;i*i<=n;i=i+2) { 
				
				if(res[i]) {
				for(int j = i*i;j<=n;j+=i) {
					res[j] = false;
				}
				}
			}
			
			return res;
		}

	
	
}