Problem:
Score : 100 points

Problem Statement

Joisino wants to evaluate the formula "A op B".
Here, A and B are integers, and the binary operator op is either + or -.
Your task is to evaluate the formula instead of her.

Constraints

1≦A,B≦10^9

op is either + or -.

Input

The input is given from Standard Input in the following format:

A op B

Output

Evaluate the formula and print the result.

Sample Input 1

1 + 2

Sample Output 1

3

Since 1 + 2 = 3, the output should be 3.

Sample Input 2

5 - 7

Sample Output 2

-2

Solution in Rust (1.15.1) (judge verdict: Accepted)

use std::io;

// still don't know how to write lambda
fn add (x:i32, y:i32) -> i32{
    x+y
}

fn minus(x:i32, y:i32) -> i32{
    x-y
}

fn to_op(op:&str) -> (fn(i32, i32) -> i32) {
    match op {
        "+" => add,
        "-" => minus,
        _ => panic!()
    }
}

fn read_int(n:&str) -> i32{
    n.parse().unwrap()
}

fn main(){
    let mut input = String::new();
    io::stdin().read_line(&mut input)
        .expect("input err");
    let inputs : Vec<&str> = input.split_whitespace().collect();
    println!("{}",
             to_op(inputs[1])(read_int(inputs[0]), read_int(inputs[2]))
             );
}