석탄 광산이 두 곳 있고, 각 광산에는 광부 무리가 일하고 있다. 석탄을 캐는 일은 고되기 때문에 광부들은 계속 일하려면 음식이 필요하다. 어떤 광산에 음식이 한 번 배달될 때마다 그 광산의 광부들은 석탄을 얼마간 생산한다. 배달되는 음식은 고기, 생선, 빵 세 종류이다.
광부들은 식단이 다양할수록 더 열심히 일한다. 어떤 광산에 새 음식이 배달되면, 광부들은 그 배달분과 같은 광산에 바로 직전에 배달된 두 번의 음식(그 광산에 배달된 횟수가 두 번보다 적으면 있는 만큼만)을 함께 살펴본 뒤 다음과 같이 생산한다.
모든 배달의 종류와 보내지는 순서는 미리 정해져 있다. 각 배달을 어느 광산으로 보낼지 정함으로써 전체 석탄 생산량을 조절할 수 있다. 배달은 나눌 수 없으며, 각 배달은 반드시 두 광산 중 한 곳으로 통째로 보내야 한다.
두 광산이 받는 배달 횟수가 같을 필요는 없으며, 모든 배달을 한 광산으로만 보내도 된다.
음식 배달의 종류가 순서대로 주어질 때, 두 광산이 함께 생산할 수 있는 석탄의 최대 총량을 구하여라.
첫째 줄에 음식 배달의 개수를 나타내는 정수 $N$ ($1 \le N \le 100000$)이 주어진다.
둘째 줄에 배달이 보내지는 순서대로 종류를 나타내는 $N$개의 문자로 이루어진 문자열이 주어진다. 각 문자는 대문자 M(고기), F(생선), B(빵) 중 하나이다.
생산할 수 있는 석탄의 최대 총량을 정수 하나로 출력한다.
배달 문자열이 MBMFFB일 때, 각 배달을 순서대로 1번, 1번, 2번, 2번, 1번, 2번 광산으로 보내면 1, 2, 1, 2, 3, 3단위의 석탄이 생산되어 합계 12가 된다. 이 최댓값을 얻는 다른 방법도 있다.