s,t,n=map(int,input().split()) X=[] for i in range(3): A=list(map(int,input().split())) X.append(A) Z=[0]*t+[1] for i in range(n-1): D=[0]*(t+1) for c in range(t+1): for d in range(c+1): cnt=0 for q in range(3): cnt+=(Z[min(t,c-d+(d*X[q][1])//X[q][2])]*X[q][0]) D[c]=max(D[c],cnt) Z=D[:] #print(Z) best=-1 Ans=[-1] for d in range(s+1): cnt=0 for q in range(3): cnt+=(Z[min(t,s-d+(d*X[q][1])//X[q][2])]*X[q][0]) if cnt>best: Ans=[d] best=cnt elif cnt==best: Ans.append(d) print(best//(10**(2*n-2))) print(len(Ans)) print(*Ans)