"I think that two main keys to programming contests are training and thinking. You have to solve a lot of problems to become really successful, but you also need to have good math knowledge and the ability to solve uprising problems. Mathematical puzzles and olympiad problems, for example, can help develop it very well. And you have to be confident. Confident that you'll be successful. That you'll win eventually. And the feeling of being a winner, it will reward you for all the difficulties."