시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB537988921.867%

문제

키위 유치원에서 $N$마리의 어린 키위새들은 재밌는 게임 "가지 오이 당근"을 하고 있습니다. "가지 오이 당근"은 가위바위보와 비슷한 게임으로, 다음과 같은 규칙을 가집니다.

  • 참여하는 모든 키위새는 가지, 오이, 당근 중 하나의 채소를 내야 합니다.
  • 가지를 낸 키위새는 오이를 낸 키위새가 존재하면 승점을 얻습니다.
  • 오이를 낸 키위새는 당근을 낸 키위새가 존재하면 승점을 얻습니다.
  • 당근을 낸 키위새는 가지를 낸 키위새가 존재하면 승점을 얻습니다.
  • 모든 키위새가 승점을 얻었거나 모든 키위새가 승점을 얻지 못한 경우 모든 키위새가 비깁니다.
  • 그렇지 않으면, 승점을 얻은 키위새는 이기고 승점을 얻지 못한 키위새는 집니다.

가지는 오이를 상대로, 오이는 당근을 상대로, 당근은 가지를 상대로 승점을 얻습니다.

유치원의 키위새들은 채소를 내었지만, 여러분은 잠시 쉬고 있느라 몇몇 키위새가 낸 채소를 보지 못했습니다! 그 대신 유치원의 키위새들에게 게임의 결과를 물어보아 각 키위새가 이겼는지, 비겼는지, 졌는지 알아내었습니다. 하지만 키위새는 기억력이 좋지 않아 실제 결과와 다른 결과를 말했을 수도 있습니다.

키위새들이 말한 결과가 가능한 결과인지 판별하고 가능하다면 각 키위새가 낸 채소들의 조합으로 가능한 것을 아무거나 찾아서 출력해 봅시다.

입력

첫 번째 줄에 테스트 케이스의 수 $T$가 주어집니다. $(1 \le T \le 10^5)$

각 테스트 케이스의 첫 번째 줄에 "가지 오이 당근"을 한 키위새의 수 $N$이 주어집니다. $(2 \le N \le 10^5)$

그다음 줄에 G, O, D, ? 만으로 이루어진 길이 $N$의 문자열 $V$가 주어집니다. 이 문자열의 $i$번째 글자 $V_i$는 다음과 같은 정보를 나타냅니다.

  • $V_i =$ G: $i$번째 키위새가 채소 가지를 내었습니다.
  • $V_i =$ O: $i$번째 키위새가 채소 오이를 내었습니다.
  • $V_i =$ D: $i$번째 키위새가 채소 당근을 내었습니다.
  • $V_i =$ ?: $i$번째 키위새가 낸 채소를 보지 못했습니다.

$V$에 ?가 한 개 이상은 존재합니다.

그다음 줄에 W, D, L 만으로 이루어진 길이 $N$의 문자열 $R$이 주어집니다. 이 문자열의 $i$번째 글자 $R_i$는 다음과 같은 정보를 나타냅니다.

  • $R_i =$ W: $i$번째 키위새가 본인이 이겼다고 말했습니다.
  • $R_i =$ D: $i$번째 키위새가 본인이 비겼다고 말했습니다.
  • $R_i =$ L: $i$번째 키위새가 본인이 졌다고 말했습니다.

모든 테스트 케이스에서 $N$의 총합이 $2 \times 10^5$를 넘지 않습니다.

출력

각 테스트 케이스에 대해 다음 내용을 출력합니다.

만약 키위새들이 채소를 낼 수 있는 조합이 존재한다면 YES를 한 줄에 출력하고, 그다음 줄에 길이 $N$의 문자열 $V'$을 출력합니다. 이때, $V'$은 G, O, D 만으로 이루어진 문자열이어야 하고, $V'$에 따라 키위새들이 "가지 오이 당근"을 진행했을 때 결과가 $R$에서 주어진 결과와 일치해야 합니다. 또한, $V$의 $i$번째 글자 $V_i$가 ?가 아니라면 $V'_i$와 $V_i$는 일치해야 합니다.

키위새들이 채소를 낼 수 있는 조합이 존재하지 않는다면 NO를 한 줄에 출력합니다.

예제 입력 1

8
10
GD?DD??D?G
LWLWWWLWLL
10
GOG?GO???O
DDDDDDDDDD
10
GOGGGOGO?O
DDDDDDDDDD
10
G??????G??
DDDDDDDDDD
10
?GG?GD??GD
WWLWWLLLLW
10
D?GDOGD?DO
WLLDWLWWLL
7
G?G?GG?
WWWLWWL
7
??????D
WLLLLLL

예제 출력 1

YES
GDGDDDGDGG
YES
GOGDGODDDO
YES
GOGGGOGODO
YES
GGGGGGGGGG
NO
NO
YES
GGGOGGO
YES
ODDDDDD

출처

Contest > BOJ User Contest > 가지컵 > 2024 가지컵 E번