#include<iostream>
using namespace std;
class whatsNext {
public:
int checkGp(int a,int b,int c);
int checkAp(int a,int b,int c);
};
int whatsNext :: checkAp(int a,int b, int c) {
int k = 0;
if(2*b == a+c) {
k = c + (c-b);
}
return k;
}
int whatsNext :: checkGp(int a,int b,int c) {
int k = 0;
if(b*b == a*c) {
k = c * (c/b);
}
return k;
}
int main() {
whatsNext w;
int a,b,c;
while(cin>>a>>b>>c){
if(a == 0 && b == 0 && c == 0) {
break;
}
else if(w.checkAp(a,b,c)){
cout<<"AP"<<" "<<w.checkAp(a,b,c);
cout<<endl;
}
else {
cout<<"GP"<<" "<<w.checkGp(a,b,c);
cout<<endl;
}
}
}
I2luY2x1ZGU8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3Mgd2hhdHNOZXh0IHsKCiAgICBwdWJsaWM6CiAgICAgICAgaW50IGNoZWNrR3AoaW50IGEsaW50IGIsaW50IGMpOwogICAgICAgIGludCBjaGVja0FwKGludCBhLGludCBiLGludCBjKTsKfTsKaW50IHdoYXRzTmV4dCA6OiBjaGVja0FwKGludCBhLGludCBiLCBpbnQgYykgewogICAgaW50IGsgPSAwOwogICAgaWYoMipiID09IGErYykgewogICAgICAgIGsgPSBjICsgKGMtYik7CiAgICB9CiAgICByZXR1cm4gazsKfQppbnQgd2hhdHNOZXh0IDo6IGNoZWNrR3AoaW50IGEsaW50IGIsaW50IGMpIHsKICAgIGludCBrID0gMDsKICAgIGlmKGIqYiA9PSBhKmMpIHsKICAgICAgICBrID0gYyAqIChjL2IpOwogICAgfQogICAgcmV0dXJuIGs7Cn0KCmludCBtYWluKCkgewogICAgd2hhdHNOZXh0IHc7CiAgICBpbnQgYSxiLGM7CgogICAgd2hpbGUoY2luPj5hPj5iPj5jKXsKCiAgICAgICAgaWYoYSA9PSAwICYmIGIgPT0gMCAmJiBjID09IDApIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYody5jaGVja0FwKGEsYixjKSl7CgogICAgICAgICAgICBjb3V0PDwiQVAiPDwiICI8PHcuY2hlY2tBcChhLGIsYyk7CiAgICAgICAgICAgIGNvdXQ8PGVuZGw7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBjb3V0PDwiR1AiPDwiICI8PHcuY2hlY2tHcChhLGIsYyk7CiAgICAgICAgICAgIGNvdXQ8PGVuZGw7CiAgICAgICAgfQogICAgfQp9Cg==