#M250923. 神秘数列

神秘数列

题目描述

有一个长度为 nn 的严格升序的神秘数列,其中 a1=1,an=ma_1=1,a_n=m,同时对于 ak(2kn)a_k(2\le k\le n) 都有 ak=ai+aj(1i,jk1)a_k=a_i+a_j(1\le i, j\le k-1),即除了 a1a_1 之外,其余的每个元素都可以表示为另外 22 个元素之和(可以重复)。

例如对于数列 1,2,4,51,2,4,5,其中 2=1+1,4=2+2,5=1+42=1+1,4=2+2,5=1+4

给定数列的最后一项 mm,求出满足如上要求的最短项数字典序最小的神秘数列。

输入格式

一个正整数 m(1m300)m(1\le m \le 300),表示数列的末项

输出格式

一行,若干个数字,表示满足要求的项数最短的字典序最小的神秘数列,中间用一个空格隔开

输入输出样例

5
1 2 3 5

样例 #1\tt \#1说明

[1,2,3,4,5][1,2,3,4,5] 是一个满足要求的数列,但最少的长度为 44

[1,2,3,5][1,2,3,5][1,2,4,5][1,2,4,5] 长度都为 44,但前者字典序更小

12
1 2 3 6 12
77
1 2 4 5 9 18 36 41 77