import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int sum = in.nextInt();
if(sum==0||sum==1){ //当x为前面的两个 0或1 的时候
System.out.println(0); //返回0步
return; //结束
}
int a=0; //第一个斐波拉契数
int b=1; //第二个斐波拉契数
int c; //后面一个斐波拉契数
int left=0; //左端
int right=0; //右端
while(true){ //一直循环,直到break 或 return
c=a+b;//当前斐波拉契数(因为 0 1 已经判断了)
if(c==sum||b+c==sum){ //sum为当前斐波拉契数或者后面的一个斐波拉契数
System.out.println(0); //直接返回0步
return;
}
if(sum>c&&(b+c)>sum){ //若满足大于当前的且小于之后的
left=c;
right=b+c;
break;
}
a=b; //为计算下一位斐波拉契数做准备
b=c;
}
if((sum-left)>(right-sum)){ //返回小的
System.out.println(right-sum);
}else{
System.out.println(sum-left);
}
}
}
}
