C. Красивые IP-адреса
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В задаче используется упрощенная модель адресов в TCP/IP, внимательно прочтите условие.

IP-адрес — это 32-битное число, представленное в виде четверки десятичных 8-битных чисел (без лидирующих нулей), записанных через точку. Например, запись 0.255.1.123 обозначает корректный IP-адрес, а записи 0.256.1.123 и 0.255.1.01 — нет. В данной задаче произвольная четверка 8-битных чисел является корректным IP-адресом.

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

  1. выписать в строку четверку 8-битных чисел IP-адреса, пропуская точки;
  2. проверить, является ли получившаяся строка палиндромом.

Напомним, что палиндромом называется строка, которая одинаково читается справа налево и слева направо.

Например IP-адреса 12.102.20.121 и 0.3.14.130 являются красивыми (поскольку строки «1210220121» и «0314130» являются палиндромами), а IP-адреса 1.20.20.1 и 100.4.4.1 — нет.

Поликарп хочет найти все красивые IP-адреса, в которых встречается заданный набор цифр. Каждая цифра из набора должна встречаться в IP-адресе не менее одного раза, никакие другие цифры не должны встречаться в IP-адресе. Помогите ему справиться с этой нелегкой задачей.

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

В первой строке задано единственное целое число n (1 ≤ n ≤ 10) — количество цифр в наборе. Во второй строке задан набор цифр a1, a2, ..., an (0 ≤ ai ≤ 9). Гарантируется, что все цифры в наборе различны.

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

В первую строку выведите единственное число k — количество красивых IP-адресов, которые содержат заданный набор цифр. Далее в k строк выведите сами IP-адреса по одному в строке в произвольном порядке.

Примеры
Входные данные
6
0 1 2 9 8 7
Выходные данные
6
78.190.209.187
79.180.208.197
87.190.209.178
89.170.207.198
97.180.208.179
98.170.207.189
Входные данные
1
4
Выходные данные
16
4.4.4.4
4.4.4.44
4.4.44.4
4.4.44.44
4.44.4.4
4.44.4.44
4.44.44.4
4.44.44.44
44.4.4.4
44.4.4.44
44.4.44.4
44.4.44.44
44.44.4.4
44.44.4.44
44.44.44.4
44.44.44.44