#include #include using namespace std; int main() { int n, m; cin >> n >> m; int a[2003], p[2003]; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++){ cin >> p[i]; p[i]--; } vector dp[2003]; vector ans[2003]; for(int i = 1; i <= m; i++) dp[i] = {n}; for(int i = 0; i < n; i++){ for(int j = m; j >= a[i]; j--){ vector v = dp[j - a[i]]; v.push_back(p[i]); if(dp[j] > v){ dp[j] = v; ans[j] = ans[j - a[i]]; ans[j].push_back(i); } } } if(ans[m].size()){ cout << ans[m].size() << endl; for(int i : ans[m]) cout << i + 1 << " "; cout << endl; } else{ cout << -1 << endl; } }