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)

// -*- coding:utf-8-unix -*-

use proconio::input;
use proconio::marker::Chars;
use std::iter::FromIterator;

fn print_vec(v: &Vec<char>, b: bool) {
    if b { println!("{}", String::from_iter(v)); }
    else { print!("{}", String::from_iter(v)); }
}

fn print_vec_range(v: &Vec<char>, s: usize, t: usize, b: bool) {
    for i in s..t {
        print!("{}", v[i]);
    }
    if b { print!("\n"); }
}

fn main() {
    input! {
        k: usize,
        s: Chars
    }
    let s: Vec<char> = s;
    if s.len() <= k {
        print_vec(&s, true);
    } else {
        print_vec_range(&s, 0, k, false);
        println!("...");
    }
}