Кухня та котик
Limits: 2 sec., 256 MiB
Зовсім недавно Зеник покрив підлогу кухні новою плиткою. Але Марічці ця плитка не сподобалася, тому треба зробити все знову.
Зеник узяв Марічку (щоб їй уже точно сподобалося), і вони поїхали у відомий будівельний магазин «Чотири пінгвіни» та купили там багато плитки розміром 1×2.
Здавалося б, залишилося повторити все, що він уже робив раніше, але не все так просто.
Кухня має форму прямокутника розміром n×m і складається з одиничних квадратів. Але в квадраті з координатами (x,y) заснув котик, і Зеник не хоче його будити.
Допоможіть Зенику знайти таке довільне розміщення плитки, щоб квадрат, у якому лежить котик, був непокритим або скажіть, що цього не можна зробити.
Зауважте, плитку не можна різати, проте можна повертати на 90 градусів.
Input
У єдиному рядку містяться чотири цілі числа n, m, x, y — висота та ширина кухні й координати квадрата, у якому спить котик.
Output
Якщо покрити підлогу, не потривоживши котика, неможливо, виведіть
одне число -1
.
Інакше виведіть n рядків, кожен із яких складається з m великих та малих англійських літер. Літери позначають, яка саме плитка покриває відповідний одиничний квадрат. Однакові літери позначають ту саму плитку, різні — різну.
Клітинку, у якій спить котик, позначте символом @
.
Constraints
1≤n,m≤10,
1≤x≤n,
1≤y≤m.
Samples
Input (stdin) | Output (stdout) |
---|---|
3 5 2 2 | AAaax B@ZZx Bccbb |
Input (stdin) | Output (stdout) |
---|---|
1 5 1 2 | -1 |
Notes
У другому прикладі видно, що між котиком та лівою стіною кухні потрібно покрити один квадрат. Оскільки плитку різати не можна, підлогу ніяк не вийде замостити.