#include <iostream>
using namespace std; // consider removing this line in serious projects

class T {
public:
    template<typename Func>
    double execute(Func expression) {
        return expression();
    }
};

int main() {
	T t;
    int a = 0, b = 1;
	double result = t.execute([&a,&b]() -> double {return 3 * a + 5 * b;});
	cout << result << endl;

	return 0;
}