https://habr.com/ru/post/258121/ https://codeforces.com/blog/entry/17956 https://web.archive.org/web/20200119201703/https://codeforces.com/blog/entry/17956