Algunas soluciones replican código, o agregan variables "booleanas".