let perfectSquare n = let h = n &&& 0xF if (h > 9) then false else if ( h <> 2 && h <> 3 && h <> 5 && h <> 6 && h <> 7 && h <> 8 ) then let t = ((n |> double |> sqrt) + 0.5) |> floor|> int t*t = n else false