시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)57818314430.638%

문제

프라이팬 위에는 $N$개의 호떡이 일렬로 놓여 있다. 각각의 호떡은 앞면이 흰색, 뒷면이 갈색이다. 처음에 모든 호떡은 앞면이 보이는 상태이다. 이때, 호떡 요리사인 현준이는 다음 절차에 따른 작업을 최대 $N$번 수행할 수 있다.

  1. $x$번째와 $(x+1)$번째 호떡에 보이는 색이 같도록 정수 $x$를 고른다. $(1 \le x \le N-1)$
  2. $x$번째 호떡에 보이는 색이 흰색이라면 $1$번째부터 $x$번째까지의 호떡을 모두 뒤집는다. 반대로 $x$번째 호떡에 보이는 색이 갈색이라면 $(x+1)$번째부터 $N$번째까지의 호떡을 모두 뒤집는다.

현준이는 작업을 수행해 자신이 원하는 색깔의 호떡 배열을 만들고 싶다. 현준이가 원하는 배열을 얻을 수 있는지 판단하고, 얻을 수 있다면 그 방법 중 하나를 아무거나 찾아서 현준이에게 알려주자.

입력

첫 번째 줄에 호떡의 개수 $N$이 주어진다. $(1 \le N \le 500\, 000)$

두 번째 줄에 현준이가 원하는 색깔의 배열을 나타내는 길이 $N$의 문자열 $S$가 주어진다. $S_i$가 W라면 $i$번째 호떡을 앞면이 보이게, B라면 $i$번째 호떡을 뒷면이 보이게 만들어야 한다.

출력

현준이가 원하는 색깔의 배열을 만들 수 있다면, 첫 번째 줄에 작업 횟수 $K$를 출력한다. $(0 \le K \le N)$

그다음 줄부터 $K$줄에 걸쳐 작업에 대한 정보를 출력한다. 그 중 $i$번째 줄에는 $i$번째 작업에서 선택한 $x$의 값을 출력한다. $(1 \le x \le N-1)$

가능한 작업 순서가 여러 개라면 그중 아무거나 출력한다. 또한, $K$의 값을 최소화하지 않아도 됨에 유의하라.

현준이가 원하는 색깔의 배열을 만들 수 없다면, 첫 번째 줄에 -1을 출력한다.

예제 입력 1

4
WBBW

예제 출력 1

2
1
3

다음과 같은 순서로 작업하면, 호떡을 WBBW로 배치할 수 있다.

  1. $x = 1$: WWWW $\rightarrow$ BWWW
  2. $x = 3$: BWWW $\rightarrow$ WBBW

예제 입력 2

1
B

예제 출력 2

-1

$N = 1$일 때 어떠한 작업도 수행할 수 없으므로 $1$번째 호떡을 갈색으로 뒤집는 것이 불가능하다.