Given a positive integer N ("virality"), your program should create an ASCII-art drawing of a tree with two branches of length N extending downwards and/or rightwards from the top-left corner.
The direction taken by each branch after the first asterisk can be either rightwards or downwards, and this choice should be made randomly1 at every next step.
For example, given an input of 5, the output might look like:
***
* ***
**
**
The two branches are allowed to touch (be on adjacent cells), but not overlap (be on the same cell), so the following would not be allowed:
***
* *
*****
*
*
Examples
For input 1
, the only possible output is:
**
*
(This will be present in all valid outputs, since having the two branches take the same path would cause them to overlap.)
Possible outputs for an input of 3
include:
***
* *
**
**
***
*
*
For input 7
:
****
* **
* **
*
***
*
For input 10
:
****
* *
*********
*
*****
This is code-golf, so the shortest valid answer (in bytes) wins.
1. This should uniformly random (i.e. a 50/50 chance of each direction), or as close to uniformly random as you can get on normal hardware.
0
s and1
s instead of spaces and asterisks? \$\endgroup\$