const fi = 'DOITIEN.INP';
      fo = 'DOITIEN.OUT';
      MAXN = 10000;
      MAXW = 1000;
      oo = MAXINT div 2;
var f: text;
    n, m: integer;
    a: array[1..MAXN] of integer;
    L: array[0..MAXN, 0..MAXW] of integer;
    //L[i, j] la so dong tien khi doi

    procedure Nhap;
    var i: integer;
    begin
        assign(f, fi); reset(f);
        readln(f, n, m);
        for i:= 1 to n do
                readln(f, a[i]);
        close(f);
    end;

    function min(a, b: integer): integer;
    begin
        if a < b then exit(a)
                else exit(b);
    end;


    procedure QHD;
    var i, j: integer;
    begin
        for i:= 0 to n do L[i, 0]:= 0;
        for j:= 1 to m do L[0, j]:= +oo;
        // L[0, 0] = ?

        for i:= 1 to n do
                for j:= 1 to m do
                begin
                        L[i, j]:= L[i-1, j];
                        if a[i] <= j then
                                L[i, j]:= min(1 + L[i, j-a[i]],
                                              L[i-1, j]);
                end;
    end;

    procedure TruyVet(i, j: integer);
    var t:integer;
    begin
        if i = 0 then exit;
        if j = 0 then exit;
        if j >= a[i] then
        begin
                if L[i, j] = 1 + L[i, j-a[i]] then // Chon loai tien thu i
                begin
                        TruyVet(i, j-a[i]);

                        writeln(f, 'chon loai tien ', i,
                                ' menh gia la ', a[i]);
                end
                        else TruyVet(i-1, j);
        end
                else // Khong chon loai tien thu i
                        TruyVet(i-1, j);
    end;

    procedure InKQ;
    var i, j:integer;
    begin
        assign(f, fo); rewrite(f);
        if L[n, m] = +oo then writeln(f, 'khong co cach doi')
        else
        begin
                writeln(f, L[n, m]);
                TruyVet(n, m);
        end;

        close(f);
    end;

BEGIN
        Nhap;
        QHD;
        InKQ;
END.
