Alice 和 Bob 正在玩一个游戏,游戏初始给定一个正整数 m。
两人轮流操作,Alice 先手(第一轮作为操作方进行游戏),每一轮游戏规则如下:
- 操作方指定 m 的一个大于 1 的约数 x ;
- 非操作方需要选择 m 的一个大于 1 的约数 y,且 y∣xy ;
- m←ym (表示将 m 赋值为 ym)。
若一轮游戏完毕后 m=1,则该轮的操作方获胜。
特别的,若初始 m=1, 则先手判负。
双方都会按照最优策略进行博弈。设函数 Game(n)=1 当且仅当游戏的初值为 n 时 Alice 必胜,否则 Game(n)=0 。
q 次询问,每次询问给定 l,r ,求 i=l∑rGame(i) 的值。
输入格式
第一行,输入一个整数 q(1≤q≤100) ;
接下来 q 行,每行输入两个整数,表示 l,r(1≤l≤r≤109) 。
输出格式
对每次询问,输出一行一个整数,表示答案。
输入输出样例 #1
输入 #1
3
4 5
2 9
16 18
输出 #1
1
4
2
说明/提示
考虑第 1 次询问。如果初始的数值为 4,那么 Alice 作为操作方要么选择 2,要么选择 4。不管选择哪个,Bob 都可以选择 2,因为 2∣22,2∣42 。然后数值变为 2,Bob 只能选择 2,Alice 也只能选择 2 。于是数值变为 1,Bob 获胜。
如果初始的数值为 5,那么 Alice 作为操作方只能选择 5,Bob 也只能选择 5,数值变为 1,Alice 赢下游戏。所以输出 1 。