외계 생물

높이 H인 완전 이진 트리의 정점을 1부터 2^(H+1)-1까지의 수로 채우되 부모의 번호가 자식보다 항상 작도록 하는 번호 부여의 수를 1,000,000,007로 나눈 나머지로 구한다.

보통6조합론트리동적 계획법아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

기문이가 특이한 외계 생물 한 마리를 발견했다. 발견했을 때는 갓 태어난 상태였다. 이 생물은 태어난 지 하루가 지나면 정확히 두 마리의 새끼를 낳고, 한 번 낳은 뒤로는 다시 새끼를 낳지 않는다. 한 부모가 낳은 두 새끼는 첫째와 둘째로 구별한다.

그래서 발견한 지 0일째에는 1마리, 1일째에는 1+2=31 + 2 = 3마리, 2일째에는 1+2+4=71 + 2 + 4 = 7마리가 된다. 즉 HH일째에는 2H+112^{H+1} - 1마리다.

기문이는 HH일째에 이 생물들에게 번호를 붙이려 한다. 11번부터 2H+112^{H+1} - 1번까지를 한 번씩만 써서 모든 개체에 번호를 붙이되, 부모의 번호는 항상 자식의 번호보다 작아야 한다. 번호를 붙이는 경우의 수를 구하시오.

입력

첫 줄에 정수 HH (0H100 \le H \le 10)가 주어진다. 발견한 지 HH일째라는 뜻이다.

출력

번호를 붙이는 경우의 수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.

힌트

H=1H = 1이면 개체는 부모 한 마리와 새끼 두 마리로 모두 3마리다. 부모의 번호가 두 자식보다 작아야 하므로 부모는 반드시 1번이고, 남은 2번과 3번을 첫째와 둘째에게 배정하는 순서가 두 가지다. 그래서 답은 2다.