with open('input.txt', 'r') as f: dimensions = f.read().splitlines() sqft_total = 0 ribbon_length = 0 for box in dimensions: local_dimensions = box.split('x') local_dimensions = [int(item) for item in local_dimensions] length = local_dimensions[0] width = local_dimensions[1] height = local_dimensions[2] print(local_dimensions) volume = length * width * height local_dimensions.remove(max(local_dimensions)) print(volume) print(local_dimensions) ribbon_length += volume ribbon_length += local_dimensions[0] * 2 + local_dimensions[1] * 2 print(local_dimensions[0] * 2 + local_dimensions[1] * 2) side_a_area = length * width side_b_area = width * height side_c_area = length * height smallest_side = min(side_a_area, side_b_area, side_c_area) sqft_total += 2 * (side_a_area + side_b_area + side_c_area) sqft_total += smallest_side print(f"sqft: {sqft_total}") print(f"ribbon length: {ribbon_length}")