C. Домашнее задание
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня Петя плохо вел себя на уроке математики, и учительница наказала его, дав ему дополнительное домашнее задание. Она назвала ему три числа — n, m и k и сказала, чтобы он отметил на прямоугольной клетчатой доске размером n × m одну или несколько клеток.

Отмеченные клетки должны образовывать связную фигуру. При этом должно быть ровно k способов выбрать три отмеченные клетки, так, чтобы они образовывали «уголок» — все три выбранные клетки лежали внутри квадрата 2 × 2.

Множество клеток образует связную фигуру, если из любой клетки множества можно добраться до любой другой, перемещаясь в процессе с клетки на соседнюю по стороне.

Петя знает, что задание непростое, поэтому попросил вас, как программиста и лучшего друга, помочь ему с этим заданием.

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

Входные данные содержат несколько тестовых наборов. В первой строке задано количество тестов t (1 ≤ t ≤ 100).

Каждый из следующих t тестов описывается одной строкой из трех чисел n, m и k (3 ≤ n, m, n × m ≤ 105, 0 ≤ k ≤ 109).

Гарантируется, что сумма n × m по всем тестам не превосходит 105.

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

Для каждого теста выведите ответ на него.

Если ответ существует, выведите n строк по m символов, где '*' означает отмеченную клетку, а '.' - неотмеченную.

Если ответа не существует, в единственной строке выведите -1.

После каждого теста, кроме последнего, выведите пустую строку.

Пример
Входные данные
3
3 3 4
3 3 5
3 3 3
Выходные данные
.*.
***
.*.

**.
**.
*..

.*.
***
*..