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 C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Text;
using static System.Console;
using static System.Math;

namespace AtCoder
{
    class Program
    {
        static void Main(string[] args)
        {
            var WHc = Reads();
            var W = int.Parse(WHc[0].ToString());
            var H = int.Parse(WHc[1].ToString());

            WriteLine("+" + new string('-', W - 2) + "+");
            for (int i = 0; i < H - 2; i++)
            {
                if ((H / 2) - 1 == i)
                {
                    WriteLine("|" + new string('.', W / 2 - 1) + WHc[2] + new string('.', W / 2 - 1) + "|");
                }
                else
                {
                    WriteLine("|" + new string('.', W - 2) + "|");

                }
            }
            WriteLine("+" + new string('-', W - 2) + "+");
        }
        private static string Read() { return ReadLine(); }
        private static string[] Reads() { return (Read().Split()); }
        private static int ReadInt() { return int.Parse(Read()); }
        private static long ReadLong() { return long.Parse(Read()); }
        private static double ReadDouble() { return double.Parse(Read()); }
        private static int[] ReadInts() { return Array.ConvertAll(Read().Split(), int.Parse); }
        private static long[] ReadLongs() { return Array.ConvertAll(Read().Split(), long.Parse); }
        private static double[] ReadDoubles() { return Array.ConvertAll(Read().Split(), double.Parse); }
    }
}