사무실에서 생기는 사소한 다툼 중 하나가 변기 시트를 올려 둘지 내려 둘지의 문제다. 직원이 시트를 자기에게 맞게 고치는 시간이 한 주에 몇 시간씩 쌓이므로, 큰 회사에서는 이 문제가 업무 시간에도 영향을 준다. 화장실 규칙에 따라 시트 조정이 몇 번 일어나는지 계산하자.
보통은 남성이 시트를 올린 상태로, 여성이 내린 상태로 변기를 쓴다고 본다. 여기서는 성별과 상관없이 올린 상태를 선호하는 사람과 내린 상태를 선호하는 사람으로만 나눈다.
규칙은 여러 가지를 생각할 수 있다. 그중 세 가지를 보자.
그래서 사람은 변기를 쓰기 전에 시트를 자기 선호에 맞게 조정해야 할 수 있고, 규칙에 따라 나가기 전에 한 번 더 조정해야 할 수 있다. 조정 한 번은 시트를 올리거나 내리는 동작 한 번이다.
사람들의 선호가 순서대로 주어질 때, 세 규칙 각각에서 조정이 모두 몇 번 일어나는지 구하라.
첫째 줄에 문자 'U'와 'D'로만 이루어진 문자열이 주어진다. 길이는 2 이상 1000 이하이다.
문자열의 길이를 n이라 하자. 첫 번째 문자는 변기 시트의 처음 상태이고, 'U'는 올라간 상태, 'D'는 내려간 상태를 뜻한다. 이어지는 n−1개 문자는 화장실을 차례로 쓰는 n−1명이 각각 어느 상태를 선호하는지 나타낸다.
세 줄에 각각 한 수를 출력한다. 첫째 줄은 규칙 1, 둘째 줄은 규칙 2, 셋째 줄은 규칙 3에서 일어나는 조정 횟수의 총합이다.