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 main() {
    let (k, s) = read();
    let s = solve(k, &s);
    write(s);
}

fn read() -> (i32, String) {
    let mut l = String::new();
    std::io::stdin().read_line(&mut l).ok();
    let k = l.trim().parse::<i32>().unwrap();

    let mut l = String::new();
    std::io::stdin().read_line(&mut l).ok();
    let s = l.trim().to_string();

    (k, s)
}

fn write(s: String) {
    println!("{}", s);
}

fn solve(k: i32, s: &str) -> String {
    if s.len() as i32 <= k {
        s.to_string()
    } else {
        let s1 = s[0..(k as usize)].to_string();
        let s2 = "...";
        s1 + s2
    }
}