defmodule Aoc2023 do defmacro __using__([]) do quote do import Aoc2023.Common def main(input) do {t_parse, parsed} = :timer.tc fn -> parse(input) end {t_p1, _} = :timer.tc fn -> IO.puts("Part 1: #{part1(parsed)}") end {t_p2, _} = :timer.tc fn -> IO.puts("Part 2: #{part2(parsed)}") end IO.puts("Took #{(t_parse + t_p1 + t_p2) / 1_000}ms (parse: #{t_parse / 1_000}ms, part1: #{t_p1 / 1_000}ms, part2: #{t_p2 / 1_000}ms)") end end end end