// 从深度为2开始,当前叶子节点为2个。每加一层,每个叶子节点会增加三条路径
#include<bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
int n;
int main(){
cin>>n;
if(n==1) cout<<0;
else if(n==2) cout<<1;
else{
long long yezi=2,ans=1;
for(int i=3;i<=n;i++){
ans=(ans+yezi*3)%mod;
yezi=(yezi*2)%mod;
}
cout<<ans%mod;
}
return 0;
}

京公网安备 11010502036488号