Your task is to write a program that, given two natural numbers *n* and *r*,
uses *n* to print a valley with *r* rows as it is shown at the instances.
Notice that, the last row has *r* numbers *n* separated by dashes,
the central dot, and *r* numbers *n* separated by dashes,
that each row has two numbers *n* less than the row immediataly below,
and that the part of the middle has to be filled with as many dots as necessary.

To solve this problem, you must implement *recursively* the function

that returns the number of digits of |n|, under the precondition |n| ≥ 0.

**Input**

The input consists of two natural numbers *n* and *r*, with *r* > 0.

**Output**

Your program must print a valley of *r* rows using the number *n*
as can be seen in the instances.

**Observations**

- Using strings is not allowed. Obviously, you can not use vectors either.
- Remember to implement |number_of_digits(n)| recursively.

Public test cases

**Input**

10004 3

**Output**

10004.........................10004 10004-10004.............10004-10004 10004-10004-10004.10004-10004-10004

**Input**

0 6

**Output**

0.....................0 0-0.................0-0 0-0-0.............0-0-0 0-0-0-0.........0-0-0-0 0-0-0-0-0.....0-0-0-0-0 0-0-0-0-0-0.0-0-0-0-0-0

**Input**

987654321 1

**Output**

987654321.987654321

Information

- Author
- Professorat de P1
- Language
- English
- Translator
- Carlos Molina
- Original language
- Catalan
- Other languages
- Catalan
- Official solutions
- C++
- User solutions
- C++