#include <iostream>
using namespace std;

auto l1 = [](int a){cout<<"int\n";};
auto l2 = [](float a){cout<<"float\n";};
	
	template<typename T1 = decltype(l1) , typename T2=decltype(l2) >
	class A : T1, T2
	{
	    public:
	    A(): T1(l1), T2(l2){};
	    using T1::operator();
	    using T2::operator();
		
	};

int main() {
	// your code goes here
	A<decltype(l1), decltype(l2)> a;
	a(0);
	a(0.0f);
	return 0;
}