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())
  l = []
  r = []
  for i in range(q):
    x,y = map(int,input().split())
    l += [x]
    r += [y]
  
  
  def is_2017(x):
    if x % 2 == 0:
      return False
    return is_p[x] && is_p[(x+1)//2]
  
  def is_prime(x):
    if x == 1:
      return False
    i = 2
    while i * i <= x:
      if x % i == 0:
        return False
    return True
    
  is_p = [False] * 100000
  n_2017 = [0] * 100000
  
  for i in range(1, 100000):
    is_p[i] = is_prime(i)
  
  for i in range(1, 100000):
    if is_p[i]:
      n_2017[i] = n_2017[i-1] + 1
  
  for i in range(q):
    print(n_2017[r]-n_2017[l-1])
  
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"}]