open StdLabels

let (|>) f g = g f
let rec range n m =
  if n > m then
    []
  else
    n :: range (n+1) m

let _ =
  range 1 100
  |> List.map ~f:begin fun n ->
       if n mod 15 = 0 then
	 "fizzbuzz"
       else if n mod 3 = 0 then
	 "fizz"
       else if n mod 5 = 0 then
	 "buzz"
       else
	 string_of_int n
     end
  |> List.iter ~f:print_endline
