만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

호기심

시간 제한1초메모리 제한128 MB

요약
각 질의 [a, b]에 대해 구간 안의 소수를 순서대로 나열하고, 홀수 번째 소수에 3을 곱한 교대합을 계산한다.
난이도

보통10점 중 5점

유형
정수론, 누적 합, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

남규는 호기심이 많다. 남규는 두 정수 aa와 bb를 받아 그 사이에 있는 소수로 값을 계산하는 함수 FF를 만들었다.

닫힌 구간 [a,b][a, b]에 들어가는 소수를 작은 것부터 차례대로 A1<A2<⋯<AnA_1 < A_2 < \dots < A_n이라고 하자. F(a,b)F(a, b)는 홀수 번째 소수에 3을 곱해서 더하고, 짝수 번째 소수는 그대로 빼서 얻는 값이다.

F(a,b)=3A1−A2+3A3−A4+3A5−A6+…F(a, b) = 3A_1 - A_2 + 3A_3 - A_4 + 3A_5 - A_6 + \dots

마지막 항의 부호는 소수의 개수 nn이 정한다. nn이 홀수이면 +3An+3A_n으로 끝나고, nn이 짝수이면 −An-A_n으로 끝난다.

예를 들어 F(3,7)F(3, 7)을 보자. 3 이상 7 이하의 소수는 3, 5, 7 세 개이므로 값은 3×3−5+3×7=253 \times 3 - 5 + 3 \times 7 = 25이다.

구간에 소수가 하나도 없으면 F(a,b)F(a, b)는 0이다.

입력

첫 줄에 질문의 개수 qq가 주어진다. (1≤q≤1051 \le q \le 10^5)

다음 qq개의 줄에 질문이 한 줄에 하나씩 주어진다. 각 줄에는 두 정수 aa와 bb가 공백으로 구분되어 있다. (1≤a≤b≤1051 \le a \le b \le 10^5)

출력

각 질문에 대해 F(a,b)F(a, b)의 값을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    2
    3 7
    5 7
    
    예상 출력
    25
    8