¿Por qué no separas el problema en sus partes?