let input = (open ../input/day2.txt | lines) let choices = ($input | each { |i| $i | split words }) def part1 [om, mm] { let msel = (if $mm == 'X' { 1 } else { if $mm == 'Y' { 2 } else { 3 } }) let round = ( if $mm == 'X' { if $om == 'A' { 3 } else { if $om == 'B' { 0 } else { 6 } } } else { if $mm == 'Y' { if $om == 'A' { 6 } else { if $om == 'B' { 3 } else { 0 } } } else { if $om == 'A' { 0 } else { if $om == 'B' { 6 } else { 3 } } } } ) $msel + $round } def part2 [om, mm] { let round = (if $mm == 'X' { 0 } else { if $mm == 'Y' { 3 } else { 6 } }) let msel = ( if $om == 'A' { if $mm == 'X' { 3 } else { if $mm == 'Y' { 1 } else { 2 } } } else { if $om == 'B' { if $mm == 'X' { 1 } else { if $mm == 'Y' { 2 } else { 3 } } } else { if $mm == 'X' { 2 } else { if $mm == 'Y' { 3 } else { 1 } } } } ) $msel + $round } $choices | each { |c| part1 $c.0 $c.1 } | math sum $choices | each { |c| part2 $c.0 $c.1 } | math sum