#include <stdio.h>
#include <math.h>


unsigned long long fibonacci(int n) {
    double phi = (1 + sqrt(5)) / 2; 
    double psi = (1 - sqrt(5)) / 2; 

    // Fórmula de Binet
    return (unsigned long long)((pow(phi, n) - pow(psi, n)) / sqrt(5) + 0.5);
}

int main() {
    int n;

    printf("Digite um número inteiro não negativo (n): ");
    scanf("%d", &n);

    if (n < 0) {
        printf("A sequência de Fibonacci não é definida para números negativos.\n");
    } else {
        printf("O %dº número de Fibonacci é: %llu\n", n, fibonacci(n));
    }

    return 0;
}
