Yet Another Meme Problem (Codeforces 1288B)
Tags: Math, math

You are given two integers $$$A$$$ and $$$B$$$, calculate the number of pairs $$$(a, b)$$$ such that $$$1 \le a \le A$$$, $$$1 \le b \le B$$$, and the equation $$$a \cdot b + a + b = conc(a, b)$$$ is true; $$$conc(a, b)$$$ is the concatenation of $$$a$$$ and $$$b$$$ (for example, $$$conc(12, 23) = 1223$$$, $$$conc(100, 11) = 10011$$$). $$$a$$$ and $$$b$$$ should not contain leading zeroes.

Input: The first line contains $$$t$$$ ($$$1 \le t \le 100$$$) — the number of test cases.Each test case contains two integers $$$A$$$ and $$$B$$$ $$$(1 \le A, B \le 10^9)$$$.

Output: Print one integer — the number of pairs $$$(a, b)$$$ such that $$$1 \le a \le A$$$, $$$1 \le b \le B$$$, and the equation $$$a \cdot b + a + b = conc(a, b)$$$ is true.

Note: There is only one suitable pair in the first test case: $$$a = 1$$$, $$$b = 9$$$ ($$$1 + 9 + 1 \cdot 9 = 19$$$).

Sample Inputs:
3
1 11
4 2
191 31415926

Sample Outputs:
1
0
1337

Solution (Python):
""""""
n = int(input())
for i in range(n):
    (x, y) = map(int, input().split())
    h = 0
    h += len(str(y)) - 1
    if str(y) == len(str(y)) * '9':
        h += 1
    print(h * x)

Solution (Python):
for _ in range(int(input())):
    (A, B) = list(map(int, input().split()))
    count = 0
    nine = 9
    while nine <= B:
        count += 1
        nine = nine * 10 + 9
    print(count * A)

Solution (Python):
for t in range(int(input())):
    (a, b) = map(int, input().split())
    print(a * (len(str(b + 1)) - 1))