만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

숙제

시간 제한3초메모리 제한512 MB

요약
n×m 격자에 연결된 칸 묶음을 만들어 L자형 트로미노가 정확히 k개 나오게 하고, 만들 수 없으면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
수학, 구현, 그리디
정답자
아직 제출이 없습니다

문제

오늘 Peter에게 내일까지 해야 할 추가 숙제가 생겼다. 선생님은 정수 nn, mm, kk를 주고, 크기가 n×mn \times m인 정사각형 격자에서 하나 이상의 칸을 표시하라고 했다. 표시된 칸들은 연결된 도형을 이루어야 하고, 세 칸이 모두 2×22 \times 2 정사각형 안에 들어가는 L자 모양 트로미노를 이루는 표시된 칸의 세 쌍이 정확히 kk개 있어야 한다. 변을 공유하는 칸끼리 이동해서 어떤 칸에서든 다른 어떤 칸으로 갈 수 있으면 그 칸들의 집합은 연결되어 있다고 본다. Peter는 이 과제를 해내지 못해서 도움을 청한다. 조건을 만족하는 도형을 만들어 주자.

입력

입력에는 하나 이상의 테스트 케이스가 들어 있다. 첫 줄에는 테스트 케이스의 수 tt (1≤t≤1001 \le t \le 100)가 주어진다. 이어지는 tt개의 줄에는 각각 정수 nn, mm, kk (3≤n,m,n×m≤1053 \le n, m, n \times m \le 10^5, 0≤k≤1090 \le k \le 10^9)가 주어진다. 모든 테스트 케이스의 n×mn \times m 값을 합하면 10510^5을 넘지 않는다.

출력

각 테스트 케이스의 답을 출력한다. 조건을 만족하는 도형이 있으면 mm개의 문자로 이루어진 줄을 nn개 출력한다. 표시된 칸은 별표 '*'로, 표시되지 않은 칸은 점 '.'으로 나타낸다. 답이 없으면 -1을 출력한다. 테스트 케이스 사이에는 빈 줄을 하나 출력한다.

예제1

  1. 예제 1

    입력
    3
    3 3 4
    3 3 5
    3 3 3
    
    예상 출력
    **.
    **.
    ...
    
    ***
    **.
    ...
    
    .**
    **.
    *..