https://school.programmers.co.kr/learn/courses/30/lessons/12902#qna
def solution(n):
DP = [0, 3, 11]
index = int(n/2)
if index < 3:
return DP[index]
for i in range(3, index+1):
temp = (3*DP[i-1] + sum(DP[1:i-1])*2 + 2) % 1000000007
DP.append(temp)
return DP[index]