use std::io::{self, BufRead};
use std::io::BufReader;
fn factorial(n: u64) -> u64 {
(1..=n).product()
}
fn main() {
let stdin = io::stdin();
let reader = BufReader::new(stdin);
for line in reader.lines() {
match line {
Ok(ref s) => {
match s.trim().parse::<u64>() {
Ok(n) => println!("{}", factorial(n)),
Err(_) => break,
};
}
Err(_) => continue,
}
}
}
dXNlIHN0ZDo6aW86OntzZWxmLCBCdWZSZWFkfTsKdXNlIHN0ZDo6aW86OkJ1ZlJlYWRlcjsKCmZuIGZhY3RvcmlhbChuOiB1NjQpIC0+IHU2NCB7CiAgICAoMS4uPW4pLnByb2R1Y3QoKQp9CgpmbiBtYWluKCkgewogICAgbGV0IHN0ZGluID0gaW86OnN0ZGluKCk7CiAgICBsZXQgcmVhZGVyID0gQnVmUmVhZGVyOjpuZXcoc3RkaW4pOwoKICAgIGZvciBsaW5lIGluIHJlYWRlci5saW5lcygpIHsKICAgICAgICBtYXRjaCBsaW5lIHsKICAgICAgICAgICAgT2socmVmIHMpID0+IHsKICAgICAgICAgICAgICAgIG1hdGNoIHMudHJpbSgpLnBhcnNlOjo8dTY0PigpIHsKICAgICAgICAgICAgICAgICAgICBPayhuKSA9PiBwcmludGxuISgie30iLCBmYWN0b3JpYWwobikpLAogICAgICAgICAgICAgICAgICAgIEVycihfKSA9PiBicmVhaywKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgRXJyKF8pID0+IGNvbnRpbnVlLAogICAgICAgIH0KICAgIH0KICAgIAp9