Codeforces Round #166 (Div. 2) D