#include <iostream>

#define u return 
using i=unsigned long long;using t=void*;

using namespace std;

int main() {
	// Fibonacci number to calculate
	i x = 93;
	
	i fibx = 
		[](i n)
		{
			u [](i n,i(*s)(i,t))
			{
				u s(n,(t)s);
			}(n,(i(*)(i,t))([](i n,t(s))
			{
				u (n<4)?n-n/2:[&,n=n&1,i=n/2,t=(i(*)(i,t))s]()
				{
					u [&,s=t(i+n,s),i=t(i+~-n,s)]()
					{
						u (n?i:2*s)*i+s*s;
					}();
				}();
			}));
		}
	
	(x);
	
	cout << fibx << endl;
	return 0;
}