Problem:
Score: 200 points

Problem Statement

We have a string S consisting of lowercase English letters.

If the length of S is at most K, print S without change.

If the length of S exceeds K, extract the first K characters in S, append ... to the end of them, and print the result.

Constraints

K is an integer between 1 and 100 (inclusive).

S is a string consisting of lowercase English letters.

The length of S is between 1 and 100 (inclusive).

Input

Input is given from Standard Input in the following format:

K
S

Output

Print a string as stated in Problem Statement.

Sample Input 1

7
nikoandsolstice

Sample Output 1

nikoand...

nikoandsolstice has a length of 15, which exceeds K=7.

We should extract the first 7 characters in this string, append ... to the end of them, and print the result nikoand....

Sample Input 2

40
ferelibenterhominesidquodvoluntcredunt

Sample Output 2

ferelibenterhominesidquodvoluntcredunt

The famous quote from Gaius Julius Caesar.

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

fn string_cut(mut num: usize, s:String) -> String{
    let mut add = 0;
    if s.len() <= num {
        num = s.len();
    }else {
        add = 1;
    }
    
    let mut output = String::new();
    let str_list = &s.chars().collect::<Vec<char>>();
    
    for i in 0..num{
        output += &str_list[i].to_string();
    }
    if add == 1{
        output += &"...".to_string();
        output
    }else {
        output
    }
}

fn read<T:std::str::FromStr>() -> T{
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).ok();
    s.trim().parse().ok().unwrap()
}

fn main(){
    let num:usize = read();
    let input:String = read();
    let s = string_cut(num, input);
    println!("{}", s);
}