package main import . "fmt" func main() { var n,m int Scan(&n,&m) ss := make([][]byte, n) for i := range ss { var s string Scan(&s) ss[i] = []byte(s) } ok := make([]bool, n) ans := make([]byte, m) const ( G = 1 C = 2 P =4 ) for i := range ans { f := 0 for j, s := range ss { if ok[j] { continue } switch s[i] { case 'G': f |= G case 'C': f |= C case 'P': f |= P } } switch f { case 0, C, (G|C): ans[i] = 'G' case P, (C|P): ans[i] = 'C' case G, (G|P): ans[i] = 'P' case (G|C|P): Println(-1) return } for j, s := range ss { if ok[j] { continue } if s[i] != ans[i] { ok[j] = true } } } Println(string(ans)) }