/ WHOJ / 题库 /

子集和

子集和

题目描述

对于从\(1\)到\(N\)的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的。举个例子,如果\(N=3\),对于\({1,2,3}\)能划分成两个子集合,他们每个的所有数字和是相等的:\({3}\)和 \({1,2}\)。
这是唯一一种分法(交换集合位置被认为是同一种划分方案,因此不会增加划分方案总数)如果\(N=7\),有四种方法能划分集合\({1,2,3,4,5,6,7}\),每一种分法的子集合各数字和是相等的:
\({1,6,7}\) 和\({2,3,4,5}\) 注:\(1+6+7=2+3+4+5\)
\({2,5,7}\) 和\({1,3,4,6}\)
\({3,4,7}\)和\({1,2,5,6}\)
\({1,2,4,7}\)和\({3,5,6}\)
给出\(N\),你的程序应该输出划分方案总数,如果不存在这样的划分方案,则输出\(0\)。程序不能预存结果直接输出(不能打表)。

格式

输入格式

输入只有一行,且只有一个整数\(N\) 。

输出格式

输出划分方案总数,如果不存在则输出\(0\)。

样例1

样例输入1

7

样例输出1

4

限制

\(100\%\)的数据:\(1≤N≤39\)。