def f23(n):
if (n-sf[0]) * (n-sf[1]) > 0 :
return 0
if n in dp:
return dp[n]
dp[n] = f23(n+1) + f23(n+2) + f23(n*3)
start, end = 9, 19
sf = [start, end]
dp = {end:1, 12:0}
f23(start)
print(sorted(dp.items()))