toI(s=readline()) = parse(Int,s) toVI(s=readline()) = map(toI,eachsplit(s)) rep(f,n) = [f() for _ in 1:n] @enum YN Yes=1 No=0 function (@main)(ARGS) n,m = toVI() ss = rep(readline,n) solve(n,m,ss) |> println # join(stdout,solve()," "); println() end function solve(n,m,ss) ss = Set(ss) res = Char[] for i in 1:m g = c = p = 0 for s in ss if s[i] == 'G' g += 1 elseif s[i] == 'C' c += 1 elseif s[i] == 'P' p += 1 end end if g == c == 0 push!(res,'C') return join(res) elseif c == p == 0 push!(res,'P') return join(res) elseif p == g == 0 push!(res,'G') return join(res) elseif g == 0 push!(res,'C') filter!(s->first(s) != 'P',ss) elseif c == 0 push!(res,'P') filter!(s->first(s) != 'G',ss) elseif p == 0 push!(res,'G') filter!(s->first(s) != 'C',ss) else return "-1" end end return "-1" end