Problem:
Flag

AHK Education, the educational program section of Aizu Broadcasting Cooperation, broadcasts a children’s workshop program called "Let's Play and Make." Today’s theme is "Make your own flag." A child writes his first initial in the center of their rectangular flag.

Given the flag size and the initial letter to be placed in the center of it, write a program to draw the flag as shown in the figure below.

+-------+
|.......|
|...A...|
|.......|
+-------+

The figure has "A" in the center of a flag with size 9 (horizontal) × 5 (vertical).

Input

The input is given in the following format.

W H c

The input line provides the flag dimensions W (width) and H (height) (3 ≤ W,H ≤ 21), and the initial letter c. Both W and H are odd numbers, and c is a capital letter.

Output

Draw the flag of specified size with the initial in its center using the following characters: "+" for the four corners of the flag, "-" for horizontal lines, "|" for vertical lines, and "." for the background (except for the initial in the center).

Sample Input 1

3 3 B

Sample Output 1

+-+
|B|
+-+

Sample Input 2

11 7 Z

Sample Output 2

+---------+
|.........|
|.........|
|....Z....|
|.........|
|.........|
+---------+

Solution in Kotlin (judge verdict: Accepted)

operator fun String.times(time: Int): String{
    return (0 until time).joinToString(""){this}
}
fun main(args:Array<String>):Unit {
    val (w, h, c) = readLine()!!.trim().split(' ').let{val (w, h, c) = it; Triple(w.toInt(), h.toInt(), c)}
    val str = Array(h){("." * w).toCharArray()}
    str[0][0] = '+'; str[0][w - 1] = '+'; str[h - 1][0] = '+'; str[h - 1][w - 1] = '+'
    for (i in 1 until w - 1) {
        str[0][i] = '-'; str[h - 1][i] = '-'
    }
    for (i in 1 until h - 1) {
        str[i][0] = '|'; str[i][w - 1] = '|'
    }
    str[h / 2][w / 2] = c.toCharArray()[0]
    println(
            str.joinToString("\n"){it.joinToString("")}
    )
}