Var n,y:Qword;
Function Luth(a,b:Int64):Int64;
Var d,d1:Int64;
Begin
If b = 1 then Exit(a mod 1000000007);
d1:=b div 2;d:=a*a mod 1000000007;
If b mod 2 = 0 then Exit(Luth(d,d1) mod 1000000007)
Else Exit((Luth(d,d1) mod 1000000007) * a mod 1000000007);
End;
Begin
Read(n);
y:=Luth(3,n);
Write(Luth(3,y));
End.