아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

블록 칠하기

시간 제한2초메모리 제한512 MB

요약
N개의 블록을 4가지 색으로 칠할 때 빨강과 노랑 블록의 개수가 모두 짝수인 경우의 수를 10007로 나눈 나머지를 구한다.
난이도

보통10점 중 6점

유형
조합론, 수학, 동적 계획법, 비트 연산
정답자
아직 제출이 없습니다

문제

N개의 블록이 일렬로 놓여 있다. 민호는 블록 하나하나를 빨강, 주황, 노랑, 초록 네 색 중 한 색으로 칠한다.

민호는 빨강으로 칠한 블록의 개수와 노랑으로 칠한 블록의 개수가 둘 다 2로 나누어떨어지는 칠하기가 몇 가지인지 알고 싶다. 블록의 자리는 고정되어 있으므로, 한 자리라도 색이 다르면 서로 다른 칠하기로 센다. 개수가 0인 경우도 2로 나누어떨어지는 것으로 본다.

N을 읽어 그 칠하기의 수를 구하는 프로그램을 작성하라.

입력

첫째 줄에 N이 주어진다. (1≤N≤1091 \le N \le 10^9)

출력

빨강으로 칠한 블록의 개수와 노랑으로 칠한 블록의 개수가 모두 2로 나누어떨어지는 칠하기의 수를 10007로 나눈 나머지를 출력한다.

예제4

  1. 예제 1

    입력
    1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    
    예상 출력
    6
    
  3. 예제 3

    입력
    3
    
    예상 출력
    20
    
  4. 예제 4

    입력
    8
    
    예상 출력
    6505