#arc122c. [arc122_c]Calculator

[arc122_c]Calculator

题目描述

Snuke有两个整数xxyy。初始时,x=0x=0y=0y=0

Snuke可以任意次数以任意顺序执行以下四种操作:

  • 操作1:将xx的值替换为x+1x+1

  • 操作2:将yy的值替换为y+1y+1

  • 操作3:将xx的值替换为x+yx+y

  • 操作4:将yy的值替换为x+yx+y

给定一个正整数NN。请最多执行130次操作,使得xx的值等于NN。这里,yy可以有任意值。我们可以证明在该问题的约束条件下存在这样的操作序列。

约束条件

  • 1N10181 \leq N \leq 10^{18}
  • 输入中的所有值都是整数。

输入

从标准输入读入数据,格式如下:

NN

输出

打印答案,格式如下:

KK t1t_1 t2t_2 \vdots tKt_K

其中,KK(0K130)(0 \leq K \leq 130)表示操作的数量,tit_i(1ti4)(1 \leq t_i \leq 4)表示第ii个要执行的操作。


示例输入 1

4

示例输出 1

5
1
4
2
3
1

在这里,xxyy的值如下变化:(0,0)(0,0)\rightarrow 操作1 (1,0)\rightarrow (1,0) \rightarrow 操作4 (1,1)\rightarrow (1,1) \rightarrow 操作2 (1,2)\rightarrow (1,2) \rightarrow 操作3 (3,2)\rightarrow (3,2) \rightarrow 操作1 (4,2)\rightarrow (4,2),最终xx的值与NN相等。