#include <bits/stdc++.h>
void swap(int arr[], int a, int b) {
  int temp = arr[a];
  arr[a] = arr[b];
  arr[b] = temp;
}
void bubble(int input[], int size, int alter[]) {
  int i, j, flag = 1;
  for (i = 0; i < size - 1 && flag; i++) {
    flag = 0;
    for (j = size - 1; j > i; j--) {
      if (input[j - 1] > input[j]) {
        if (!flag) flag = 1;
        swap(input, j, j - 1);
        swap(alter, j, j - 1);
      }
    }
  }
}
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  int i, alter[2][n];
  for (i = 0; i < n; i++) {
    scanf("%d", &alter[0][i]);
    alter[1][i] = i;
  }
  bubble(alter[0], n, alter[1]);
  int max = 0, sum = 0;
  while (sum + alter[0][max] <= k && max < n) {
    sum += alter[0][max];
    max++;
  }
  printf("%d\n", max);
  for (i = 0; i < max; i++) printf("%d ", alter[1][i] + 1);
  return 0;
}
