만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

대충 블록에서 영혼 탈출시키는 게임

시간 제한1초메모리 제한1024 MB

요약
N개의 블록이 한 줄로 이어져 있을 때, 길이 3 이상인 사슬에서 블록을 제거하는 과정을 반복합니다. 제거할 수 있는 블록의 최대 개수를 구하는 문제입니다.
난이도

보통10점 중 5점

유형
수학, 그리디, 재귀
정답자
아직 제출이 없습니다

문제

어느 날 대구과학고등학교에 악마가 나타나 NN개의 블록마다 학생의 영혼을 하나씩 가두었다. 블록은 일렬로 놓여 있고, 인접한 블록끼리는 사슬로 이어져 있다. 한 블록에서 출발해 사슬을 따라 이동하며 닿을 수 있는 블록들의 집합을 체인이라 하고, 체인을 이루는 블록의 개수를 체인의 길이라 한다. 처음에는 NN개의 블록 전체가 하나의 체인을 이루며, 그 길이는 NN이다.

양적 공리주의를 옹호하는 이안이는 길이가 33 이상인 체인이 없을 때까지 아래 과정을 반복해 최대한 많은 영혼을 탈출시키려 한다. 블록을 들어내면 그 블록에 직접 이어져 있던 사슬은 모두 제거된다.

  • 길이가 33 이상인 체인 CC를 고른다.
  • CC의 길이가 44 이하이면 블록 하나를 들어내고, 그렇지 않으면 인접하지 않은 블록 두 개를 들어낸다. 이때 다음 조건을 만족해야 한다.
    • 들어내는 블록에는 사슬 두 개가 인접해 있어야 한다. 즉, 체인의 양 끝점에 있는 블록은 들어낼 수 없다.
    • 블록을 들어내면 CC는 더 이상 체인이 아니게 되고, 22개 또는 33개의 새 체인이 생긴다. 새 체인 중 길이의 최솟값은 가능한 한 커야 한다.

이안이가 들어낼 수 있는 블록 개수의 최댓값을 구하라.

입력

첫 번째 줄에 블록의 개수 NN이 주어진다.

출력

이안이가 들어낼 수 있는 블록 개수의 최댓값을 정수 하나로 출력한다.

제한

1≤N≤10181 \le N \le 10^{18}을 만족하는 정수이다.

예제1

  1. 예제 1

    입력
    10
    
    예상 출력
    4