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);
            }
            
        }
    }
}