1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>

using namespace std;
long long pot ( long long int a, int wyk )
{
    if ( wyk == 0 ) return 1;
    if ( wyk%2 == 0 )
    {
        long long t = pot( a, wyk / 2);
        return t * t;
    }
    if ( wyk % 2 == 1 )
    {
        return ( pot ( a, wyk - 1 ) * a );
    }
}

int main()
{
    long long int a = 0;
    long long int b = 1;
    long long int n;
    long long sw = 0;
    cin>>n;
    int roz = 1;
    while ( n/pot ( 10, roz ) )
    {
        roz++;
    }
    roz += 3;
    roz %= 19;
    //cout<<roz<<endl;


    for ( int i = 1; i < pot ( 10, 18 ); i++ )
    {
        long long c = (a + b) % pot( 10, roz );
        long long int d = c;
 //       cout<<c<<endl;

        while ( d% 10 == 0 )
        {
            d /= 10;
        }
        a = b;
        b = c;
        /*if ( d == n )
        {
            sw = i + 1;
            break;
        }*/

    }
    if ( sw )
    {
        cout<<sw;
    }
    else
    {
        cout<<"NIE";
    }
    return 0;
}