https://codeforces.com/contest/1182/submission/55435088