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.
# s = 'dic = {'
# c = 0
# for i in range(ord('A'),ord('X')):
# 	if chr(i) not in ['B','J','O','U']:
# 		s+= "'" + chr(i) + "':" + str(c) + ","
# 		c+=1
# s+="'" + 'Y' + "':" + str(c) + ","
# c+=1
# s+="'" + 'X' + "':" + str(c) + ","
# c = 0
# for i in range(ord('a'),ord('x')):
# 	if chr(i) not in ['b','j','o','u']:
# 		s+= "'" + chr(i) + "':" + str(c) + ","
# 		c+=1
# s+="'" + 'y' + "':" + str(c) + ","
# c+=1
# s+="'" + 'x' + "':" + str(c) + " }"
# print(s)
# n = int(input())
# b = list(map(int,input().split()))
# m = int(input())
# g = list(map(int,input().split()))
# c = 0
# b.sort()
# g.sort()
# t = [False]*m
# for i in range(n):
# 	for j in range(m):
# 		if abs(b[i]-g[j])<=1:
# 			c+=1
# 			g[j] = -500
# 			break
# print(c)
# a = list(input())
# b = list(input())
# a.sort()
# b.sort()
# print(a,b)
# x,y = 0,0
# if a>b:
# 	print(1)
# elif a<b:
# 	print(2)
# else:
# 	print(3)
# for i in range(len(a)):
# 	if ord(a[i])>ord(b[i]):
# 		x+=1
# 	elif ord(a[i])<ord(b[i]):
# 		y+=1
# 	else:
# 		x+=1
# 		y+=1
# 	print(x,y)
# if x>y:
# 	print('Wakanda')
# elif y>x:
# 	print('Kree')
# else:
# 	print('Tie')



# arr = [1]
# x = 1
# while x<=10**18:
# 	x*=2
# 	arr.append(x)
# print(arr)

# for _ in range(int(input())):
# 	p = list(map(int,input().split()))
# 	a = list(map(int,input().split()))
# 	diff = [a[0]-p[0],a[1]-p[1],a[2]-p[2]]
# 	mult = [-1]*3
# 	for i in range(3):
# 		if a[i]%p[i]==0:
# 			mult[i] = a[i]//p[i]
# 	if diff[0]==diff[1]==diff[2]:
# 		if diff[0]==0:
# 			print(0)
# 		else:
# 			print(1)
# 	elif mult[0]==mult[1]==mult[2]!=-1:
# 		print(1)
# 	elif diff[0]==diff[1]:
# 		if diff[0]==0 or diff[2]==0:
# 			print(1)
# 		else:
# 			print(2)
# 	elif diff[0]==diff[2]:
# 		if diff[0]==0 or diff[1]==0:
# 			print(1)
# 		else:
# 			print(2)
# 	elif diff[1]==diff[2]:
# 		if diff[1]==0 or diff[0]==0:
# 			print(1)
# 		else:
# 			print(2)
# 	elif mult[0]==mult[1]!=-1 or mult[0]==mult[2]!=-1 or mult[1]==mult[0]!=-1  or mult[1]==mult[2]!=-1  or mult[2]==mult[0]!=-1  or mult[2]==mult[1]!=-1 :
# 		print(2)
# 	elif (mult[0]*mult[1]==mult[2] and mult[0]!=-1 and mult[1]!=-1 and mult[2]!=-1) or (mult[1]*mult[2]==mult[0] and mult[0]!=-1 and mult[1]!=-1 and mult[2]!=-1) or (mult[0]*mult[2]==mult[1] and mult[0]!=-1 and mult[1]!=-1 and mult[2]!=-1):
# 		print(2)   
# 	elif a[0]%p[0]==a[1]%p[1] and a[0]%(a[0]%p[0]+p[0])==0 and a[1]%(a[1]%p[1]+p[1])==0 and a[2]%p[2]==0 and a[0]//(a[0]%p[0]+p[0])==a[1]%(a[1]%p[1]+p[1]):
# 		if a[2]==p[2] or a[2]//p[2]==a[0]//(a[0]%p[0]+p[0]):
# 			print(2)
# 	elif a[0]%p[0]==a[2]%p[2] and a[0]%(a[0]%p[0]+p[0])==0 and a[2]%(a[2]%p[2]+p[2])==0 and a[1]%p[1]==0 and a[0]//(a[0]%p[0]+p[0])==a[2]%(a[2]%p[2]+p[2]):
# 		if a[1]==p[1] or a[1]//p[1]==a[0]//(a[0]%p[0]+p[0]):
# 			print(2)
# 	elif a[2]%p[2]==a[1]%p[1] and a[2]%(a[2]%p[2]+p[2])==0 and a[1]%(a[1]%p[1]+p[1])==0 and a[0]%p[0]==0 and a[2]//(a[2]%p[2]+p[2])==a[1]%(a[1]%p[1]+p[1]):
# 		if a[0]==p[0] or a[0]//p[0]==a[2]//(a[2]%p[2]+p[2]):
# 			print(2)
# 	elif a[0]//p[0]==a[1]//p[1] and a[0]-(a[0]//p[0])*p[0] == a[1]-(a[1]//p[1])*p[1] == a[2]-p[2]:
# 		if a[2]==p[2]:
# 			print(1)
# 		else:
# 			print(2)
# 	elif a[0]//p[0]==a[2]//p[2] and a[0]-(a[0]//p[0])*p[0] == a[2]-(a[2]//p[2])*p[2] == a[1]-p[1]:
# 		if a[1]==p[1]:
# 			print(1)
# 		else:
# 			print(2)
# 	elif a[2]//p[2]==a[1]//p[1] and a[2]-(a[2]//p[2])*p[2] == a[1]-(a[1]//p[1])*p[1] == a[0]-p[0]:
# 		if a[0]==p[0]:
# 			print(1)
# 		else:
# 			print(2)
# 	elif a[0]==a[1]==a[2] and p[0]==p[1]!=p[2] or p[0]==p[2]!=p[1] or p[0]!=p[1]==p[2] or p[0]!=p[1]!=p[2]:
# 		print(2)
# 	else:
# 		print(3)

