def findpro():
p = [11, 21, 31, 33, 43, 53, 55, 65]
w = [1, 11, 21, 23, 33, 43, 45, 55]
maxw = 110
a = map(lambda x: x[0]/x[1],zip(p,w))
c = zip(a,range(len(a)))
order = map(lambda x:x[1], sorted(c,reverse=True))
profit = 0
wt = maxw
for i in range(len(order)):
if(w[i]<=wt):
if(wt>0):
profit += p[i]
wt = wt - w[i]
print "p" ,profit, "w", wt
else:
if(wt>0):
profit += ((maxw-w[i])/(w[i]))*p[i]
wt = wt - w[i]
print "p" ,profit, "w", wt
print profit
ZGVmIGZpbmRwcm8oKToKICBwID0gWzExLCAyMSwgMzEsIDMzLCA0MywgNTMsIDU1LCA2NV0KICB3ID0gIFsxLCAxMSwgMjEsIDIzLCAzMywgNDMsIDQ1LCA1NV0KICBtYXh3ID0gMTEwCiAgYSA9IG1hcChsYW1iZGEgeDogeFswXS94WzFdLHppcChwLHcpKQogIGMgPSB6aXAoYSxyYW5nZShsZW4oYSkpKQogIG9yZGVyID0gbWFwKGxhbWJkYSB4OnhbMV0sIHNvcnRlZChjLHJldmVyc2U9VHJ1ZSkpCiAgcHJvZml0ID0gMAogIHd0ID0gbWF4dwogIGZvciBpIGluIHJhbmdlKGxlbihvcmRlcikpOgogICAgIGlmKHdbaV08PXd0KToKICAgICAgIGlmKHd0PjApOgogICAgICAgICAgcHJvZml0ICs9IHBbaV0KICAgICAgICAgIHd0ID0gd3QgLSB3W2ldCiAgICAgICAgICBwcmludCAicCIgLHByb2ZpdCwgInciLCB3dAogICAgIGVsc2U6CiAgICAgICBpZih3dD4wKToKICAgICAgICAgIHByb2ZpdCArPSAoKG1heHctd1tpXSkvKHdbaV0pKSpwW2ldCiAgICAgICAgICB3dCA9IHd0IC0gd1tpXQogICAgICAgICAgcHJpbnQgInAiICxwcm9maXQsICJ3Iiwgd3QKICBwcmludCBwcm9maXQKIA==