use std::io::{self, BufRead};
#[derive(Copy, Clone)]
struct CyclicBuffer {
buf: [u32; 5],
pos: usize,
}
fn insert(buf: &mut CyclicBuffer, val: u32) {
buf.buf[buf.pos] = val;
buf.pos = (buf.pos + 1) % 5;
}
fn mean(buf: &CyclicBuffer) -> f64 {
let mut sum = 0.0;
for &item in &buf.buf { sum += item as f64 }
sum / 5.0
}
fn main() {
let stdin = io::stdin();
let stdin = stdin.lock();
let mut lines = stdin.lines();
let mut buffer = CyclicBuffer {
buf: [0; 5],
pos: 0,
};
for line in (0..5).flat_map(|_| lines.next()) {
insert(&mut buffer, line.unwrap().trim().parse().unwrap());
}
println!("{}", mean(&buffer));
for line in lines {
let num = line.unwrap().trim().parse().unwrap();
if num == 0 { return }
insert(&mut buffer, num);
println!("{}", mean(&buffer));
}
}
dXNlIHN0ZDo6aW86OntzZWxmLCBCdWZSZWFkfTsKCiNbZGVyaXZlKENvcHksIENsb25lKV0Kc3RydWN0IEN5Y2xpY0J1ZmZlciB7CiAgICBidWY6IFt1MzI7IDVdLAogICAgcG9zOiB1c2l6ZSwKfQoKZm4gaW5zZXJ0KGJ1ZjogJm11dCBDeWNsaWNCdWZmZXIsIHZhbDogdTMyKSB7CiAgICBidWYuYnVmW2J1Zi5wb3NdID0gdmFsOwogICAgYnVmLnBvcyA9IChidWYucG9zICsgMSkgJSA1Owp9CgpmbiBtZWFuKGJ1ZjogJkN5Y2xpY0J1ZmZlcikgLT4gZjY0IHsKICAgIGxldCBtdXQgc3VtID0gMC4wOwoKICAgIGZvciAmaXRlbSBpbiAmYnVmLmJ1ZiB7IHN1bSArPSBpdGVtIGFzIGY2NCB9CgogICAgc3VtIC8gNS4wCn0KCmZuIG1haW4oKSB7CiAgICBsZXQgc3RkaW4gPSBpbzo6c3RkaW4oKTsKICAgIGxldCBzdGRpbiA9IHN0ZGluLmxvY2soKTsKICAgIGxldCBtdXQgbGluZXMgPSBzdGRpbi5saW5lcygpOwoKICAgIGxldCBtdXQgYnVmZmVyID0gQ3ljbGljQnVmZmVyIHsKICAgICAgICBidWY6IFswOyA1XSwKICAgICAgICBwb3M6IDAsCiAgICB9OwoKICAgIGZvciBsaW5lIGluICgwLi41KS5mbGF0X21hcCh8X3wgbGluZXMubmV4dCgpKSB7CiAgICAgICAgaW5zZXJ0KCZtdXQgYnVmZmVyLCBsaW5lLnVud3JhcCgpLnRyaW0oKS5wYXJzZSgpLnVud3JhcCgpKTsKICAgIH0KCiAgICBwcmludGxuISgie30iLCBtZWFuKCZidWZmZXIpKTsKCiAgICBmb3IgbGluZSBpbiBsaW5lcyB7CiAgICAgICAgbGV0IG51bSA9IGxpbmUudW53cmFwKCkudHJpbSgpLnBhcnNlKCkudW53cmFwKCk7CgogICAgICAgIGlmIG51bSA9PSAwIHsgcmV0dXJuIH0KCiAgICAgICAgaW5zZXJ0KCZtdXQgYnVmZmVyLCBudW0pOwogICAgICAgIHByaW50bG4hKCJ7fSIsIG1lYW4oJmJ1ZmZlcikpOwogICAgfQp9Cg==