https://topicslearn.com/cs304-assignment-2-solution/
CS304 Assignment 2 Solution 2023