#include <iostream>
#include <functional>
int thirds(int a)
{
return a + 1;
}
template <typename T, typename B , typename L>
//------------------------------------------------VVVVV-
int hello(T x, B y, L func)
{
int first = x + 1;
int second = y + 1;
int third = func(6);
return first + second + third;
}
int add()
{
std::function<int(int)> myfunc = thirds;
return hello(1, 1, myfunc);
}
int main()
{
std::cout << add();
return 0;
}