생일 파티

합이 n인 f개의 양의 정수 순서쌍 가운데 최대공약수가 1인 것의 개수를 1e9+7로 나눈 나머지로 구한다. 질의는 최대 100000개다.

보통7동적 계획법정수론조합론수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

오늘은 상근이의 생일이다. 상근이는 생일 파티에 친구 ff명을 초대했고, 나눠 줄 사탕 nn개가 있다. 친구에게는 11번부터 ff번까지 번호가 매겨져 있다.

상근이는 다음 두 규칙을 지키면서 사탕을 나눠 준다.

  • 모든 친구는 사탕을 적어도 한 개 받는다.
  • ii번 친구가 받은 사탕의 개수를 aia_i라고 할 때, 모든 aia_i를 나누는 11보다 큰 양의 정수 xx가 있으면 안 된다.

nnff가 주어지면 사탕을 나눠 주는 방법의 수를 구하는 프로그램을 작성하시오.

어느 친구가 몇 개를 받았는지가 다르면 서로 다른 방법으로 센다. 예를 들어 1번 친구에게 1개, 2번 친구에게 2개를 준 경우와 1번 친구에게 2개, 2번 친구에게 1개를 준 경우는 다른 방법이다.

입력

첫째 줄에 테스트 케이스의 개수 TT (1T1000001 \le T \le 100000)가 주어진다.

둘째 줄부터 TT개의 줄에 각 테스트 케이스의 nnff가 공백을 사이에 두고 주어진다. (1fn100001 \le f \le n \le 10000)

출력

각 테스트 케이스마다 사탕을 나눠 주는 방법의 수를 10000000071000000007로 나눈 나머지를 한 줄에 하나씩 출력한다.

힌트

n=6n = 6, f=2f = 2인 경우 가능한 방법은 [1,5][1, 5][5,1][5, 1]이다.

n=7n = 7, f=2f = 2인 경우에는 [1,6][1, 6], [2,5][2, 5], [3,4][3, 4], [4,3][4, 3], [5,2][5, 2], [6,1][6, 1]이 가능하다.