#include <iostream>
#include <chrono>
using namespace std;
uint64_t fib(const uint64_t n)
{
return n < 2 ? 1 : fib(n-1)*fib(n-2);
}
int main()
{
uint64_t input;
cin >> input;
const auto start=chrono::high_resolution_clock::now();
const auto res=fib(input);
const double time=chrono::duration_cast<chrono::microseconds>(chrono::high_resolution_clock::now()-start).count();
cout << "fib("<<input<<") = "<<res<<" computed in " << time/1000.0 << "ms.";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2hyb25vPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdWludDY0X3QgZmliKGNvbnN0IHVpbnQ2NF90IG4pCnsKCXJldHVybiBuIDwgMiA/IDEgOiBmaWIobi0xKSpmaWIobi0yKTsKfQoKaW50IG1haW4oKSAKewoJdWludDY0X3QgaW5wdXQ7CgkKCWNpbiA+PiBpbnB1dDsKCQoJY29uc3QgYXV0byBzdGFydD1jaHJvbm86OmhpZ2hfcmVzb2x1dGlvbl9jbG9jazo6bm93KCk7CgkKCWNvbnN0IGF1dG8gcmVzPWZpYihpbnB1dCk7CgkKCWNvbnN0IGRvdWJsZSB0aW1lPWNocm9ubzo6ZHVyYXRpb25fY2FzdDxjaHJvbm86Om1pY3Jvc2Vjb25kcz4oY2hyb25vOjpoaWdoX3Jlc29sdXRpb25fY2xvY2s6Om5vdygpLXN0YXJ0KS5jb3VudCgpOwoJCgljb3V0IDw8ICJmaWIoIjw8aW5wdXQ8PCIpID0gIjw8cmVzPDwiIGNvbXB1dGVkIGluICIgPDwgdGltZS8xMDAwLjAgPDwgIm1zLiI7CgkKCXJldHVybiAwOwp9