use std::io::Read; use std::f64::consts::PI; fn main() { let mut all_data = String::new(); std::io::stdin().read_to_string(&mut all_data).ok(); let all_data: Vec<&str> = all_data.trim().split('\n').collect(); let sr: f64 = all_data.iter().next().unwrap().parse::().unwrap(); let lr: f64 = all_data.iter().skip(1).next().unwrap().parse::().unwrap(); let cos_theta: f64 = (lr*lr - 2.0*sr*sr) / (lr*lr); let theta: f64 = cos_theta.acos(); let circle: f64 = sr * sr * PI; let curv: f64 = ((lr+sr)*(lr+sr) - (lr-sr)*(lr-sr)) * (2.0*PI - theta) / 2.0; println!("{}", 2.0*PI - theta); println!("{}", circle + curv); }