Спираль

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

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

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

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

입력

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

출력

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