시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB75611878.261%

문제

Робот перемещается по клетчатой плоскости и рисует спираль. Исходно он находится в клетке $(0, 0)$ и направлен в сторону увеличения первой координаты.

Далее он действует по следующему алгоритму: совершает $d$ перемещений вперед, затем поворачивает налево и снова делает $d$ перемещений вперед. После этого он поворачивает налево и умножает значение $d$ на $k$. Затем робот повторяет описанный процесс. Робот останавливается, сделав суммарно ровно $n$ перемещений.

Требуется вывести картинку, на которой отмечены клетки, на которых побывал робот.

입력

На вход подаются целые числа $n$, $d$ и $k$ ($1 \le n \le 1000$, $1 \le d \le 100$, $2 \le k \le 5$).

출력

Пусть минимальный прямоугольник из клеток, содержащий все посещенные роботом клетки, имеет высоту $h$ и ширину $w$. На первой строке выведите числа $h$ и $w$, разделенные пробелом. Следующие $h$ строк должны содержать по $w$ символов, выведите <<*>> для клетки, посещенной роботом и <<.>> для не посещенной.

예제 입력 1

13 2 2

예제 출력 1

5 5
*****
*...*
*.***
*....
**...