Revert "Homework(stage2)"

This reverts commit 3bc1468261f2d3eec23c750ece76e110e703465c.
Revert "Revert "Homework(stage2)""

This reverts commit 52b531072af70df0d92e029a8585df767de00bc1.
Revert "Homework(stage2)"

This reverts commit 3bc1468261f2d3eec23c750ece76e110e703465c.