#P51735. 「LOJ」 数字

「LOJ」 数字

题目描述

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

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

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

输入格式

一行,五个非负整数 T,Lx,Rx,Ly,RyT, L_x, R_x, L_y, R_y

输出格式

一行,一个整数,答案。

样例

11 3 10 8 13
7

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

xx yy xyx\land y
0011 1000 0000
1001 0001
1010 0010
1011 0011
1000 1000
1001 1010
1011 1001
1010 1001 1000
1011 1010

xyx \land y 不重复的有 77 种。

数据范围与提示

对于所有数据, 0T,Lx,Rx,Ly,Ry<2600 \le T, L_x, R_x, L_y, R_y < 2^{60}LxRxL_x \le R_xLyRyL_y \le R_y

本题采用打包测试。

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

Subtask 编号 TT LxL_x LyL_y RxR_x RyR_y 其他限制 该 Subtask 分值
0 <210 < 2^{10} <210 < 2^{10} <210 < 2^{10} 13
1 =0=0 15
2 TT 的二进制表示下 11 的个数不超过 1515 25
3 47