#include<bits/stdc++.h>
using namespace std;
struct lll{
int a,p,c;
};
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
while(n--){
vector<lll> vec;
queue<int> a,p,c;
set<int> st;
string s;
cin>>s;
int len;
for(int i=0;i<s.size();i++){
st.insert(i+1);
if(s[i]=='A'){
a.push(i+1);
}else if(s[i]=='P'&&a.size()>p.size()){
p.push(i+1);
}else if(s[i]=='C'&&p.size()>c.size()){
c.push(i+1);
}
}
len=c.size();
while(!c.empty()){
st.erase(a.front());
st.erase(p.front());
st.erase(c.front());
vec.push_back({a.front(),p.front(),c.front()});
a.pop();
p.pop();
c.pop();
}
if(st.empty()){
cout<<"Perfect";
}else{
for(auto i:st){
cout<<s[i-1];
}
}
cout<<"\n"<<len<<"\n";
for(auto i:vec){
cout<<i.a<<" "<<i.p<<" "<<i.c<<"\n";
}
}
return 0;
}