My F# solution