   end
 end
 
-# fixed input
+# call with fixed input
 Script.main(["test"])
 
-# command line input
+# call with command line arguments
 #Script.main(System.argv)
 


# PROBLEM:
# Problem description here.

defmodule Script do
  def print_arg(input) do
    IO.puts("")
    input
    |> String.split(":")
    |> Enum.with_index(1)
    |> Enum.each(fn {v, i} -> IO.puts("  #{i}: #{v}") end)
  end

  # main program logic
  def run(input) do
    IO.puts("Input:")
    input
    |> Enum.map(&print_arg/1)
  end

  # fixed tests
  def test() do
    IO.puts("--- USAGE ---")
    main(["help"])
    IO.puts("")
    IO.puts("--- TEST ---")
    main(["apple:banana:cat:...", "dog"])
  end

  # program usage

    IO.puts("  #{:escript.script_name()} help")
    IO.puts("  #{:escript.script_name()} test")
    IO.puts("")
    IO.puts("Examples:")
    IO.puts("  #{:escript.script_name()} a:b:c c:d")
    IO.puts("  #{:escript.script_name()} a:c:f:m:n b:c:j:k:m:n c:d:f:k")
  end

  # entry point
  def main(args) do
    args = args |> Enum.map(&String.downcase/1)
    cond do
