#include <iostream>
#include <functional>

int main() {
	std::function<int(int)> fac = [&fac](int x){ return x > 0 ? x * fac(x-1) : 1; };
	std::cout << fac(5) << std::endl;
	return 0;
}