Honestly, simulating algorithms is a time-consuming and thankless approach. Once you make a small mistake in hundreds of lines of code but fail to find it, or even didn't plan to find any because you have passed the sample, then you are all done....