CF BUDDY
← Problems·

932B · Recursive Queries

1300 · binary search, data structures, dfs and similar

Problem: Let us define two functions f and g on positive integer numbers.

f(n) = \text{product of non-zero digits of } n$$$${ g ( n ) = { \begin{cases} n & \quad { \mathrm { i f ~ } } n < 10 \\ g ( f ( n ) ) & \quad { \mathrm { o t h e r w i s e } } \end{cases} } }

You need to process Q queries. In each query, you will be given three integers l, r and k. You need to print the number of integers x between l and r inclusive, such that g(x) = k.

Input Format: The first line of the input contains an integer Q (1 ≤ Q ≤ 2 × 105) representing the number of queries.

Q lines follow, each of which contains 3 integers l, r and k (1 ≤ l ≤ r ≤ 106, 1 ≤ k ≤ 9).

Output Format: For each query, print a single line containing the answer for that query.

Note: In the first example:

  • g(33) = 9 as g(33) = g(3 × 3) = g(9) = 9
  • g(47) = g(48) = g(60) = g(61) = 6
  • There are no such integers between 47 and 55.
  • g(4) = g(14) = g(22) = g(27) = g(39) = g(40) = g(41) = g(58) = 4

Sample Cases

Case 1

Input

4
22 73 9
45 64 6
47 55 7
2 62 4

Output

1
4
0
8

Case 2

Input

4
82 94 6
56 67 4
28 59 9
39 74 4

Output

3
1
1
5

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback