fn getline() -> String { let mut rv = String::new(); std::io::stdin().read_line(&mut rv).ok(); return rv; } fn fact_mod(n: u64) -> u64 { let mut rv = 1; for m in 1 .. (n + 1) { rv = (rv * m) % 1000000007; } rv } fn main() { let n: u64 = getline().trim().parse().unwrap(); println!("{}", fact_mod(n)); }