1264 - #6274. 数字

通过次数

0

提交次数

0

Time Limit : 1 秒
Memory Limit : 512 MB

NiroBC 姐姐脑洞了两个数字 xy ,它们满足 x \lor y = T ,且 L_x \le x \le R_x, L_y \le y \le R_y​​ , NiroBC 姐姐想知道 x \land y 有多少种不同的取值,若有多组 (x, y)x \land y 值相同,则只算一次。

(其中 \lor 表示按位取或,C/C++中写作|Pascal中写作or

(其中 \land 表示按位取与,C/C++中写作&Pascal中写作and

Input

一行,五个非负整数 T, L_x, R_x, L_y, R_y​​ 。

Output

一行,一个整数,答案。

Examples

Input

11 3 10 8 13

Output

7

Hint

样例解释

符合条件的 (x, y) 有:(二进制表示)

1599235091752.png

x \land y 不重复的有 7 种。

数据范围

对于所有数据,0 \le T, L_x, R_x, L_y, R_y < 2^{60}​​ , L_x \le R_xL_y \le R_y​​ 。

本题采用打包测试。

各个 Subtask 的特殊限制如下,不填代表该项无特殊限制。

15992351624970.png

Source

LOJ