#include <iostream>
constexpr auto PI = 3.1415926;
template <typename F, typename ... Args>
inline void execute(F e, Args&& ... args)
{
auto f = e(std::forward<Args>(args)...);
std::cout << "EXECUTE: " << f << "\n";
}
#define SQUARE(X) ((X) * (X))
float add(float a, float b)
{
return a + b;
}
int main()
{
std::cout << "PI: " << PI << "\n";
execute(add, 7, 42);
std::cout << "SQUARE(7): " << SQUARE(7) << "\n";
}