시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB7315914.062%

문제

모든 수가 $1$ 이상 $K$ 이하의 수로 구성된 수열이 있다. 이 수열에 다른 연속한 부분수열을 삽입하거나 삭제하는 연산을 원하는 만큼 할 수 있다. 단, 이 수열은 길이가 $M$ 이상이어야 하며, 수열의 각 수 또한 $1$ 이상 $K$ 이하의 정수여야 한다.

연산 전의 수열이 $A_0, A_1, \cdots, A_{L-1}$인 길이 $L$의 수열이라고 하자. 각 연산은 다음과 같이 표현할 수 있고, 등장하는 모든 수는 정수이다.

  • $+ \ P \ N \, B_0 \ B_1 \ \cdots \ B_{N-1}$
    • 수열 $A$의 $P$ 번째 위치 앞에 수열 $B_0, B_1, \cdots, B_{N-1}$을 추가한다는 의미이다.
      • $P = L$ 인 경우에, 수열의 가장 뒤에 $B_0, B_1, \cdots, B_{N-1}$ 을 추가한다는 의미이다.
    • $0 \le P \le L; N \ge M; 1 \le B_0 < B_1 < \cdots < B_{N-1} \le K$를 만족해야 한다.
    • 이후, 수열은 $A_0, A_1, \cdots, A_{P-1}, B_0, B_1, \cdots, B_{N-1}, A_{P}, A_{P+1}, \cdots, A_{L-1}$이 된다.
  • $- \ P \ N$
    • 수열의 $A$의 $P$ 번째 위치부터 $N$ 개의 수를 제거한다는 의미이다.
    • $0 \le P; N \ge M; P+N \le L; A_{P} < A_{P+1} < \cdots < A_{P+N-1}$을 만족해야 한다.
    • 이후, 수열은 $A_0, A_1, \cdots, A_{P-1}, A_{P+N}, A_{P+N+1}, \cdots, A_{L-1}$이 된다.

예를 들어, $K = 9, M = 2$일 때, 수열 $3, 2, 7, 8, 9, 1, 4$에 연산 $+ \, 7 \, 3 \ 1 \, 5 \, 9$를 적용하면 수열이 $3, 2, 7, 8, 9, 1, 4, 1, 5, 9$가 되고, 여기에 추가적으로 연산 $- \ 1 \ 4$를 적용하면 수열이 $3, 1, 4, 1, 5, 9$가 된다.

$K$와 $M$, 그리고 두 수열 $C$, $D$가 주어졌을 때, 수열 $C$에서 연산을 원하는 만큼 반복해서 적용해서 수열 $D$를 만들 수 있는지를 구하고, 만들 수 있다면 해당 방법을 출력하여라.

입력

입력은 다음과 같은 형태로 주어진다.

$K$ $M$

$|C|$

$C_0$ $C_1$ $\cdots$ $C_{|C|-1}$

$|D|$

$D_0$ $D_1$ $\cdots$ $D_{|D|-1}$

출력

수열 $C$에서 연산을 원하는 만큼 반복해서 적용해서 수열 $D$를 만들 수 없다면 NO를 출력한다. 그렇지 않은 경우 다음과 같은 방법으로 출력한다.

YES

$V$

$op_1$

$op_2$

$\vdots$

$op_V$

여기서 $V$는 연산을 사용하는 횟수이며, $i$ 번째 연산은 $op_i$로 표현되었다. 문제에서 주어진 연산을 문제에서 주어진 조건에 맞게 출력해야 한다.

제한

입력 및 출력에서 사용되는 모든 수는 정수이다.

입력 제한

  • $1 \le M, K, |C|, |D| \le 50$
  • $1 \le C_i \le K$ $(0 \le i < |C|)$
  • $1 \le D_j \le K$ $(0 \le j < |D|)$

출력 제한

  • $0 \le V \le 10\, 000$
  • 입력 제한에 따른 모든 데이터에 대해서, 답이 존재하는 경우에는 출력 제한을 만족하는 답이 있음을 증명할 수 있다.

예제 입력 1

9 2
7
3 2 7 8 9 1 4
6
3 1 4 1 5 9

예제 출력 1

YES
2
+ 7 3 1 5 9
- 1 4

노트

채점기는 공백의 종류나 개수에 민감하지 않지만, 너무 많은 공백을 출력한 경우 오답을 받을 수 있다.

출처