Raiz quadrada iterada

A raiz quadrada iterada de um número é a quantidade de vezes que a função de raiz quadrada deve ser aplicada para fazer com que o número fique estritamente abaixo de 2.

Dado um número inteiro, retorne sua raiz quadrada iterada. Retorne "invalid" se ele for negativo.

Exemplos

Program.iSqrt(new java.math.BigInteger("1")); // 0

Program.iSqrt(new java.math.BigInteger("2")); // 1

Program.iSqrt(new java.math.BigInteger("7")); // 2

Program.iSqrt(new java.math.BigInteger("27")); // 3

Program.iSqrt(new java.math.BigInteger("256")); // 4

Program.iSqrt(new java.math.BigInteger("-1")); // "invalid"

Notas

Ideia de Richard Spence para a raiz quadrada iterada.