use std::env;
fn factorial(n: u32) -> u32 {
if n == 0 {
1
} else {
n * factorial(n - 1)
}
}
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() != 2 {
eprintln!("Usage: {} <number>", args[0]);
return;
}
let number: u32 = match args[1].parse() {
Ok(n) => n,
Err(_) => {
eprintln!("invalid number");
return;
}
};
let result = factorial(number);
println!("{}", result);
}