#include <cstdio>
#include <cstring>
#include <algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fd(i,a,b) for(int i=a;i>=b;i--)
using namespace std;

typedef long long ll;

const int N=1e6+5,Mo=1e9+7,inv3=(Mo+1)/3;

int n,inv[N];

int main() {
	scanf("%d",&n);
	inv[0]=inv[1]=1;fo(i,2,n) inv[i]=(ll)(Mo-Mo/i)*inv[Mo%i]%Mo;
	int ans=0;
	for(int pw=inv3,i=1;i<=n;i++,pw=(ll)pw*inv3%Mo) (ans+=(ll)inv[n-i+1]*pw%Mo)%=Mo;
	printf("%d\n",(ll)ans*inv[n]%Mo);
	return 0;
}