#include <iostream>
using namespace std;

int main() {
    int  f,f1=0,f2=1;
    int N,left=0,right=0;
    cin>>N;
    while(1)
    {
        f=f1+f2;//使用循环求出斐波那契数
        f1=f2;
        f2=f;
        if(f<N)
        {
            left=f;//找到N右侧最近的斐波那契数
        }
        else
        {
            right=f;//找到N左侧最近的斐波那契数
            break;
        }
    }
    cout<<min(N-left,right-N)<<endl;//求出他们差的最小值
}