#5: recursive breadth-first print