using System;
using static System.Console;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static int NN => int.Parse(ReadLine());
    static long[] NList => ReadLine().Split().Select(long.Parse).ToArray();
    static void Main()
    {
        var c = NList;
        var (n, s) = (c[0], c[1]);
        var list = new List<long>();
        for (var i = n; i > 0; --i)
        {
            if (s >= i)
            {
                list.Add(i);
                s -= i;
            }
        }
        list.Reverse();
        WriteLine(list.Count);
        WriteLine(string.Join(" ", list));
    }
}