package main
import (
"bufio"
"fmt"
"os"
)
const MOD int64 = 1000000007
func modPow(a, e int64) int64 {
res := int64(1)
for e > 0 {
if e&1 == 1 {
res = (res * a) % MOD
}
a = (a * a) % MOD
e >>= 1
}
return res
}
func main() {
in := bufio.NewReader(os.Stdin)
var n int64
fmt.Fscan(in, &n)
if n <= 0 {
fmt.Println(0)
return
}
p := modPow(2, n-1)
ans := (p * (n % MOD)) % MOD
fmt.Println(ans)
}