using Test data = open("input") do f split(read(f, String)) end priority(x) = islowercase(x) ? x - 'a' + 1 : x - 'A' + 27 s_halver(s) = s[1:length(s)÷2], s[length(s)÷2+1:end] solver(block) = (block .|> s-> intersect(s...)[1] .|> priority )|> sum @testset "solutions" begin @test data .|> s_halver |> solver == 8072 @test [data[i:i+2] for i ∈ 1:3:length(data)] |> solver == 2567 end