题目描述
Snuke有两个整数x和y。初始时,x=0,y=0。
Snuke可以任意次数以任意顺序执行以下四种操作:
-
操作1:将x的值替换为x+1。
-
操作2:将y的值替换为y+1。
-
操作3:将x的值替换为x+y。
-
操作4:将y的值替换为x+y。
给定一个正整数N。请最多执行130次操作,使得x的值等于N。这里,y可以有任意值。我们可以证明在该问题的约束条件下存在这样的操作序列。
约束条件
- 1≤N≤1018
- 输入中的所有值都是整数。
输入
从标准输入读入数据,格式如下:
N
输出
打印答案,格式如下:
K
t1
t2
⋮
tK
其中,K(0≤K≤130)表示操作的数量,ti(1≤ti≤4)表示第i个要执行的操作。
示例输入 1
4
示例输出 1
5
1
4
2
3
1
在这里,x和y的值如下变化:(0,0)→ 操作1 →(1,0)→ 操作4 →(1,1)→ 操作2 →(1,2)→ 操作3 →(3,2)→ 操作1 →(4,2),最终x的值与N相等。