cleared up some circular dependency issues between stage and task.
simulate.py outputs the list of start and end times of each task.
It seems that I have adjusted the run times of each stage as the average runtime in the stage.
Also, the start and end times have been changed accordingly.

But the outputs (start time, end time) are so big?! WHYYY