만드는 중입니다

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

나선

시간 제한1초메모리 제한1024 MB

요약
로봇이 나선을 그리는 과정을 시뮬레이션하고, 방문한 칸을 별표와 점으로 표시한 직사각형 그림을 출력합니다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현, 행렬
정답자
아직 제출이 없습니다

문제

로봇이 격자 평면 위를 움직이며 나선을 그린다. 로봇은 처음에 (0,0)(0, 0) 칸에 있고, 첫 번째 좌표가 증가하는 방향을 보고 있다.

로봇은 다음 알고리즘을 따른다. 먼저 dd번 앞으로 이동하고 왼쪽으로 회전한다. 그다음 다시 dd번 앞으로 이동한 뒤 왼쪽으로 회전하고, dd에 kk를 곱한다. 로봇은 이 과정을 반복한다. 로봇은 정확히 nn번 이동하면 멈춘다.

로봇이 방문한 칸을 표시한 그림을 출력한다.

입력

정수 nn, dd, kk가 입력으로 주어진다 (1≤n≤10001 \le n \le 1000, 1≤d≤1001 \le d \le 100, 2≤k≤52 \le k \le 5).

출력

방문한 모든 칸을 포함하는 최소 직사각형의 높이를 hh, 너비를 ww라고 하자. 첫 줄에 hh와 ww를 공백으로 구분해 출력한다. 이어서 hh개의 줄에 각각 ww개의 문자를 출력한다. 방문한 칸은 *, 방문하지 않은 칸은 .으로 나타낸다.

예제1

  1. 예제 1

    입력
    13 2 2
    
    예상 출력
    5 5
    *****
    *...*
    *.***
    *....
    **...