#! ruby
# yukicoder My Practice
# author: Leonardone @ NEETSDKASU

# 解説読後
# http://yukicoder.me/problems/882/editorial

=begin

解説がACコード読めとあったので
ACのコードをいくつか読んで

要は
ある時点で「パ」の状態で終わっているパターン数
ある時点で「ケン」の状態で終わっているパターン数
ある時点で「ケンケン」の状態で終わっているパターン数
これを動的計画法とやらでNの小さいほうから積み重ねていく感じらしい(?)
そしてこの3種のパターン数の和が求める答えとなるということらしい

初期値 N=1として
A[1] = 0 「パ」で終わっている状態
B[1] = 1 「ケン」で終わっている状態
C[1] = 0 「ケンケン」で終わっている状態

N=2では
N=1で「パ」で終わっているパターンは次は「ケン」に
N=1で「ケン」で終わっているパターンは「パ」か「ケンケン」に
N=1で「ケンケン」で終わっているパターンは「パ」に
つまり
「パ」で終わる       A[2] = B[1] + C[1] = 1 + 0 = 1
「ケン」で終わる     B[2] = A[1] = 0
「ケンケン」で終わる C[2] = B[1] = 1

N=3では同様に
N=2で「パ」で終わっているパターンは次は「ケン」に
N=2で「ケン」で終わっているパターンは「パ」か「ケンケン」に
N=2で「ケンケン」で終わっているパターンは「パ」に
つまり
「パ」で終わる       A[3] = B[2] + C[2] = 0 + 1 = 1
「ケン」で終わる     B[3] = A[2] = 1
「ケンケン」で終わる C[3] = B[2] = 0

これを繰り返していけば答えが求まるということに

一般化すると
A[N + 1] = B[N] + C[N]
B[N + 1] = A[N]
C[N + 1] = B[N]

んで答えは answer = A[N] + B[N] + C[N]

「パ」で終わる部分だけ和で求めるので桁が増えすぎないように mod 100000007 を行うと
つまり
A[N + 1] = (B[N) + C[N]) mod 100000007

当然答えもmod 100000007 しておくべき

answer = (A[N] + B[N] + C[N]) mod 100000007

=end


n = gets.to_i

MD = (10 ** 9) + 7

a = 0 # n=1で「パ」で終わるパターン数
b = 1 # n=1で「ケン」で終わるパターン数
c = 0 # n=1で「ケンケン」で終わるパターン数


2.upto(n) do
    
    # ta は A[N+1]、 aは A[N]
    # tb は B[N+1]、 bは B[N]
    # tc は C[N+1]、 cは C[N]
    
    ta = (b + c) % MD  # 次に「パ」で終わるパターン数
    tb = a             # 次に「ケン」で終わるすパターン数
    tc = b             # 次に「ケンケン」で終わるパターン数
    
    a, b, c = ta, tb, tc  # パターン数の更新
    
end

p (a + b + c) % MD