✅ 정답 공개
n,W=map(int,input().split())
items=[tuple(map(int,input().split())) for _ in range(n)]
dp=[[0]*(W+1) for _ in range(n+1)]
for i,(wt,val) in enumerate(items,1):
for w in range(W+1):
dp[i][w]=dp[i-1][w]
if w>=wt: dp[i][w]=max(dp[i][w], dp[i-1][w-wt]+val)
print(dp[n][W])
w=W; selected=[]
for i in range(n,0,-1):
if dp[i][w]!=dp[i-1][w]:
selected.append(i); w-=items[i-1][0]
print(*sorted(selected))