Day 4: Complete P16 to P20

Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>