AtCoder Beginner Contest 021

A - 足し算


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 256MB

問題文

正整数 N と、 2 の累乗数 1,2,4,8 があります。

これらのうち、 同じ 2 の累乗数をいくつ使っても良い ので、それらの和が N となるような組み合わせを 1 つ求めてください。 組み合わせが複数考えられる場合は、そのうちのどれを出力しても構いません。

例えば N=5 のとき、5=1+2+2 となることから 1 つの組み合わせとして {1,2,2} が考えられます。


入力

入力は以下の形式で標準入力から与えられる。

N
  • 1 行目には、正整数 N (1 ≦ N ≦ 10) が与えられる。

出力

1 行目に、組み合わせを構成する整数の個数 K を出力せよ。

2 行目から K 行には、組み合わせを構成する K 個の整数をそれぞれ出力せよ。 和がちょうど N になり、組み合わせを構成する各整数が 2 の累乗数であるならば正解として扱われる。それ以外の場合は不正解として扱われる。

末尾の改行を忘れないこと。


入力例1

5

出力例1

3
1
2
2

問題文の例です。5=1+2+2 と表せるので、このように出力すると正解になります。最初に組み合わせを構成する整数の個数である 3 を出力するのを忘れないでください。

他にも、5=1+4 なので、1,4 という組み合わせを出力しても正解となります。


入力例2

1

出力例2

1
1

Submit提出する