Here's my solution, Andrew:

using System;
class PlaidTowel18October2015
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
char a = char.Parse(Console.ReadLine());
char b = char.Parse(Console.ReadLine());
Console.WriteLine("{0}{1}{2}{1}{0}",
new string(a, n),
b,
new string(a, n * 4 + 1 - (n * 2 + 2)));//1ST PART
for (int i = 0; i < n - 1; i++)//2ND PART
{
Console.WriteLine("{0}{1}{2}{1}{3}{1}{2}{1}{0}",
new string(a, ((n - 1) - i)),
b,
new string(a, 1 + i * 2),
new string(a, ((((n * 4) + 1) - ((n * 2) + 2)) - 2) - (2 * i)));
}
Console.WriteLine("{0}{1}{0}{1}{0}",
b,
new string(a, n * 4 + 1 - (n * 2 + 2)));//3RD PART
for (int i = 0; i < n - 1; i++)
{
Console.WriteLine("{0}{1}{2}{1}{3}{1}{2}{1}{0}",
new string(a, (1 + i)),
b,
new string(a, ((n * 4 + 1 - (n * 2 + 2)) - 2 - 2 * i)),
new string(a, 1 + i * 2));//4TH PART
}
Console.WriteLine("{0}{1}{2}{1}{0}",
new string(a, n),
b,
new string(a, n * 4 + 1 - (n * 2 + 2)));//5TH PART = 1ST PART
for (int i = 0; i < n - 1; i++)//6TH PART = 2ND PART
{
Console.WriteLine("{0}{1}{2}{1}{3}{1}{2}{1}{0}",
new string(a, ((n - 1) - i)),
b,
new string(a, 1 + i * 2),
new string(a, ((((n * 4) + 1) - ((n * 2) + 2)) - 2) - (2 * i)));
}
Console.WriteLine("{0}{1}{0}{1}{0}",
b,
new string(a, n * 4 + 1 - (n * 2 + 2)));//7TH PART = 3RD PART
for (int i = 0; i < n - 1; i++)
{
Console.WriteLine("{0}{1}{2}{1}{3}{1}{2}{1}{0}",
new string(a, (1 + i)),
b,
new string(a, ((n * 4 + 1 - (n * 2 + 2)) - 2 - 2 * i)),
new string(a, 1 + i * 2));//8TH PART = 4TH PART
}
Console.WriteLine("{0}{1}{2}{1}{0}",
new string(a, n),
b,
new string(a, n * 4 + 1 - (n * 2 + 2)));//9TH PART = 5TH PART = 1ST PART
}
}