# Day 06 ```elixir Mix.install([:kino_aoc]) ``` ## Setup ```elixir {:ok, puzzle_input} = KinoAOC.download_puzzle("2025", "6", System.fetch_env!("LB_ADVENT_OF_CODE_SESSION")) ``` ```elixir {tasks, [ops]} = puzzle_input |> String.split("\n", trim: true) |> Enum.split(-1) ``` ```elixir ops = ops |> String.split() |> Enum.map(&String.to_atom/1) ``` ## Part 1 ```elixir tasks |> Enum.map(&String.split/1) |> Enum.zip_with(fn numbers -> Enum.map(numbers, &String.to_integer/1) end) |> Enum.zip(ops) |> Enum.sum_by(fn {nums, :+} -> Enum.sum(nums) {nums, :*} -> Enum.product(nums) end) ``` ## Part 2 ```elixir tasks |> Enum.map(&String.to_charlist/1) |> Enum.zip_with(&(&1 |> List.to_string() |> String.trim())) |> Enum.chunk_while( [], fn "", acc -> {:cont, acc, []} num, acc -> {:cont, [String.to_integer(num) | acc]} end, &{:cont, &1, []} ) |> Enum.zip(ops) |> Enum.sum_by(fn {nums, :+} -> Enum.sum(nums) {nums, :*} -> Enum.product(nums) end) ```