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 = [0] * q, [0] * q
  for i in range(q):
      l[i], r[i] = map(int, input().split())
  
  mini = min(min(l), min(r))
  maxi = max(max(l), max(r))
  ans = [0] * (maxi + 1)
  prime = [0] * (maxi + 1)
  def judge_prime(n):
      for i in range(2, int(n ** 0.5) + 1):
          if n % i == 0:
              return False
      
      return True if n != 1 else False
  
  for i in range((mini + 1) // 2, maxi + 1):
      prime[i] = judge_prime(i)
  
  for i in range(mini, maxi + 1, 2):
      ans[i] = ans[i - 2] + 1 if prime[i] and prime[(i + 1) // 2] else ans[i - 2
  for i in range(q):
      print(ans[r[i]] - ans[max(0, l[i] - 2)])
  
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"}]