loj#P6274. 数字

数字

题目描述

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

数据范围与提示

对于所有数据, 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