Scanf.scanf "%d" (fun t -> for i = 1 to t do Scanf.scanf " %d" (fun n -> let nf2 = int_of_float (sqrt (float n)) - 2 in let nf1 = nf2 + 1 in let nf0 = nf1 + 1 in let nfm = nf0 + 1 in Printf.printf "%d\n" @@ if nf2 * nf2 <= n && n < nf1 * nf1 then nf2 else if nf1 * nf1 <= n && n < nf0 * nf0 then nf1 else if nf0 * nf0 <= n && n < nfm * nfm then nf0 else nfm ) done )