We say that a odd number N is similar to 2017 when both N and (N+1)/2 are prime.

You are given Q queries.

In the i-th query, given two odd numbers l_i and r_i, find the number of odd numbers x similar to 2017 such that l_i ≤ x ≤ r_i.

Constraints

* 1≤Q≤10^5
* 1≤l_i≤r_i≤10^5
* l_i and r_i are odd.
* All input values are integers.

Input

Input is given from Standard Input in the following format:


Q
l_1 r_1
:
l_Q r_Q


Output

Print Q lines. The i-th line (1≤i≤Q) should contain the response to the i-th query.

Examples

Input

1
3 7


Output

2


Input

4
13 13
7 11
7 11
2017 2017


Output

1
0
0
1


Input

6
1 53
13 91
37 55
19 51
73 91
13 49


Output

4
4
1
1
1
2
import java.io.InputStream;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	InputStream in = System.in;
	PrintStream out = System.out;

	public void _main(String[] args) {
		Scanner sc = new Scanner(in);

		int[] a = new int[100100];
		Arrays.fill(a, 1);
		a[0] = 0;
		a[1] = 0;

		for (int i = 2; i * i < a.length; i++) {
			for (int j = i * 2; j < a.length; j += i) {
				a[j] = 0;
			}
		}

		for (int i = a.length - 1; i >= 0; i--) {
			if (!(i % 2 == 1 && a[i] == 1 && a[(i + 1) / 2] == 1)) {
				a[i] = 0;
			}
		}

		for (int i = 1; i < a.length; i++) {
			a[i] += a[i - 1];
		}

		int Q = sc.nextInt();

		for (int i = 0; i < Q; i++) {
			int l = sc.nextInt();
			int r = sc.nextInt();

			out.println(a[r] - a[l - 1]);

		}

		sc.close();

	}

	public static void main(String[] args) {
		new Main()._main(args);
	}
}
