Problem:
Score: 100 points

Problem Statement

There is a train going from Station A to Station B that costs X yen (the currency of Japan).

Also, there is a bus going from Station B to Station C that costs Y yen.

Joisino got a special ticket. With this ticket, she can take the bus for half the fare if she travels from Station A to Station B by train and then travels from Station B to Station C by bus.

How much does it cost to travel from Station A to Station C if she uses this ticket?

Constraints

1 \leq X,Y \leq 100

Y is an even number.

All values in input are integers.

Input

Input is given from Standard Input in the following format:

X Y

Output

If it costs x yen to travel from Station A to Station C, print x.

Sample Input 1

81 58

Sample Output 1

110

The train fare is 81 yen.

The train fare is 58 ⁄ 2=29 yen with the 50% discount.

Thus, it costs 110 yen to travel from Station A to Station C.

Sample Input 2

4 54

Sample Output 2

31

Solution in Rust (1.42.0) (judge verdict: Runtime Error)

use proconio::input;
use proconio::marker::Usize1;
use smallvec::alloc::collections::{BTreeSet, BTreeMap};
use std::ops::Bound::{Included, Excluded};
use itertools::Itertools;

#[proconio::fastout]
fn main() {
    input! {
        N: usize,
        M: usize,
        Q: usize,
        trains: [(Usize1, Usize1); M],
        queries: [(Usize1, Usize1); Q]
    }

    let mut ordered_trains:BTreeMap<(usize, usize), i128> = BTreeMap::new();
    for train in trains {
        let q = ordered_trains.entry(train).or_insert(0);
        *q += 1;
    }
    for (s, t) in queries {
        let x = (Included((s, s)), Included((t, t)));
        println!("{:?}", ordered_trains.range(x).into_iter().filter(|&((u, v), _)| s <= *u && *v <= t).map(|(_, x)| *x).sum::<i128>());
    }
}