N, W = map(int, input().split()) v = list(map(int, input().split())) w = list(map(int, input().split())) dp = [[0] * (W + 1) for _ in range(N + 1)] b = [[0] * (W + 1) for _ in range(N + 1)] for i in range(N - 1, -1, -1): for j in range(W + 1): dp[i][j] = dp[i + 1][j] b[i][j] = j for j in range(W - w[i] + 1): if dp[i][j + w[i]] < dp[i + 1][j] + v[i]: dp[i][j + w[i]] = dp[i + 1][j] + v[i] b[i][j + w[i]] = j e = dp[0].index(max(dp[0])) ans = [] for i in range(N): if b[i][e] != e: ans.append(i) e = b[i][e] print(len(ans)) print(*ans)