#include <iostream>
#include <functional>
using namespace std;

std::function<int(int)> f;

int main() {
	// your code goes here
	
	f = [](int a) { if (a==0) return 1; else return a*f(a-1); };
	
	int a = f(3);
	
	std::cout << "a: " << a << std::endl;
	return 0;
}