In [3]:
#! /usr/bin/python

filename = './input'

paper = 0
ribbon = 0

with open(filename) as f:
  for linen in f:
    line = linen.rstrip('\n')
    size = line.split('x')
    l = int(size[0])
    w = int(size[1])
    h = int(size[2])

#   paper calculations
    a = l*w
    b = w*h
    c = l*h
    d = min(a, b, c)
    paper += 2*a+2*b+2*c+d

#   ribbon calculations
    f1 = l+l+w+w
    f2 = w+w+h+h
    f3 = l+l+h+h
    fs = min (f1, f2, f3)
    bow = l*w*h
    ribbon += fs+bow

print("paper %d (star 1 answer)" % paper)
print("ribbon %d (star 2 answer)" % ribbon)


paper 1606483 (star 1 answer)
ribbon 3842356 (star 2 answer)

In [ ]: