Russian Code Cup 2016 - Финал [неофициальная интернет-трансляция, рекомендуется для Div. 1] |
---|
Закончено |
Сегодня Петя плохо вел себя на уроке математики, и учительница наказала его, дав ему дополнительное домашнее задание. Она назвала ему три числа — 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
.*.
***
.*.
**.
**.
*..
.*.
***
*..
Название |
---|