행운의 수

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

요약
숫자 4와 7로만 이루어진 럭키 수들의 곱으로 표현되는 수를 10^12 이하 범위 [A,B]에서 여러 질의로 세는 문제입니다.
난이도

보통10점 중 6점

유형
수학, 정수론, 조합론
정답자
아직 제출이 없습니다

문제

John은 최근 지역 대회를 위해 동유럽의 부쿠레슈티에 도착했다. John은 자신의 행운의 수 이론으로 유명하며, 대회 참가자와 관객이 그를 무척 반가워하는 이유도 그 때문이다.

John의 이론에 따르면 숫자(0~9) 중 4와 7은 행운의 숫자이고, 나머지 숫자는 행운의 숫자가 아니다. 행운의 수란 10진법으로 나타냈을 때 각 자리가 모두 행운의 숫자(4 또는 7)로만 이루어진 수를 말한다. 엄청난 행운의 수란 몇 개의 행운의 수를 곱해서 만들 수 있는 수를 말한다. 행운의 수 그 자체도 (행운의 수 하나의 곱이므로) 엄청난 행운의 수로 본다. 예를 들어 47 (4747), 49 (7×77 \times 7), 112 (4×7×74 \times 7 \times 7)은 모두 엄청난 행운의 수이다.

당신이 할 일은 AA 이상 BB 이하인 엄청난 행운의 수의 개수를 세는 것이다. AA와 BB는 John이 준다.

여기서 '숫자'는 한 자리 수(0~9, digit)를, '수'는 자연수(number)를 뜻한다.

입력

첫째 줄에 테스트 케이스의 수를 나타내는 정수 TT가 주어진다.

다음 TT개의 줄에는 각 줄마다 공백으로 구분된 두 정수 AA와 BB가 주어진다.

  • 1≤T≤77771 \le T \le 7777
  • 1≤A≤B≤10121 \le A \le B \le 10^{12}

출력

각 테스트 케이스마다 AA 이상 BB 이하인 엄청난 행운의 수의 개수를 한 줄에 하나씩, 모두 TT개의 줄로 출력한다.

힌트

A=1A = 1, B=100B = 100인 경우, 엄청난 행운의 수는 4, 7, 16 (4×44 \times 4), 28 (4×74 \times 7), 44, 47, 49 (7×77 \times 7), 64 (4×4×44 \times 4 \times 4), 74, 77이다.

예제3

  1. 예제 1

    입력
    4
    1 2
    88 99
    112 112
    1 100
    
    예상 출력
    0
    0
    1
    10
    
  2. 예제 2

    입력
    5
    4 4
    7 7
    16 16
    47 47
    77 77
    
    예상 출력
    1
    1
    1
    1
    1
    
  3. 예제 3

    입력
    3
    4 7
    4 49
    50 100
    
    예상 출력
    2
    7
    3