# def binsearch(arr,x):
# 	n = len(arr)
# 	if n==0:
# 		return False
# 	if n==1:
# 		return x==arr[0]
# 	else:
# 		mid = arr[n//2]
# 		if mid==x:
# 			return True
# 		else:
# 			if mid>x:
# 				return binsearch(arr[:n//2],x)
# 			else:
# 				return binsearch(arr[n//2+1:],x)

#Sieve (all prime numbers till n)
# n = 10**6
# l = [i for i in range(2,n+1)]
# l = [0,1] + l
# p = 2
# t = [False]*len(l)
# while p**2<=n:
# 	if not t[p]:
# 		for i in range(p**2, n+1,p):
# 			t[i] = True
# 	p+=1
# primes = [i for i in range(len(t)) if not t[i]]
# primes.pop(0)
# primes.pop(0)
# print(primes)

# Sieve (least prime factor of a number)
# least = [0]*(n+1)
# least[1] = 1
# for i in range(2,n+1):
# 	if not least[i] :
# 		least[i] = i
# 		for j in range(2*i,n+1,i):
# 			if not least[j] :
# 				least[j] = i

# print(least)
#Sieve (prime factorization)
# def pf(x):
# 	r = []
# 	while x!=1:
# 		r.append(least[x])
# 		x//=least[x]
# 	return r


#Efficient power(x,n)
# def pow(x,n):
# 	if n==0:
# 		return 1
# 	p = pow(x,n//2)
# 	if n%2==0:
# 		return p*p
# 	else:
# 		return x*p*p
# x,n = map(int,input().split())
# ans = pow(x,abs(n))
# if n<0:
# 	print(1/ans)
# else:
# 	print(ans)
# k = int(input())
# s = list('codeforces')
import math

#All Divisors of n
# for i in range(1,int(math.sqrt(n))+1):
# 	if n%i==0:
# 		if n//i == i:
# 			r.append(i)
# 		else:
# 			r.append(i)
# 			r.append(n//i)

#Prime Fact > 10**5
# def pf(x):
# 	r = []
# 	while x%2==0:
# 		r.append(2)
# 		x//=2
# 	for i in range(3,int(math.sqrt(x))+1,2):
# 		while x%i==0:
# 			r.append(i)
# 			x//=i
# 	if x>2:
# 		r.append(2)
# 	return r

# isPrime
# def prime(x):
# 	r = []
# 	if x==2:
# 		return True
# 	elif x==3:
# 		return True
# 	for i in range(2,int(math.sqrt(x))+1):
# 		if x%i==0:
# 			return False
# 	return True

import math
a = []
x = 2
while x<10**9:
	x*=2
	a.append(x)
def prime(n):
	for i in range(2,int(math.sqrt(n))+1):
		if n%i==0:
			return False
	return True
	
for _ in range(int(input())):
	n = int(input())
	if n==1:
		print('FastestFinger')
	elif n==2:
		print('Ashishgup')
	else:
		if n%2==1:
			print('Ashishgup')
		else:
			if n in a:
				print('FastestFinger')
			else:
				if n%4==0:
					print('Ashishgup')
				else:
					if n%2==0:
						if prime(n//2):
							print('FastestFinger')
						else:
							print('Ashishgup')




