Problem:
Score : 100 points

Problem Statement

Given is a lowercase English letter C that is not z. Print the letter that follows C in alphabetical order.

Constraints

C is a lowercase English letter that is not z.

Input

Input is given from Standard Input in the following format:

C

Output

Print the letter that follows C in alphabetical order.

Sample Input 1

a

Sample Output 1

b

a is followed by b.

Sample Input 2

y

Sample Output 2

z

y is followed by z.

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

use std::io::*;
use std::str::FromStr;

fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let stdin = stdin.lock();
    let token: String = stdin
        .bytes()
        .map(|c| c.expect("failed to read char") as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect();

    token.parse().ok().expect("failed to parse token")
}

fn main() {
    let c: String = read();
    let alphabet = vec!['a'.to_string(),'b'.to_string(),'c'.to_string(),'d'.to_string(),'e'.to_string(),'f'.to_string(),'g'.to_string(),'h'.to_string(),'i'.to_string(),'j'.to_string(),'k'.to_string(),'l'.to_string(),'m'.to_string(),'n'.to_string(),'o'.to_string(),'p'.to_string(),'q'.to_string(),'r'.to_string(),'s'.to_string(),'t'.to_string(),'u'.to_string(),'v'.to_string(),'w'.to_string(),'x'.to_string(),'y'.to_string(),'z'.to_string()];

    println!("{}", alphabet.get(alphabet.binary_search(&c).unwrap()+1).unwrap());
}