시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 256 MB282765629.947%

문제

성현이는 $ N $명의 알고리즘 동아리 부원들에게 총 $ M $개의 선물을 주기로 했다.

하지만, 부원들에게 선물을 그냥 주는 건 재미없다고 생각한 성현이는 아래와 같은 방식으로 선물을 나눠주기로 했다.

우선, $ N $명의 부원들에게 $ 1 $부터 $ N $까지의 번호를 매긴 뒤, 부원들에게 각각 $ A_1, A_2, \ldots, A_N $개의 선물을 나눠준다. 그리고, 각 부원이 받아야 하는 선물의 개수 $ B_1, B_2, \ldots, B_N $을 알려준다.

이후, $ N $명의 부원들은 아래의 연산만을 적절히 사용해서 본인이 받아야 하는 선물의 개수를 맞춰나가야 한다. 단, 시간이 너무 오래 걸리면 안 되기 때문에, 두 연산을 합해서 총 $ 2N $번 이하로 사용해야 한다.

  • $ + $ $ i $ $ x $: $ i $번 부원을 제외하고, 현재 선물을 가장 많이 가지고 있는 부원을 $ j $라고 하자. 이때, $ j $번 부원이 $ i $번 부원에게 선물 $ x $개를 준다.
  • $ - $ $ i $ $ x $: $ i $번 부원을 제외하고, 현재 선물을 가장 적게 가지고 있는 부원을 $ j $라고 하자. 이때, $ i $번 부원이 $ j $번 부원에게 선물 $ x $개를 준다.
  • 두 경우 모두, 조건을 만족하는 $ j $가 여럿 있다면 그중 번호가 가장 작은 부원이 선택된다.

성현이는 위와 같은 서프라이즈를 준비한 뒤, 검증을 위해 프로그램을 짜서 미리 가능한 결과 중 하나를 만들어보기로 했다.

입력

첫째 줄에는 알고리즘 동아리의 부원 수 $ N $과 총 선물의 수 $ M $이 주어진다. $( 1 \le N \le 200000; $ $ 1 \le M \le 10^9 )$

둘째 줄에는 각 부원들에게 나눠준 선물의 개수 $ A_1, A_2, \ldots, A_N $이 주어진다. $( 0 \le A_i; $ $ \sum A_i = M )$

셋째 줄에는 각 부원들이 받아야 하는 선물의 개수 $ B_1, B_2, \ldots, B_N $이 주어진다. $( 0 \le B_i; $ $ \sum B_i = M )$

조건을 만족하는 모든 입력에 대해 답이 존재함이 보장된다.

출력

첫째 줄에 사용한 연산의 수 $ K $를 출력한다. $( K \le 2N )$

그 뒤, $ K $개의 줄에 걸쳐 사용한 연산을 순서대로 출력한다.

모든 연산은 실행 가능해야 한다. 즉, 존재하지 않는 부원을 가리키는 연산이나, 주는 입장의 부원이 가지고 있는 선물보다 더 많은 선물을 요구할 수 없다. 또한, $ 1 \le x $를 만족해야 한다.

예제 입력 1

4 20
2 4 6 8
3 7 4 6

예제 출력 1

5
+ 1 1
+ 2 4
+ 3 1
- 3 3
- 1 3

쿼리가 적용되면서, 각 부원들이 받는 선물은 아래와 같이 변한다.

  • $ [\color{red}{2_{+1}}, 4, 6, \color{blue}{8}] \rightarrow [3, 4, 6, 7] $
  • $ [3, \color{red}{4_{+4}}, 6, \color{blue}{7}] \rightarrow [3, 8, 6, 3] $
  • $ [3, \color{blue}{8}, \color{red}{6_{+1}}, 3] \rightarrow [3, 7, 7, 3] $
  • $ [\color{red}{3}, 7, \color{blue}{7_{-3}}, 3] \rightarrow [6, 7, 4, 3] $
  • $ [\color{blue}{6_{-3}}, 7, 4, \color{red}{3}] \rightarrow [3, 7, 4, 6] $

예제 입력 2

4 14
2 0 4 8
2 0 4 8

예제 출력 2

0