시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
길이 N cm, 너비 1 cm인 긴 종이띠가 있다. 종이띠는 1 cm 간격으로 나뉜 N개의 정사각형으로 이루어져 있으며, 각 정사각형의 양면은 빨강 또는 파랑으로 칠해져 있다. 한 정사각형의 두 면은 항상 서로 다른 색이다.
종이띠를 여러 번 접어 최종 길이를 가능한 한 짧게 만들려고 한다. 한 번 접을 때는 현재 종이띠의 왼쪽 끝에서 K cm 떨어진 위치를 고른다. 여기서 K는 현재 길이보다 작은 양의 정수이다. 그런 다음 접는 선의 왼쪽 부분을 들어 오른쪽 부분 위로 단단히 접는다. 접히는 동안 서로 맞닿는 두 면의 색이 같아서는 안 된다.
아래 그림은 어떤 접기 순서를 나타낸 것이다.

최종 종이띠의 길이가 최소가 되도록 하는 접기 순서 하나를 구하여라.
첫째 줄에 종이띠의 길이 N이 주어진다. (2 <= N <= 10000)
둘째 줄에는 길이 N의 문자열이 주어진다. 각 문자는 c 또는 p이며, i번째 문자는 왼쪽에서 i번째 정사각형의 윗면 색을 나타낸다. c는 빨강, p는 파랑을 뜻한다.
첫째 줄에 모든 접기가 끝난 뒤 종이띠의 최소 길이를 출력한다.
둘째 줄에 접은 횟수 M을 출력한다.
M > 0이면 셋째 줄에 M개의 정수를 공백으로 구분해 출력한다. i번째 정수는 i번째 접기에서 고른 값 K이다.
조건을 만족하는 최적 접기 순서가 여러 개라면 그중 아무거나 출력해도 된다.