https://www.acwing.com/file_system/file/content/whole/index/content/5539436/
https://www.acwing.com/file_system/file/content/whole/index/content/5539438/
https://www.acwing.com/activity/content/code/content/3360455/