Nie napisze Ci tutaj rozwiązania, ale powiem tak:
Przemyśl swój kod, spójrz na niego i odpowiedz sobie czy jest on w jakikolwiek sposób optymalny. Czy do każdego zadania będziesz robił dziesiątki warunków ? Spróbuj zrobić to w inny sposób niż masz teraz.