fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut d = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991".chars().map(|c| c as usize - '0' as usize).collect::>(); let length = d.len(); d.reverse(); let mut result = vec![]; let mut carry = 0usize; for i in 0..length { carry += d[i] * n; result.push(carry % 10); carry /= 10; } println!("{}.{}", carry, result.iter().rev().map(|v| v.to_string()).collect::>().join("")); }