import sys from typing import List, Tuple def int1(x: str, /): return int(x) - 1 def input(): return sys.stdin.readline().rstrip('\n') def dbg(*args, **kwargs): print(*(repr(arg) for arg in args), *(f'{k}: {repr(v)}' for k, v in kwargs.items()), sep='; ', file=sys.stderr) def main(): m, d = map(lambda x: str(int(x) + 1), input().split()) MOD = 10 ** 9 + 9 def add(x, y): z = [0] * max(len(x), len(y)) for i in range(len(x)): z[i] += x[i] for i in range(len(y)): z[i] = (z[i] + y[i]) % MOD return z def mul(x, y): z = [0] * (len(x) + len(y) - 1) for i in range(len(x)): for j in range(len(y)): z[i + j] = (z[i + j] + x[i] * y[j]) % MOD return z def calc(s): ans = [] muler = [1] for i in range(len(s) - 1, -1, -1): base = sum(map(int, s[:i])) ans = add(ans, mul([0] * base + muler, [1] * int(s[i]))) muler = mul(muler, [1] * 10) return ans a = calc(m) b = calc(d) ans = -1 for x, y in zip(a, b): ans = (ans + x * y) % MOD return ans def _start(): ret = main() if ret is not None: if isinstance(ret, List) or isinstance(ret, Tuple): print(*ret) else: print(ret) if __name__ == '__main__': _start()