#include <iostream>
using namespace std;
int states[22], prime[1000001] = {0};
void build_states(){
states[1] = 0;
states[2] = 1;
for(int j = 3; j < 22; j++){
int ans = 0;
for(int i = 1; i <= (j/2); i++){
int curr = states[i] ^ states[j - i];
curr = 1 - curr;
ans = max(ans, curr);
}
states[j] = ans;
}
return;
}
void build_seive(){
prime[2] = 2;
prime[1] = 1;
for(int j = 4; j < 1000001; j += 2)
prime[j] = 2;
for(int i = 3; i < 1001; i += 2)
if(prime[i] == 0){
prime[i] = i;
for(int j = i*i; j < 1000001; j += i*2)
prime[j] = i;
}
return;
}
int num_of_fact(int x){
int ans = 0;
while(x != 1){
int curr = prime[x];
while(x % curr == 0){
ans ++;
x /= curr;
}
}
return ans;
}
int main(){
build_states();
build_seive();
int t;
cin >> t;
while(t--){
int n, ans = 0;
cin >> n;
while(n--){
int x;
cin >> x;
x = num_of_fact(x);
//cout << x << " ";
ans ^= states[x];
}
if(ans == 1) cout << "Appu\n";
else cout << "Friend\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBzdGF0ZXNbMjJdLCBwcmltZVsxMDAwMDAxXSA9IHswfTsKCnZvaWQgYnVpbGRfc3RhdGVzKCl7CiAgICBzdGF0ZXNbMV0gPSAwOwogICAgc3RhdGVzWzJdID0gMTsKICAgIGZvcihpbnQgaiA9IDM7IGogPCAyMjsgaisrKXsKICAgICAgICBpbnQgYW5zID0gMDsKICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IChqLzIpOyBpKyspewogICAgICAgICAgICBpbnQgY3VyciA9IHN0YXRlc1tpXSBeIHN0YXRlc1tqIC0gaV07CiAgICAgICAgICAgIGN1cnIgPSAxIC0gY3VycjsKICAgICAgICAgICAgYW5zID0gbWF4KGFucywgY3Vycik7CiAgICAgICAgfQogICAgICAgIHN0YXRlc1tqXSA9IGFuczsKICAgIH0KICAgIHJldHVybjsKfQoKdm9pZCBidWlsZF9zZWl2ZSgpewogICAgcHJpbWVbMl0gPSAyOwogICAgcHJpbWVbMV0gPSAxOwogICAgZm9yKGludCBqID0gNDsgaiA8IDEwMDAwMDE7IGogKz0gMikKICAgICAgICBwcmltZVtqXSA9IDI7CgogICAgZm9yKGludCBpID0gMzsgaSA8IDEwMDE7IGkgKz0gMikKICAgICAgICBpZihwcmltZVtpXSA9PSAwKXsKICAgICAgICAgICAgcHJpbWVbaV0gPSBpOwogICAgICAgICAgICBmb3IoaW50IGogPSBpKmk7IGogPCAxMDAwMDAxOyBqICs9IGkqMikKICAgICAgICAgICAgICAgIHByaW1lW2pdID0gaTsKICAgICAgICB9CiAgICByZXR1cm47Cn0KCmludCBudW1fb2ZfZmFjdChpbnQgeCl7CiAgICBpbnQgYW5zID0gMDsKICAgIHdoaWxlKHggIT0gMSl7CiAgICAgICAgaW50IGN1cnIgPSBwcmltZVt4XTsKICAgICAgICB3aGlsZSh4ICUgY3VyciA9PSAwKXsKICAgICAgICAgICAgYW5zICsrOwogICAgICAgICAgICB4IC89IGN1cnI7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKXsKICAgIGJ1aWxkX3N0YXRlcygpOwogICAgYnVpbGRfc2VpdmUoKTsKCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUodC0tKXsKICAgICAgICBpbnQgbiwgYW5zID0gMDsKICAgICAgICBjaW4gPj4gbjsKICAgICAgICB3aGlsZShuLS0pewogICAgICAgICAgICBpbnQgeDsKICAgICAgICAgICAgY2luID4+IHg7CiAgICAgICAgICAgIHggPSBudW1fb2ZfZmFjdCh4KTsKICAgICAgICAgICAgLy9jb3V0IDw8IHggPDwgIiAiOwogICAgICAgICAgICBhbnMgXj0gc3RhdGVzW3hdOwogICAgICAgIH0KICAgICAgICBpZihhbnMgPT0gMSkgY291dCA8PCAiQXBwdVxuIjsKICAgICAgICBlbHNlIGNvdXQgPDwgIkZyaWVuZFxuIjsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==