2024는 무엇이 특별할까?

시간 제한2초메모리 제한1024 MB

요약
N 이하의 양의 정수 중 짝수 약수의 개수가 홀수 약수의 개수의 K배인 수의 개수를 구한다.
난이도

보통10점 중 7점

유형
정수론, 수학, 이분 탐색
정답자
아직 제출이 없습니다

문제

백준 온라인 저지의 신년대회 Hello, BOJ 2024!의 개최일은 2024년 1월 14일이다. 정휘는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2024가 무언가 특별하다는 사실을 깨달았다.

그렇다. τ_o(n)\tau\_o(n)을 n의 약수이면서 홀수인 양의 정수의 개수, τ_e(n)\tau\_e(n)을 nn의 약수이면서 짝수인 양의 정수의 개수라고 할 때, τ_e(2024)=3τ_o(2024)\tau\_e(2024) =3\tau\_o(2024)을 만족한다. 다음에 이런 연도가 오려면 16년 뒤인 2040년이 되어야 한다.

τ_e(x)=K×τ_o(x)\tau\_e(x) =K\times\tau\_o(x)를 만족하는 양의 정수 xx를 KK-특별한 수라고 정의하자. 양의 정수 NN과 음이 아닌 정수 KK가 주어진다. NN 이하의 양의 정수 중 KK-특별한 수의 개수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다.

이후 TT개의 줄에 걸쳐 테스트 케이스가 한 줄에 하나씩 주어진다. 각 테스트 케이스는 한 줄로 구성되어 있으며, 각각 양의 정수 NN과 음이 아닌 정수 KK가 공백으로 구분되어 주어진다.

출력

각 테스트 케이스마다, 한 줄에 하나씩 NN 이하의 양의 정수 중 KK-특별한 수의 개수를 출력한다.

제한

  • 1≤T≤100,0001\le T\le 100\\, 000
  • 1≤N≤10181\le N\le 10^{18}
  • 0≤K≤10180\leq K\leq 10^{18}

예제1

  1. 예제 1

    입력
    5
    1 0
    9 2
    17 2
    20 3
    100 1000000000000000000
    
    예상 출력
    1
    1
    2
    1
    0