package q5; import java.util.*; public class Main { public static ArrayList janken = new ArrayList<>(); public static StringBuilder sb = new StringBuilder(); public static String h = "GCP"; public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); String[] s = new String[n]; for(int i = 0;i < n;i++) { s[i] = sc.next(); } makeJanken(0,Math.min(m, 6)); //System.out.println(janken); for(String t:janken) { boolean[] win = new boolean[n]; boolean ok = true; int winNum = 0; for(int j = 0;j < t.length();j++) { for(int i = 0;i < n;i++) { int hand = s[i].charAt(j); for(int k = 0;k < 3;k++) { if(hand == h.charAt(k))hand = k; } if(win[i])continue; if(!win[i] && h.charAt((hand + 1) % 3) == t.charAt(j))ok = false; if(!win[i] && h.charAt((hand + 2) % 3) == t.charAt(j)) { win[i] = true; winNum++; } } }if(ok && winNum == n) { System.out.print(t); for(int i = Math.min(m, 6);i < m;i++) { System.out.print("G"); }return; } } System.out.print(-1); }public static void makeJanken(int ind,int end) { if(ind == end) { //System.out.println(sb); janken.add(sb.toString()); return; }for(int i = 0;i < 3;i++) { sb.append(h.charAt(i)); makeJanken(ind + 1,end); sb.deleteCharAt(sb.length() - 1); } } }