시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 512 MB 431 349 327 82.161%

문제

숭고한 알고리즘 캠프 퀴즈 타임이 시작되었다! PS 기초, 동적 계획법, 파라메트릭 서치, 욱제의 생일, 탐색, 그리디, 최단경로 알고리즘, 구데기컵, 서로소 집합, 최소 신장 트리, 최소 공통 조상, 세그먼트 트리, 코드포스에서 C++로 높은 수준의 난수를 생성하는 방법, 최대 유량, 볼록 껍질, 스타트링크 사무실에 있는 게임용 컴퓨터의 RAM의 총 용량 등등 수많은 주제를 총망라하고 있는 이 미니 대회는 수많은 참가자들의 도전으로 오늘도 빛나고 있고, 제출된 OX표의 개수는 셀 수 없을 정도이다.

운영진들은 이 OX표들을 채점하고, 점수를 계산해낸 다음, 시상식을 진행하며 화기애애하게 행사를 마무리해야 한다. 숭고한 알고리즘 캠프 퀴즈 타임에서 OX표의 점수는 다음과 같이 계산된다.

  • OX표에 N개의 문제들이 있을 때, 1번 문제, 2번 문제, ..., N번 문제 순으로 채점된다.
  • 문제는 뒤로 갈수록 어려워지기 때문에, i 번 문제의 기본 점수는 i 점이다.
    • 문제를 맞히면 그 문제의 기본 점수(즉 i 번 문제의 경우 i 점)를 획득하며, 틀리면 얻지 못한다.
  • 기본 점수와 별개로, '보너스 점수'라는 값이 존재한다. 이는 처음에는 0점이다.
    • 문제를 맞히면 그 때의 '보너스 점수'를 획득하고, '보너스 점수'의 값이 1점 증가한다.
    • 문제를 틀리면 '보너스 점수'를 얻지 못하고, '보너스 점수'의 값이 0점으로 초기화된다.

민성이는 얼떨결에 숭고한 알고리즘 캠프 퀴즈 타임의 OX표를 채점해야 하는 업무를 맡게 되었다. 수많은 OX표를 볼 생각에 머리가 지끈거리는 민성이는 프로그램을 세워 이를 자동화하려고 한다. 시상식까지 4시간밖에 남지 않은 민성이를 도와 점수를 계산해주자.

입력

첫 번째 줄에 OX표의 길이인 자연수 N이 주어진다. (1 ≤ N ≤ 10,000)

두 번째 줄에 OX표를 의미하는 문자열 S가 주어진다. SO(알파벳 대문자 O, ASCII 코드 79)와 X(알파벳 대문자 X, ASCII 코드 88)로만 구성되어 있으며, 길이는 N이다.

문자열 Si 번째 글자가 O이면 해당 참가자가 i 번째 문제를 맞혔음을 의미하고, X이면 틀렸음을 의미한다.

출력

첫 번째 줄에 입력으로 들어온 OX표의 점수를 출력한다.

예제 입력 1

8
XOOOXOOX

예제 출력 1

26

민성이는 다음과 같이 총 26점을 받게 된다.

  • 1번 문제를 틀렸으므로 점수를 얻지 못하고 보너스 점수가 0점으로 초기화된다. (총 점수 0점)
  • 2번 문제를 맞혔으므로 기본 점수 2점과 보너스 점수 0점을 획득하며, 보너스 점수가 1점으로 증가한다. (총 점수 2점)
  • 3번 문제를 맞혔으므로 기본 점수 3점과 보너스 점수 1점을 획득하며, 보너스 점수가 2점으로 증가한다. (총 점수 6점)
  • 4번 문제를 맞혔으므로 기본 점수 4점과 보너스 점수 2점을 획득하며, 보너스 점수가 3점으로 증가한다. (총 점수 12점)
  • 5번 문제를 틀렸으므로 점수를 얻지 못하고 보너스 점수가 0점으로 초기화된다. (총 점수 12점)
  • 6번 문제를 맞혔으므로 기본 점수 6점과 보너스 점수 0점을 획득하며, 보너스 점수가 1점으로 증가한다. (총 점수 18점)
  • 7번 문제를 맞혔으므로 기본 점수 7점과 보너스 점수 1점을 획득하며, 보너스 점수가 2점으로 증가한다. (총 점수 26점)
  • 8번 문제를 틀렸으므로 점수를 얻지 못하고 보너스 점수가 0점으로 초기화된다. (총 점수 26점)