#include using namespace std; #define rep(i, a, b) for (int i = a; i < b; i++) using ll = long long; int main(){ int n, m; cin >> n >> m; vector s(n); rep(i, 0, n) cin >> s[i]; map mp; mp['G'] = 0; mp['C'] = 1; mp['P'] = 2; string t; vector v(n); rep(j, 0, m) { vector cnt(3); rep(i, 0, n) { if(v[i]) continue; cnt[mp[s[i][j]]]++; } if(cnt[0] && cnt[1] && cnt[2]) { cout << -1 << endl; return 0; } if(cnt[1] == 0 || (cnt[1] == 0 && cnt[2] == 0)) t += 'P'; else if(cnt[2] == 0 || (cnt[2] == 0 && cnt[0] == 0)) t += 'G'; else if(cnt[0] == 0 || (cnt[0] == 0 && cnt[1] == 0)) t += 'C'; rep(i, 0, n) { if(v[i]) continue; if(s[i][j] == 'G' && t.back() == 'P') v[i] = 1; if(s[i][j] == 'P' && t.back() == 'C') v[i] = 1; if(s[i][j] == 'C' && t.back() == 'G') v[i] = 1; } } rep(i, 0, n) { if(v[i] == 0) { cout << -1 << endl; return 0; } } cout << t << endl; }