#include <iostream>
#include <cstdio>
using namespace std;
#define MOD 1000000007
int dp[100005][3][4]= {0};
int main() {
int n;
cin >> n;
dp[1][0][1] = 1;
dp[1][2][0] = 1;
for(int i=2; i<=n; i++){
if(i&1){
dp[i][2][0] = dp[i-1][2][0];
dp[i][0][1] = dp[i-1][2][0];
dp[i][2][1] = (dp[i-1][0][1] + dp[i-1][2][1]);
dp[i][1][3] = dp[i-1][1][3];
dp[i][2][2] = (dp[i-1][1][2] + dp[i-1][2][2])%MOD;
dp[i][0][3] = ((dp[i-1][1][2] + dp[i-1][2][2])%MOD + (dp[i-1][1][3] + dp[i-1][0][3])%MOD)%MOD;
}
else {
dp[i][2][0] = dp[i-1][2][0];
dp[i][1][2] = dp[i-1][2][0];
dp[i][2][1] = (dp[i-1][0][1] + dp[i-1][2][1]);
dp[i][1][3] = ((dp[i-1][0][1] + dp[i-1][2][1])%MOD + (dp[i-1][1][3] + dp[i-1][0][3])%MOD)%MOD;
dp[i][2][2] = (dp[i-1][1][2] + dp[i-1][2][2])%MOD;
dp[i][0][3] = dp[i-1][0][3];
}
// for(int j=0;j<=2;j++){
// for(int k=0;k<=3;k++){
// if(dp[i][j][k])
// printf("i=%d j=%d k=%d dp=%d\n",i,j,k,dp[i][j][k]);
// }
// }
}
int p = 1;
for(int i=1; i<=n; i++){
p = (p*2) % MOD;
}
p = (p - dp[n][0][3] - dp[n][1][3] )%MOD;
p = (p+MOD)%MOD;
cout << p << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CmludCBkcFsxMDAwMDVdWzNdWzRdPSB7MH07CmludCBtYWluKCkgewogICAgaW50IG47CiAgICBjaW4gPj4gbjsKICAgIGRwWzFdWzBdWzFdID0gMTsKICAgIGRwWzFdWzJdWzBdID0gMTsKICAgIGZvcihpbnQgaT0yOyBpPD1uOyBpKyspewogICAgICAgIGlmKGkmMSl7CiAgICAgICAgCWRwW2ldWzJdWzBdID0gZHBbaS0xXVsyXVswXTsKICAgICAgICAgICAgZHBbaV1bMF1bMV0gPSBkcFtpLTFdWzJdWzBdOwogICAgICAgICAgICBkcFtpXVsyXVsxXSA9IChkcFtpLTFdWzBdWzFdICsgZHBbaS0xXVsyXVsxXSk7CiAgICAgICAgICAgIGRwW2ldWzFdWzNdID0gZHBbaS0xXVsxXVszXTsKICAgICAgICAgICAgZHBbaV1bMl1bMl0gPSAoZHBbaS0xXVsxXVsyXSArIGRwW2ktMV1bMl1bMl0pJU1PRDsKICAgICAgICAgICAgZHBbaV1bMF1bM10gPSAoKGRwW2ktMV1bMV1bMl0gKyBkcFtpLTFdWzJdWzJdKSVNT0QgKyAoZHBbaS0xXVsxXVszXSArIGRwW2ktMV1bMF1bM10pJU1PRCklTU9EOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgZHBbaV1bMl1bMF0gPSBkcFtpLTFdWzJdWzBdOwogICAgICAgICAgICBkcFtpXVsxXVsyXSA9IGRwW2ktMV1bMl1bMF07CiAgICAgICAgICAgIGRwW2ldWzJdWzFdID0gKGRwW2ktMV1bMF1bMV0gKyBkcFtpLTFdWzJdWzFdKTsKICAgICAgICAgICAgZHBbaV1bMV1bM10gPSAoKGRwW2ktMV1bMF1bMV0gKyBkcFtpLTFdWzJdWzFdKSVNT0QgKyAoZHBbaS0xXVsxXVszXSArIGRwW2ktMV1bMF1bM10pJU1PRCklTU9EOwogICAgICAgICAgICBkcFtpXVsyXVsyXSA9IChkcFtpLTFdWzFdWzJdICsgZHBbaS0xXVsyXVsyXSklTU9EOwogICAgICAgICAgICBkcFtpXVswXVszXSA9IGRwW2ktMV1bMF1bM107CiAgICAgICAgfQogICAgICAgIC8vIGZvcihpbnQgaj0wO2o8PTI7aisrKXsKICAgICAgICAvLyAJZm9yKGludCBrPTA7azw9MztrKyspewogICAgICAgIC8vIAkJaWYoZHBbaV1bal1ba10pCiAgICAgICAgLy8gCQkJcHJpbnRmKCJpPSVkIGo9JWQgaz0lZCBkcD0lZFxuIixpLGosayxkcFtpXVtqXVtrXSk7CiAgICAgICAgLy8gCX0KICAgICAgICAvLyB9CiAgICB9CiAgICBpbnQgcCA9IDE7CiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgIAlwID0gKHAqMikgJSBNT0Q7CiAgICB9CiAgICBwID0gKHAgLSBkcFtuXVswXVszXSAtIGRwW25dWzFdWzNdICklTU9EOwogICAgcCA9IChwK01PRCklTU9EOwogICAgY291dCA8PCBwIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==