use proconio::input; fn main() { input! { n: usize, ab: [(f64, f64); n], cd: [(f64, f64); n], } let ab_mean = [ ab.iter().map(|x| x.0).fold(0., |acc, a| acc + a) / n as f64, ab.iter().map(|x| x.1).fold(0., |acc, a| acc + a) / n as f64, ]; let cd_mean = [ cd.iter().map(|x| x.0).fold(0., |acc, a| acc + a) / n as f64, cd.iter().map(|x| x.1).fold(0., |acc, a| acc + a) / n as f64, ]; let ans = cd .iter() .map(|(c, d)| ((*c - cd_mean[0]).powi(2) + (*d - cd_mean[1]).powi(2)).sqrt()) .fold(0., |acc, a| acc + a) / ab.iter() .map(|(a, b)| ((*a - ab_mean[0]).powi(2) + (*b - ab_mean[1]).powi(2)).sqrt()) .fold(0., |acc, a| acc + a); println!("{}", ans); }