Pergunta de entrevista da empresa Amazon

first part is a debugging assesment, second part is a programming one