use std::ops::Range;
fn gav(x: i32, y: i32) -> i64 {
(x - y) * (x + y)
}
fn main() {
let num: i32 = 5;
let a: Vec<i32> = vec![1, 2, 3];
let b: Option<i32> = Some(2);
let c: Option<{unknown}> = None;
let d: Range<i32> = Range { start: 1, end: num };
let e: Range<i32> = 1..num;
let f: String = "sssss".to_string();
for a: i32 in d {
for b: i32 in e {
let c: i64 = gav(x:gav(x:a, y:b), y:a);
assert_eq!(gav(a, b), a * a - b * b);
}
}
let f: i32 = d: Range<i32>
.reduce(|a: i32, b: i32| {
println!("{}", a);
a * b
}): Option<i32>
.unwrap();
}