output_description: Print Q lines. The i-th line (1≤i≤Q) should contain the response to the i-th
  query.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      Q
      l_1 r_1
      :
      l_Q r_Q
attempt: Q = int(input())
  judge_arr = []
  data = []
  max_number = 0
  for i in range(Q):
  	x = input().split()
  	data.append([int(x[0]),int(x[1])])
  	if max_number<data[i][1]:
  		max_number = data[i][1]
  
  
  prime_arr = [2]
  
  for i in range(3,max_number,2):
  	c = 0
  	for j in prime_arr:
  		if j>i**0.5 or i%j!=0:
  			break
  		elif i%j==0:
  			c = 1
  	if c==0:
  		if (i+1)/2 in prime_arr
  			prime_arr.append(i)
  			judge_arr.append(1)
  		else:
  			prime_arr.append(i)
  			judge_arr.append(0)
  
  #for n in range(len(prime_arr)):
  	#if (prime_arr[n]+1)/2 in prime_arr:
  		#judge_arr[n] = 1
  
  def sumz(a,b):
  	x = 0
  	y = 0
  	for n in range(len(prime_arr)):
  		if prime_arr[n]<a:
  			x = n
  		if prime_arr[n]>b:
  			y = n
  			break
  	return sum(judge_arr[x+1:y])
  
  
problem_description: Statement
  
  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.
samples: [{"input": "1\n    3 7", "output": "2\n    \n\n  * 3 is similar to 2017, since both 3 and (3+1)/2=2 are prime.\n  * 5 is similar to 2017, since both 5 and (5+1)/2=3 are prime.\n  * 7 is not similar to 2017, since (7+1)/2=4 is not prime, although 7 is prime.\n\nThus, the response to the first query should be 2.\n\n* * *"}, {"input": "4\n    13 13\n    7 11\n    7 11\n    2017 2017", "output": "1\n    0\n    0\n    1\n    \n\nNote that 2017 is also similar to 2017.\n\n* * *"}, {"input": "6\n    1 53\n    13 91\n    37 55\n    19 51\n    73 91\n    13 49", "output": "4\n    4\n    1\n    1\n    1\n    2"}]