use std::{str::FromStr, error::Error};

fn main() -> Result<(), Box<dyn Error>> {
    let mut input = String::new();
    println!("1個目の数値を入力してください。");
    std::io::stdin().read_line(&mut input)?;
    let num1 = i32::from_str(input.trim())?;

    input.clear();
    println!("2個目の数値を入力してください。");
    std::io::stdin().read_line(&mut input)?;
    let num2 = i32::from_str(input.trim())?;

    let sum = num1 + num2;
    println!("和: {sum}");
    let diff = num1 - num2;
    println!("差: {diff}");
    let prod = num1 * num2;
    println!("積: {prod}");
    if num2 == 0 {
        eprintln!("0で割ることはできません。");
        Ok(())
    } else {
        let quot = num1 / num2;
        println!("商: {quot}");
        Ok(())
    }
}