아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

삼색 다시 칠하기

면접 대비

시간 제한2초메모리 제한1024 MB

요약
그래프의 모든 정점을 원래 색과 다른 색으로 다시 칠하되, 같은 색인 두 정점이 간선으로 이어지지 않도록 색을 정한다.
난이도

보통10점 중 6점

유형
그래프, DFS, 구현, 그리디
정답자
아직 제출이 없습니다

문제

페탸는 종이에 nn개의 원을 그리고 몇 쌍의 원을 선분으로 이었다. 그다음 각 원을 빨간색, 파란색, 초록색 중 하나로 칠했다.

이제 페탸는 이 색칠을 바꾸려고 한다. 즉, 각 원을 다른 색으로 다시 칠해서 같은 색인 두 원이 선분으로 이어져 있지 않게 하려고 한다. 이때 모든 원을 반드시 다시 칠해야 하며, 원래 칠해져 있던 색과 같은 색으로 다시 칠하는 것은 허용되지 않는다.

페탸가 위 조건을 만족하도록 원을 어떤 색으로 다시 칠해야 하는지 구하시오.

입력

첫째 줄에 두 정수 nn과 mm이 주어진다. nn은 원의 개수, mm은 페탸가 그린 선분의 개수이다 (1≤n≤1 0001 \le n \le 1\,000, 0≤m≤20 0000 \le m \le 20\,000).

다음 줄에는 'R', 'G', 'B'로 이루어진 nn개의 문자가 주어진다. 이 중 ii번째 문자는 ii번째 원의 색이다 ('R'은 빨간색, 'G'는 초록색, 'B'는 파란색).

다음 mm개의 줄에는 선분으로 이어진 두 원의 번호가 주어진다.

출력

다시 칠한 뒤의 원의 색을 나타내는 'R', 'G', 'B' nn개의 문자를 한 줄에 출력한다. 답이 여러 개면 아무거나 출력해도 된다.

답이 존재하지 않으면 Impossible을 출력한다.

예제2

  1. 예제 1

    입력
    4 5
    RRRG
    1 3
    1 4
    3 4
    2 4
    2 3
    
    예상 출력
    BBGR
    
  2. 예제 2

    입력
    4 5
    RGRR
    1 3
    1 4
    3 4
    2 4
    2 3
    
    예상 출력
    Impossible