update with dynamic solution for problem 1