Solved task 1 and 2. by Dmitry Boika