https://codeforces.com/contest/1801/submission/230317985