Final: 506210 Code by Felipe Gerhard