Imagine que tem um prédio com n andares e k garrafas idênticas. Cada garrafa pode ser largada de qualquer andar do prédio e irá partir-se a partir de um determinado andar (inclusive).
O seu objetivo é descobrir o número mínimo de tentativas necessário para identificar o andar mais baixo a partir do qual a garrafa se parte, utilizando as garrafas disponíveis.
Entrada
A única linha da entrada contém dois inteiros n (100 ≤ n ≤ 500) e k (1 ≤ k ≤ 30), que representam o número de andares do prédio e o número de garrafas, respetivamente.
Saída
Imprima um único inteiro, correspondente ao número mínimo de tentativas necessárias para encontrar o andar mais baixo que faz a garrafa partir-se, utilizando as garrafas dadas.