const DX: [i32; 8] = [0, 1, 0, -1, 1, 1, -1, -1]; const DY: [i32; 8] = [1, 0, -1, 0, 1, -1, -1, 1]; fn run(args: &Vec) -> Vec { let a: Vec = args[2..].iter().map(|s| s.parse::().unwrap()).collect(); let r = a.iter().max().unwrap() - a.iter().min().unwrap(); vec!(r.to_string()) } use std::io; use std::io::BufReader; fn main() { let args = lines(BufReader::new(io::stdin())); for line in run(&args) { println!("{}", line); } } use std::io::prelude::*; fn lines(reader: BufReader) -> Vec { reader.lines().map(|l| l.unwrap()).collect() }