N = int(input()) M = int(input()) MOD = 10**9 def pascal_triangle(n, r): tr = [[1]] for d in range(1, n+1): row = [1] * (d+1) for i in range(1, d): row[i] = tr[d-1][i-1] + tr[d-1][i] row[i] %= MOD tr.append(row) return tr[n][r] x = N - ((N // 1000) // M) * 1000 * M r = x // 1000 ans = pascal_triangle(M, r) print(ans)