import java.util.Scanner;

public class ImprovedFibonacci {
  /** Metoda main */
  public static void main(String[] args) {
    // Tworzenie obiektu typu Scanner
    Scanner input = new Scanner(System.in);
    System.out.print("Podaj indeks liczby Fibonacciego: ");
    int index = input.nextInt();
    
    // Wyznaczanie i wyświetlanie liczby Fibonacciego
    System.out.println(
      "Liczba Fibonacciego o indeksie " + index + ": " + fib(index));
  }
  
  /** Metoda do wyznaczania liczb Fibonacciego */
  public static long fib(long n) {   
    long f0 = 0; // Dla fib(0)
    long f1 = 1; // Dla fib(1)
    long f2 = 1; // Dla fib(2)
    
    if (n == 0) 
      return f0;
    else if (n == 1) 
      return f1;
    else if (n == 2) 
      return f2;

    for (int i = 3; i <= n; i++) {
      f0 = f1;
      f1 = f2;
      f2 = f0 + f1;
    }
    
    return f2;
  }
}
