N,M = list(map(int,input().split())) S = [input() for _ in range(N)] d = {"G":"P", "P":"C", "C":"G"} win = set() ans = [] for i in range(M): a = set() for j in range(N): if(j in win):continue a.add(S[j][i]) if(len(a) == 1): for j in range(N): win.add(j) ans.append(d[a.pop()]) elif(len(a) == 3): print(-1) exit() elif(a == set(["G","P"])): for j in range(N): if(S[j][i] == "G"):win.add(j) ans.append("P") elif(a == set(["P","C"])): for j in range(N): if(S[j][i] == "P"):win.add(j) ans.append("C") elif(a == set(["C","G"])): for j in range(N): if(S[j][i] == "C"):win.add(j) ans.append("G") elif(not a): ans.append("G") else: assert False print("".join(ans) if len(win) == N else -1)