programa copiado del assignement 1