memo = {0: 0, 2: 3} def solution(n): if n in memo: return memo[n] if n % 2 == 1: return 0 answer = sum([solution(i*2) * 2 for i in range((n-2)//2)] + [solution(n-2) * 3] + [2]) memo[n] = answer return answer % 1000000007