CF1102A.Integer Sequence Dividing

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Integer Sequence Dividing

You are given an integer sequence 1,2,,n1, 2, \dots, n. You have to divide it into two sets AA and BB in such a way that each element belongs to exactly one set and sum(A)sum(B)|sum(A) - sum(B)| is minimum possible.

The value x|x| is the absolute value of xx and sum(S)sum(S) is the sum of elements of the set SS.

Input

The first line of the input contains one integer nn (1n21091 \le n \le 2 \cdot 10^9).

Output

Print one integer — the minimum possible value of sum(A)sum(B)|sum(A) - sum(B)| if you divide the initial sequence 1,2,,n1, 2, \dots, n into two sets AA and BB.

Note

Some (not all) possible answers to examples:

In the first example you can divide the initial sequence into sets A={1,2}A = \{1, 2\} and B={3}B = \{3\} so the answer is 00.

In the second example you can divide the initial sequence into sets A={1,3,4}A = \{1, 3, 4\} and B={2,5}B = \{2, 5\} so the answer is 11.

In the third example you can divide the initial sequence into sets A={1,4,5}A = \{1, 4, 5\} and B={2,3,6}B = \{2, 3, 6\} so the answer is 11.

Samples

3
0
5
1
6
1

在线编程 IDE

建议全屏模式获得最佳体验