병약한 윤호

B, L, D로 이루어진 약 배열에서 B, L, D 순서를 반복하며 양 끝 중 필요한 약이 있는 쪽에서만 꺼낼 수 있을 때, 최대로 꺼낼 수 있는 약의 개수를 구한다.

보통6동적 계획법배열투 포인터그리디면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

윤호는 병약해서 아침, 점심, 저녁 하루 세 번 약을 먹어야 한다. 윤호가 받아 온 약은 NN일치라서 모두 3N3N포다.

약봉지 한 줄

윤호는 완벽주의자라서 한 줄로 늘어선 3N3N포를 중간에서 끊어 꺼내지 않는다. 한 번에 줄의 맨 앞이나 맨 뒤에서 한 포만 꺼내 먹는다. 꺼낸 포는 지금 먹을 차례인 약과 종류가 같아야 한다. 먹는 순서는 첫날 아침에서 시작해 아침, 점심, 저녁, 이튿날 아침, 점심, 저녁으로 이어진다. 양쪽 끝 어디에도 지금 먹을 차례인 약이 없으면 윤호는 거기서 멈춘다.

윤호가 먹을 수 있는 약의 최대 개수를 구하라.

입력

입력은 표준 입력으로 받는다.

첫째 줄에 약을 먹는 날수 NN이 주어진다. (1N5001 \le N \le 500)

둘째 줄에 3N3N포의 종류가 줄에 놓인 순서대로 공백 없이 주어진다. 아침 약은 B, 점심 약은 L, 저녁 약은 D로 적으며, 세 문자는 각각 정확히 NN번 나온다.

출력

출력은 표준 출력으로 한다.

윤호가 먹을 수 있는 약의 최대 개수를 한 줄에 출력한다.