
/**
 * I/O METHODS
 * 
 * Patrick Chen
 * v2.1
 */
import java.io.*;
import java.util.*;
public class IO
{   
    public static void main(String[] args)
    {
        int iCount=0;
        String []word;
        String []ans;
        int []number;
        int []fib;
        ans=new String[5];
        fib=new int[40];
        number=new int[5];
        word=new String [5];
        
        int halfpoint=0;
        
        //reader method duh
        read(iCount, word);
        //codes go here, remember to use word for the final conversion alrite?
        
        for (int iNum=0; iNum<5; iNum++)
        {
            number[iNum]=Integer.parseInt(word[iNum]);
        }
        
        fib[0]=0;
        fib[1]=1;
        
        for (int iNum=2; iNum<39; iNum++)
        {
            fib[iNum]=fib[iNum-2]+fib[iNum-1];
            System.out.println (fib[iNum]);
        }
        
        for (int iNum=0; iNum<5; iNum++)
        {
            for (int iNum2=0; iNum2<29; iNum2++)
            {
                if (number[iNum]<=fib[iNum2])
                {
                    halfpoint=(fib[iNum2]+fib[iNum2-1])/2;
                    if (number[iNum]>=halfpoint)
                    {
                        ans[iNum]=""+fib[iNum2];
                    }
                    else if (number[iNum]<halfpoint)
                    {
                        ans[iNum]=""+fib[iNum2-1];
                    }
                    iNum2=500;
                }
            }
        }
        
        
        for (int iNum=0; iNum<5; iNum++)
        {
            System.out.println (ans[iNum]);
        }
        
        
        //end your code jeez ur taking up so much spaaaaaaaace
        
        
        write(ans);
        
        
        //writes into file, duh

    }
    
    //guess what...read method go figure
    public static void read(int iCount, String []word)
    {
        //try to make it work duh
        try
        {
            //lol scanner attache so easily
            Scanner input=new Scanner (new File("DATA2.txt"));//lol just replace name already douche fag
            
            //lols HASNEXTLINE IS A METHOD LOL WTF
            while (input.hasNextLine())
            {
                //lol guess what this does..not rocket science
               word[iCount]=input.nextLine();
               //even more brilliance
               //System.out.println (word[iCount]);
               iCount++;
            }
            //CLOSE CLOSES-->NOOOOOOOOOOO REALLLLLLLLLLLLLLY
            input.close();
        }
        //Exception e is everything............e for elephants!
        catch (Exception e)
        {
            System.err.println ("LOL SYSTEM FAILURE");
        }
    }
    
    //outputs into file, go figure
    public static void write(String []word)
    {
        //sweet something next/syntaxnew
        String outFileName="OUT2.txt";//change name for crying out loud, it isnt original
        //try try again
        try
        {
            //lol so many streams, why not rivers?
            PrintStream output=new PrintStream (new FileOutputStream("OUT2.txt"));
            //lol idk whats going on
            //actually i do, just too lazy to explain
            for (int iNum=0; iNum<5; iNum++)
            {
                //writes into file, duh
                output.println(word[iNum]);
            }
            //go figure
            output.close();
        }
        //lol wut
        catch(Exception e)
        {
            System.err.println ("LOL ERROR");
        }
    }
}
