옷걸이
면접 대비시간 제한1초메모리 제한256 MB
옷걸이 종류와 상의, 하의 개수가 주어질 때 모든 옷을 걸 수 있는지 판단하고, 가능하면 옷걸이마다 걸 옷의 종류를 출력합니다.
문제
경기과학고등학교에는 아주 무시무시한 부서가 하나 있다. 그 부서의 이름은 '자치부'이다. 자치부의 주된 역할 중 하나는 아침에 지정된 기숙사에 들어가 방의 정리 정돈 상태를 확인하고 검사하는 것이다. 은호는 자치부의 일원으로서 기숙사 호실들을 모두 점검하게 되었다. 그런데 은호가 점검하는 호실마다 옷이 너저분하게 깔려 있었고 심각하게 어질러져 있었다. 이에 은호는 기숙사 대청소 날을 정해 기숙사의 옷을 모두 정리하려고 한다.
은호가 경곽 기숙사의 옷걸이를 조사해 보니 세 종류가 있었다. 상의만 걸 수 있는 옷걸이, 하의만 걸 수 있는 옷걸이, 상의와 하의를 모두 걸 수 있는 옷걸이이다. 옷걸이 하나에는 상의 하나 또는 하의 하나만 걸 수 있다.
은호는 옷을 정리하기 전에 옷걸이가 모든 옷을 걸기에 부족하지 않은지 조사하려고 한다. 은호는 경곽 기숙사의 상의와 하의 개수, 그리고 옷걸이의 개수와 종류를 모두 조사했다. 놀랍게도 옷걸이의 개수와 옷의 개수는 같았다. 옷이 너무 많아서 은호는 프로그램으로 모든 옷을 정리할 수 있는지 구하고자 한다. 정리할 수 있다면 옷을 어떻게 걸어야 하는지도 알고 싶어 한다.
은호는 건표와 급한 약속이 있어서 이 프로그램의 구현을 여러분에게 맡기고 떠났다. 은호를 대신해 프로그램을 작성하자.
입력
첫째 줄에 옷걸이의 개수 이 주어진다.
둘째 줄에 개의 정수가 주어진다. 번째 정수 는 번째 옷걸이의 종류를 나타낸다.
1은 상의 옷걸이, 2는 하의 옷걸이, 3은 상의와 하의를 모두 걸 수 있는 옷걸이를 나타낸다.
마지막 줄에는 두 정수 , 가 주어진다. 는 상의의 개수, 는 하의의 개수이다. 임이 보장된다.
출력
주어진 상의와 하의를 옷걸이에 모두 걸 수 있으면 첫째 줄에 YES를, 없으면 NO를 출력한다.
모두 걸 수 있다면 둘째 줄에 각 옷걸이에 건 옷의 종류를 길이 인 문자열로 출력한다. 문자열의 번째 문자는 번째 옷걸이에 건 옷의 종류이며, U는 상의, D는 하의를 뜻한다. (작은따옴표는 출력하지 않는다.)
문자는 모두 대문자로 출력해야 한다.
제한