#P100. Where is Alice?

Where is Alice?

Alice\texttt{Alice}Bob\texttt{Bob} 正在玩一个游戏,游戏初始给定一个正整数 mm

两人轮流操作,Alice\texttt{Alice} 先手(第一轮作为操作方进行游戏),每一轮游戏规则如下:

  • 操作方指定 mm 的一个大于 11 的约数 xx
  • 非操作方需要选择 mm 的一个大于 11 的约数 yy,且 yxyy \mid x^y
  • mmym \leftarrow \frac{m}{y} (表示将 mm 赋值为 my\frac{m}{y})。

若一轮游戏完毕后 m=1m=1,则该轮的操作方获胜。

特别的,若初始 m=1m=1, 则先手判负。

双方都会按照最优策略进行博弈。设函数 Game(n)=1\mathrm{Game}(n)=1 当且仅当游戏的初值为 nnAlice\texttt{Alice} 必胜,否则 Game(n)=0\mathrm{Game}(n) = 0

qq 次询问,每次询问给定 l,rl, r ,求 i=lrGame(i)\sum\limits_{i=l}^{r}\mathrm{Game}(i) 的值。

输入格式

第一行,输入一个整数 q(1q100)q\,(1\le q\le 100)

接下来 qq 行,每行输入两个整数,表示 l,r(1lr109)l, r\,(1\le l \le r \le 10^9)

输出格式

对每次询问,输出一行一个整数,表示答案。

输入输出样例 #1

输入 #1

3
4 5
2 9
16 18

输出 #1

1
4
2

说明/提示

考虑第 11 次询问。如果初始的数值为 44,那么 Alice\texttt{Alice} 作为操作方要么选择 22,要么选择 44。不管选择哪个,Bob\texttt{Bob} 都可以选择 22,因为 222,2422\mid 2^2, 2\mid 4^2 。然后数值变为 22Bob\texttt{Bob} 只能选择 22Alice\texttt{Alice} 也只能选择 22 。于是数值变为 11Bob\texttt{Bob} 获胜。

如果初始的数值为 55,那么 Alice\texttt{Alice} 作为操作方只能选择 55Bob\texttt{Bob} 也只能选择 55,数值变为 11Alice\texttt{Alice} 赢下游戏。所以输出 11