D. Три логотипа
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Три компании решили заказать рекламный щит с изображениями своих логотипов. Рекламный щит представляет собой большую квадратную доску. Логотип каждой из компаний представляет собой прямоугольник ненулевой площади.

Рекламодатели разместят рекламу только в том случае, если возможно расположить все три логотипа на щите без наложений так, что на нём не останется свободного места. При размещении логотипы можно поворачивать так, чтобы стороны были параллельны сторонам рекламного щита.

Перед вами стоит задача определить, возможно ли разместить логотипы трех компаний на щите квадратной формы, не нарушив никакое из описанных правил.

Входные данные

В единственной строке входных данных находятся шесть целых положительных чисел x1, y1, x2, y2, x3, y3 (1 ≤ x1, y1, x2, y2, x3, y3 ≤ 100), где xi и yi обозначают длину и ширину логотипа i-й компании соответственно.

Выходные данные

Если разместить все три логотипа на квадратном щите невозможно, выведите одно число "-1" (без кавычек).

Если же это возможно, выведите в первую строку длину стороны квадрата n, в котором можно разместить все три логотипа. В следующих n строках должно содержаться по n заглавных латинских букв "A", "B" или "C". Наборы одинаковых букв должны образовывать сплошные прямоугольники, причем:

  • размеры прямоугольника, составленного из букв "A", должны быть равны размерам логотипа первой компании,
  • размеры прямоугольника, составленного из букв "B", должны быть равны размерам логотипа второй компании,
  • размеры прямоугольника, составленного из букв "C", должны быть равны размерам логотипа третьей компании.

Напомним, что логотипы компаний в процессе нанесения их на рекламный щит можно поворачивать. Пустых мест на щите остаться не должно. Если квадратный рекламный щит можно заполнить логотипами несколькими способами, разрешается вывести любой из них.

Изучите тестовые примеры для лучшего понимания условия.

Примеры
Входные данные
5 1 2 5 5 2
Выходные данные
5
AAAAA
BBBBB
BBBBB
CCCCC
CCCCC
Входные данные
4 4 2 6 4 2
Выходные данные
6
BBBBBB
BBBBBB
AAAACC
AAAACC
AAAACC
AAAACC