Informatica Online Judge

  삼각화단만들기 (Advance) [0204 / 00CC]

Time Limit(Test case) : 300 (ms)
Number of users who solved : 721   Total Tried : 4152


The Champion of this Problem (C++) : gst19036 - ms / 170byte
My Best Submission (C++) : N/A

[]

Background

주어진 화단 둘레의 길이를 이용하여 삼각형 모양의 화단을 만들려고 한다. 이 때 만들어진 삼각형 화단 둘레의 길이는 반드시 주어진 화단 둘레의 길이와 같아야 한다. 또한, 화단 둘레의 길이와 각 변의 길이는 자연수이다. 예를 들어, 만들고자 하는 화단 둘레의 길이가 9m라고 하면

한 변의 길이가 $1m$, 두 변의 길이가 $4m$인 화단,
한 변의 길이가 $2m$, 다른 변의 길이가 $3m$, 나머지 변의 길이가 $4m$인 화단,
세 변의 길이가 모두 $3m$인 $3$가지 경우의 화단을 만들 수 있다.



화단 둘레의 길이를 입력받아서 만들 수 있는 서로 다른 화단의 수를 구하는 프로그램을 작성하시오.

Input

화단의 길이 n이 주어진다.
n의 값이 크기 때문에 탐색의 범위를 줄일 수 있는 아이디어를 생각해야 한다.

[입력값의 정의역]

$1 \leq n \leq 50,000$

Output

출력내용은 입력받은 $n$으로 만들 수 있는 서로 다른 화단의 수를 출력한다.

IO Example

입력
9

출력
3

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]