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 median(buf: &CyclicBuffer) -> u32 {
let mut nums = buf.buf.clone();
nums.sort();
nums[3]
}
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!("{}", median(&buffer));
for line in lines {
let num = line.unwrap().trim().parse().unwrap();
if num == 0 { return }
insert(&mut buffer, num);
println!("{}", median(&buffer));
}
}
dXNlIHN0ZDo6aW86OntzZWxmLCBCdWZSZWFkfTsKCiNbZGVyaXZlKENvcHksIENsb25lKV0Kc3RydWN0IEN5Y2xpY0J1ZmZlciB7CiAgICBidWY6IFt1MzI7IDVdLAogICAgcG9zOiB1c2l6ZSwKfQoKZm4gaW5zZXJ0KGJ1ZjogJm11dCBDeWNsaWNCdWZmZXIsIHZhbDogdTMyKSB7CiAgICBidWYuYnVmW2J1Zi5wb3NdID0gdmFsOwogICAgYnVmLnBvcyA9IChidWYucG9zICsgMSkgJSA1Owp9CgpmbiBtZWRpYW4oYnVmOiAmQ3ljbGljQnVmZmVyKSAtPiB1MzIgewogICAgbGV0IG11dCBudW1zID0gYnVmLmJ1Zi5jbG9uZSgpOwogICAgbnVtcy5zb3J0KCk7CgogICAgbnVtc1szXQp9CgpmbiBtYWluKCkgewogICAgbGV0IHN0ZGluID0gaW86OnN0ZGluKCk7CiAgICBsZXQgc3RkaW4gPSBzdGRpbi5sb2NrKCk7CiAgICBsZXQgbXV0IGxpbmVzID0gc3RkaW4ubGluZXMoKTsKCiAgICBsZXQgbXV0IGJ1ZmZlciA9IEN5Y2xpY0J1ZmZlciB7CiAgICAgICAgYnVmOiBbMDsgNV0sCiAgICAgICAgcG9zOiAwLAogICAgfTsKCiAgICBmb3IgbGluZSBpbiAoMC4uNSkuZmxhdF9tYXAofF98IGxpbmVzLm5leHQoKSkgewogICAgICAgIGluc2VydCgmbXV0IGJ1ZmZlciwgbGluZS51bndyYXAoKS50cmltKCkucGFyc2UoKS51bndyYXAoKSk7CiAgICB9CgogICAgcHJpbnRsbiEoInt9IiwgbWVkaWFuKCZidWZmZXIpKTsKCiAgICBmb3IgbGluZSBpbiBsaW5lcyB7CiAgICAgICAgbGV0IG51bSA9IGxpbmUudW53cmFwKCkudHJpbSgpLnBhcnNlKCkudW53cmFwKCk7CgogICAgICAgIGlmIG51bSA9PSAwIHsgcmV0dXJuIH0KCiAgICAgICAgaW5zZXJ0KCZtdXQgYnVmZmVyLCBudW0pOwogICAgICAgIHByaW50bG4hKCJ7fSIsIG1lZGlhbigmYnVmZmVyKSk7CiAgICB9Cn0=