http://bpoj.natapp1.cc/contest/63e21f00b5f4d0226333a58c
https://www.acwing.com/solution/content/168785/
https://www.acwing.com/solution/content/168785/